/** * Final processing * * @param array mapping array */ function finalProcessing($a_mapping) { $wpg_map = $a_mapping->getMappingsOfEntity("Modules/Wiki", "wpg"); include_once "./Modules/Wiki/classes/class.ilWikiPage.php"; foreach ($wpg_map as $wpg_id) { $wiki_id = ilWikiPage::lookupWikiId($wpg_id); ilWikiPage::_writeParentId("wpg", $wpg_id, $wiki_id); } }
public static function _goto($a_target) { global $ilAccess, $ilErr, $lng, $ilNavigationHistory; $i = strpos($a_target, "_"); if ($i > 0) { $a_page = substr($a_target, $i + 1); $a_target = substr($a_target, 0, $i); } if ($a_target == "wpage") { $a_page_arr = explode("_", $a_page); $wpg_id = (int) $a_page_arr[0]; $ref_id = (int) $a_page_arr[1]; include_once "./Modules/Wiki/classes/class.ilWikiPage.php"; $w_id = ilWikiPage::lookupWikiId($wpg_id); if ($ref_id > 0) { $refs = array($ref_id); } else { $refs = ilObject::_getAllReferences($w_id); } foreach ($refs as $r) { if ($ilAccess->checkAccess("read", "", $r)) { $a_target = $r; $a_page = ilWikiPage::lookupTitle($wpg_id); } } } if ($ilAccess->checkAccess("read", "", $a_target)) { $_GET["cmd"] = "viewPage"; $_GET["ref_id"] = $a_target; $_GET["page"] = $a_page; $_GET["baseClass"] = "ilwikihandlergui"; $_GET["cmdClass"] = "ilobjwikigui"; /* if ($a_page != "") { $add = "&page=".rawurlencode($_GET["page"]); $ilNavigationHistory->addItem($_GET["ref_id"], "./goto.php?target=wiki_".$_GET["ref_id"].$add, "wiki"); }*/ include "ilias.php"; exit; } else { if ($ilAccess->checkAccess("visible", "", $a_target)) { ilObjectGUI::_gotoRepositoryNode($tarr[0], "infoScreen"); } else { if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID)) { ilUtil::sendFailure(sprintf($lng->txt("msg_no_perm_read_item"), ilObject::_lookupTitle(ilObject::_lookupObjId($tarr[0]))), true); ilObjectGUI::_gotoRepositoryRoot(); } } } $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL); }
/** * check whether goto script will succeed */ function _checkGoto($a_target) { global $ilAccess; // echo "-".$a_target."-"; exit; $t_arr = explode("_", $a_target); if ($t_arr[0] != "wiki" || (int) $t_arr[1] <= 0 && $t_arr[1] != "wpage") { return false; } if ($t_arr[1] == "wpage") { $wpg_id = (int) $t_arr[2]; include_once "./Modules/Wiki/classes/class.ilWikiPage.php"; $w_id = ilWikiPage::lookupWikiId($wpg_id); if ((int) $t_arr[3] > 0) { $refs = array((int) $t_arr[3]); } else { $refs = ilObject::_getAllReferences($w_id); } foreach ($refs as $r) { if ($ilAccess->checkAccess("read", "", $r)) { return true; } } } else { if ($ilAccess->checkAccess("read", "", $t_arr[1])) { return true; } } return false; }