/** * Insert Chapter from clipboard */ function insertChapterClip($a_slm_obj, $a_as_sub = false) { global $ilUser, $ilCtrl, $ilLog; // @todo: move this to a service since it can be used here, too include_once "./Modules/LearningModule/classes/class.ilEditClipboard.php"; include_once "./Modules/Scorm2004/classes/class.ilSCORM2004OrganizationHFormGUI.php"; $node_id = ilSCORM2004OrganizationHFormGUI::getPostNodeId(); $first_child = ilSCORM2004OrganizationHFormGUI::getPostFirstChild(); $tree = ilSCORM2004Node::getTree($a_slm_obj->getId()); if ($a_as_sub) { if (!$first_child) { $parent_id = $node_id; $target = ""; } else { return; } } else { if (!$first_child) { $parent_id = $tree->getParentId($node_id); $target = $node_id; } else { $parent_id = $node_id; $target = IL_FIRST_NODE; // do not move a chapter in front of a sco (maybe never needed) $childs = $tree->getChildsByType($parent_id, "sco"); if (count($childs) != 0) { $target = $childs[count($childs) - 1]["obj_id"]; } } } // copy and paste $chapters = $ilUser->getClipboardObjects("chap", true); $copied_nodes = array(); foreach ($chapters as $chap) { $cid = ilSCORM2004Node::pasteTree($a_slm_obj, $chap["id"], $parent_id, $target, $chap["insert_time"], $copied_nodes, ilEditClipboard::getAction() == "copy"); $target = $cid; } //ilLMObject::updateInternalLinks($copied_nodes); if (ilEditClipboard::getAction() == "cut") { $ilUser->clipboardDeleteObjectsOfType("page"); $ilUser->clipboardDeleteObjectsOfType("chap"); $ilUser->clipboardDeleteObjectsOfType("sco"); $ilUser->clipboardDeleteObjectsOfType("ass"); ilEditClipboard::clear(); } }
/** * Insert pages from clipboard */ function insertPageClip() { global $ilCtrl, $ilUser; include_once "./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php"; $node_id = ilChapterHierarchyFormGUI::getPostNodeId(); $first_child = ilChapterHierarchyFormGUI::getPostFirstChild(); if (!$first_child) { $parent_id = $this->tree->getParentId($node_id); $target = $node_id; } else { $parent_id = $node_id; $target = IL_FIRST_NODE; } // cut and paste $pages = $ilUser->getClipboardObjects("pg"); $copied_nodes = array(); foreach ($pages as $pg) { $cid = ilLMObject::pasteTree($this->content_object, $pg["id"], $parent_id, $target, $pg["insert_time"], $copied_nodes, ilEditClipboard::getAction() == "copy"); $target = $cid; } ilLMObject::updateInternalLinks($copied_nodes); if (ilEditClipboard::getAction() == "cut") { $ilUser->clipboardDeleteObjectsOfType("pg"); $ilUser->clipboardDeleteObjectsOfType("st"); ilEditClipboard::clear(); } $ilCtrl->redirect($this, "view"); }
/** * Insert Chapter from clipboard */ function insertChapterClip() { global $ilUser, $ilCtrl, $ilLog; include_once "./Modules/LearningModule/classes/class.ilChapterHierarchyFormGUI.php"; $node_id = ilChapterHierarchyFormGUI::getPostNodeId(); $first_child = ilChapterHierarchyFormGUI::getPostFirstChild(); $ilLog->write("InsertChapterClip, num: {$num}, node_id: {$node_id}, " . " getPostFirstChild " . ilChapterHierarchyFormGUI::getPostFirstChild()); if (!$first_child) { $parent_id = $this->lm_tree->getParentId($node_id); $target = $node_id; } else { $parent_id = $node_id; $target = IL_FIRST_NODE; } // copy and paste $chapters = $ilUser->getClipboardObjects("st", true); $copied_nodes = array(); foreach ($chapters as $chap) { $ilLog->write("Call pasteTree, Target LM: " . $this->object->getId() . ", Chapter ID: " . $chap["id"] . ", Parent ID: " . $parent_id . ", Target: " . $target); $cid = ilLMObject::pasteTree($this->object, $chap["id"], $parent_id, $target, $chap["insert_time"], $copied_nodes, ilEditClipboard::getAction() == "copy"); $target = $cid; } ilLMObject::updateInternalLinks($copied_nodes); if (ilEditClipboard::getAction() == "cut") { $ilUser->clipboardDeleteObjectsOfType("pg"); $ilUser->clipboardDeleteObjectsOfType("st"); ilEditClipboard::clear(); } $this->object->checkTree(); $ilCtrl->redirect($this, "chapters"); }
/** * Remove all skill items from clipboard * * @param * @return */ static function clearClipboard() { global $ilUser; $ilUser->clipboardDeleteObjectsOfType("skll"); $ilUser->clipboardDeleteObjectsOfType("scat"); $ilUser->clipboardDeleteObjectsOfType("sktr"); $ilUser->clipboardDeleteObjectsOfType("sktp"); $ilUser->clipboardDeleteObjectsOfType("sctp"); include_once "./Modules/LearningModule/classes/class.ilEditClipboard.php"; ilEditClipboard::clear(); }