/** * Save title and translations */ function saveTranslations() { // default language set? if (!isset($_POST["default"])) { ilUtil::sendFailure($this->lng->txt("msg_no_default_language")); return $this->editTranslations(true); } // all languages set? if (array_key_exists("", $_POST["lang"])) { ilUtil::sendFailure($this->lng->txt("msg_no_language_selected")); return $this->editTranslations(true); } // no single language is selected more than once? if (count(array_unique($_POST["lang"])) < count($_POST["lang"])) { ilUtil::sendFailure($this->lng->txt("msg_multi_language_selected")); return $this->editTranslations(true); } // save the stuff $this->ilObjectOrgUnit->removeTranslations(); foreach ($_POST["title"] as $k => $v) { // update object data if default $is_default = $_POST["default"] == $k; if ($is_default) { $this->ilObjectOrgUnit->setTitle(ilUtil::stripSlashes($v)); $this->ilObjectOrgUnit->setDescription(ilUtil::stripSlashes($_POST["desc"][$k])); $this->ilObjectOrgUnit->update(); } $this->ilObjectOrgUnit->addTranslation(ilUtil::stripSlashes($v), ilUtil::stripSlashes($_POST["desc"][$k]), ilUtil::stripSlashes($_POST["lang"][$k]), $is_default); } ilUtil::sendSuccess($this->lng->txt("msg_obj_modified"), true); $this->ctrl->redirect($this, "editTranslations"); }
/** * Check validity of form and pass values from form to object * * @return bool */ protected function fillObject() { $this->setValuesByPost(); if (!$this->checkInput()) { return false; } $this->obj_orgu->setOrgUnitTypeId($this->getInput('orgu_type')); $this->obj_orgu->setImportId($this->getInput('ext_id')); $this->obj_orgu->setTitle($this->getInput('title')); $this->obj_orgu->setDescription($this->getInput('description')); return true; }
public function simpleImportElement(SimpleXMLElement $o) { global $tree, $tpl, $ilUser; $title = $o->title; $description = $o->description; $external_id = $o->external_id; $create_mode = true; $attributes = $o->attributes(); $action = (string) $attributes->action; $ou_id = (string) $attributes->ou_id; $ou_id_type = (string) $attributes->ou_id_type; $ou_parent_id = (string) $attributes->ou_parent_id; $ou_parent_id_type = (string) $attributes->ou_parent_id_type; if ($ou_id == ilObjOrgUnit::getRootOrgRefId()) { $this->addWarning("cannot_change_root_node", $ou_id ? $ou_id : $external_id, $action); return; } if ($ou_parent_id == "__ILIAS") { $ou_parent_id = ilObjOrgUnit::getRootOrgRefId(); $ou_parent_id_type = "reference_id"; } $ref_id = $this->buildRef($ou_id, $ou_id_type); $parent_ref_id = $this->buildRef($ou_parent_id, $ou_parent_id_type); if ($action == "delete") { if (!$parent_ref_id) { $this->addError("ou_parent_id_not_valid", $ou_id ? $ou_id : $external_id, $action); return; } if (!$ref_id) { $this->addError("ou_id_not_valid", $ou_id ? $ou_id : $external_id, $action); return; } include_once "./Services/Repository/classes/class.ilRepUtil.php"; $ru = new ilRepUtil($this); try { $ru->deleteObjects($parent_ref_id, array($ref_id)) !== false; $this->stats["deleted"]++; } catch (Excpetion $e) { $this->addWarning("orgu_already_deleted", $ou_id ? $ou_id : $external_id, $action); } return; } elseif ($action == "update") { if (!$parent_ref_id) { $this->addError("ou_parent_id_not_valid", $ou_id ? $ou_id : $external_id, $action); return; } if (!$ref_id) { $this->addError("ou_id_not_valid", $ou_id ? $ou_id : $external_id, $action); return; } $object = new ilObjOrgUnit($ref_id); $object->setTitle($title); $arrTranslations = $object->getTranslations(); $object->updateTranslation($title, $description, $ilUser->getLanguage(), ""); $object->setDescription($description); $object->update(); $object->setImportId($external_id); if ($parent_ref_id != $tree->getParentId($ref_id)) { try { $tree->moveTree($ref_id, $parent_ref_id); } catch (Exception $e) { global $ilLog; $this->addWarning("not_movable", $ou_id ? $ou_id : $external_id, $action); $ilLog->write($e->getMessage() . "\\n" . $e->getTraceAsString()); } } $this->stats["updated"]++; } elseif ($action == "create") { if (!$parent_ref_id) { $this->addError("ou_parent_id_not_valid", $ou_id ? $ou_id : $external_id, $action); return; } if ($external_id) { $obj_id = ilObject::_lookupObjIdByImportId($external_id); if (ilObject::_hasUntrashedReference($obj_id)) { $this->addError("ou_external_id_exists", $ou_id ? $ou_id : $external_id, $action); return; } } $object = new ilObjOrgUnit(); $object->setTitle($title); $object->setDescription($description); $object->setImportId($external_id); $object->create(); $object->createReference(); $object->putInTree($parent_ref_id); $object->setPermissions($ou_parent_id); $this->stats["created"]++; } else { $this->addError("no_valid_action_given", $ou_id, $action); } }