/** * Save titles for lm objects * * @param array titles (key is ID, value is title) */ static function saveTitles($a_lm, $a_titles, $a_lang = "-") { include_once "./Modules/LearningModule/classes/class.ilLMObjTranslation.php"; if ($a_lang == "") { $a_lang = "-"; } if (is_array($a_titles)) { include_once "./Services/MetaData/classes/class.ilMD.php"; foreach ($a_titles as $id => $title) { if ($a_lang == "-") { $lmobj = ilLMObjectFactory::getInstance($a_lm, $id, false); if (is_object($lmobj)) { // Update Title and description $md = new ilMD($a_lm->getId(), $id, $lmobj->getType()); $md_gen = $md->getGeneral(); if (is_object($md_gen)) { $md_gen->setTitle($title); $md_gen->update(); $md->update(); } ilLMObject::_writeTitle($id, $title); } } else { $lmobjtrans = new ilLMObjTranslation($id, $a_lang); $lmobjtrans->setTitle($title); $lmobjtrans->save(); } } } }
function updateQuickEdit_scorm_propagate($request, $type) { $module_id = $this->md_obj->obj_id; if ($this->md_obj->obj_type == 'sco') { $module_id = $this->md_obj->rbac_id; } $tree = new ilTree($module_id); $tree->setTableNames('sahs_sc13_tree', 'sahs_sc13_tree_node'); $tree->setTreeTablePK("slm_id"); foreach ($tree->getSubTree($tree->getNodeData($tree->getRootId()), true, 'sco') as $sco) { $sco_md = new ilMD($module_id, $sco['obj_id'], 'sco'); if ($_POST[$request] != "") { $sco_md_section; if (!is_object($sco_md_section = $sco_md->getLifecycle())) { $sco_md_section = $sco_md->addLifecycle(); $sco_md_section->save(); } // determine all entered authors $auth_arr = explode(",", $_POST[$request]); for ($i = 0; $i < count($auth_arr); $i++) { $auth_arr[$i] = trim($auth_arr[$i]); } $md_con_author = ""; // update existing author entries (delete if not entered) foreach ($ids = $sco_md_section->getContributeIds() as $con_id) { $md_con = $sco_md_section->getContribute($con_id); if ($md_con->getRole() == $type) { foreach ($ent_ids = $md_con->getEntityIds() as $ent_id) { $md_ent = $md_con->getEntity($ent_id); // entered author already exists if (in_array($md_ent->getEntity(), $auth_arr)) { unset($auth_arr[array_search($md_ent->getEntity(), $auth_arr)]); } else { $md_ent->delete(); } } $md_con_author = $md_con; } } // insert enterd, but not existing authors if (count($auth_arr) > 0) { if (!is_object($md_con_author)) { $md_con_author = $sco_md_section->addContribute(); $md_con_author->setRole($type); $md_con_author->save(); } foreach ($auth_arr as $auth) { $md_ent = $md_con_author->addEntity(); $md_ent->setEntity(ilUtil::stripSlashes($auth)); $md_ent->save(); } } } else { if (is_object($sco_md_section = $sco_md->getLifecycle())) { foreach ($ids = $sco_md_section->getContributeIds() as $con_id) { $md_con = $sco_md_section->getContribute($con_id); if ($md_con->getRole() == $type) { $md_con->delete(); } } } } $sco_md->update(); } $this->updateQuickEdit_scorm(); }
/** * Save all titles of chapters/scos/pages */ function saveAllTitles($a_redirect = true) { global $ilCtrl; if (is_array($_POST["title"])) { include_once "./Services/MetaData/classes/class.ilMD.php"; include_once "./Modules/Scorm2004/classes/class.ilSCORM2004NodeFactory.php"; foreach ($_POST["title"] as $id => $title) { $node_obj = ilSCORM2004NodeFactory::getInstance($this->object, $id, false); if (is_object($node_obj)) { // Update Title and description $md = new ilMD($this->object->getId(), $id, $node_obj->getType()); $md_gen = $md->getGeneral(); $md_gen->setTitle(ilUtil::stripSlashes($title)); $md_gen->update(); $md->update(); ilSCORM2004Node::_writeTitle($id, ilUtil::stripSlashes($title)); } } } if ($a_redirect) { $ilCtrl->redirect($this, "showOrganization"); } }
/** * Save titles for lm objects * * @param array titles (key is ID, value is title) */ static function saveTitles($a_lm, $a_titles) { if (is_array($a_titles)) { include_once "./Services/MetaData/classes/class.ilMD.php"; foreach ($a_titles as $id => $title) { $lmobj = ilLMObjectFactory::getInstance($a_lm, $id, false); if (is_object($lmobj)) { // Update Title and description $md = new ilMD($a_lm->getId(), $id, $lmobj->getType()); $md_gen = $md->getGeneral(); $md_gen->setTitle($title); $md_gen->update(); $md->update(); ilLMObject::_writeTitle($id, $title); } } } }