Example #1
0
 /**
  * goto target course
  */
 public static function _goto($a_target, $a_add = "")
 {
     global $ilAccess, $ilErr, $lng, $ilUser;
     include_once './Services/Membership/classes/class.ilMembershipRegistrationCodeUtils.php';
     if (substr($a_add, 0, 5) == 'rcode') {
         if ($ilUser->getId() == ANONYMOUS_USER_ID) {
             // Redirect to login for anonymous
             ilUtil::redirect("login.php?target=" . $_GET["target"] . "&cmd=force_login&lang=" . $ilUser->getCurrentLanguage());
         }
         // Redirects to target location after assigning user to course
         ilMembershipRegistrationCodeUtils::handleCode($a_target, ilObject::_lookupType(ilObject::_lookupObjId($a_target)), substr($a_add, 5));
     }
     if ($a_add == "mem" && $ilAccess->checkAccess("write", "", $a_target)) {
         ilObjectGUI::_gotoRepositoryNode($a_target, "members");
     }
     if ($ilAccess->checkAccess("read", "", $a_target)) {
         ilObjectGUI::_gotoRepositoryNode($a_target);
     } else {
         // to do: force flat view
         if ($ilAccess->checkAccess("visible", "", $a_target)) {
             ilObjectGUI::_gotoRepositoryNode($a_target, "infoScreenGoto");
         } else {
             if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID)) {
                 ilUtil::sendFailure(sprintf($lng->txt("msg_no_perm_read_item"), ilObject::_lookupTitle(ilObject::_lookupObjId($a_target))), true);
                 ilObjectGUI::_gotoRepositoryRoot();
             }
         }
     }
     $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL);
 }