/**
  * Cut and copy a set of chapters/pages into the clipboard
  */
 function clipboardCut($a_slm_obj_id, $a_ids)
 {
     $tree = ilSCORM2004Node::getTree($a_slm_obj_id);
     if (!is_array($a_ids)) {
         return false;
     } else {
         // get all "top" ids, i.e. remove ids, that have a selected parent
         foreach ($a_ids as $id) {
             $path = $tree->getPathId($id);
             $take = true;
             foreach ($path as $path_id) {
                 if ($path_id != $id && in_array($path_id, $a_ids)) {
                     $take = false;
                 }
             }
             if ($take) {
                 $cut_ids[] = $id;
             }
         }
     }
     ilSCORM2004Node::clipboardCopy($a_slm_obj_id, $cut_ids);
     // remove the objects from the tree
     // note: we are getting chapters, scos and pages which are *not* in the tree
     // we do not delete any pages/chapters here
     foreach ($cut_ids as $id) {
         $curnode = $tree->getNodeData($id);
         if ($tree->isInTree($id)) {
             $tree->deleteTree($curnode);
         }
     }
 }
 /**
  * Copy items to clipboard
  */
 function copyItems($a_return = "showOrganization")
 {
     global $ilCtrl, $lng;
     include_once "./Modules/Scorm2004/classes/class.ilSCORM2004Node.php";
     $items = ilUtil::stripSlashesArray($_POST["id"]);
     $todel = array();
     // delete IDs < 0 (needed for non-js editing)
     foreach ($items as $k => $item) {
         if ($item < 0) {
             $todel[] = $k;
         }
     }
     foreach ($todel as $k) {
         unset($items[$k]);
     }
     if (!ilSCORM2004Node::uniqueTypesCheck($items)) {
         ilUtil::sendFailure($lng->txt("sahs_choose_pages_chap_scos_ass_only"), true);
         $ilCtrl->redirect($this, $a_return);
     }
     ilSCORM2004Node::clipboardCopy($this->object->getId(), $items);
     // @todo: move this to a service since it can be used here, too
     include_once "./Modules/LearningModule/classes/class.ilEditClipboard.php";
     ilEditClipboard::setAction("copy");
     ilUtil::sendInfo($lng->txt("cont_selected_items_have_been_copied"), true);
     $ilCtrl->redirect($this, $a_return);
 }