/**
  * checks wether a user may invoke a command or not
  * (this method is called by ilAccessHandler::checkAccess)
  *
  * @param	string		$a_cmd		command (not permission!)
  * @param	string		$a_permission	permission
  * @param	int			$a_ref_id	reference id
  * @param	int			$a_obj_id	object id
  * @param	int			$a_user_id	user id (if not provided, current user is taken)
  *
  * @return	boolean		true, if everything is ok
  */
 public function _checkAccess($a_cmd, $a_permission, $a_ref_id, $a_obj_id, $a_user_id = "")
 {
     global $ilUser, $lng, $rbacsystem, $ilAccess, $ilias;
     if ($a_user_id == "") {
         $a_user_id = $ilUser->getId();
     }
     switch ($a_permission) {
         case "visible":
             include_once './Modules/RemoteTest/classes/class.ilObjRemoteTest.php';
             $active = ilObjRemoteTest::_lookupOnline($a_obj_id);
             $tutor = $rbacsystem->checkAccessOfUser($a_user_id, 'write', $a_ref_id);
             if (!$active) {
                 $ilAccess->addInfoItem(IL_NO_OBJECT_ACCESS, $lng->txt("offline"));
             }
             if (!$tutor and !$active) {
                 return false;
             }
             break;
         case 'read':
             $tutor = $rbacsystem->checkAccessOfUser($a_user_id, 'write', $a_ref_id);
             if ($tutor) {
                 return true;
             }
             include_once 'Modules/RemoteTest/classes/class.ilObjRemoteTest.php';
             $active = ilObjRemoteTest::_lookupOnline($a_obj_id);
             if (!$active) {
                 $ilAccess->addInfoItem(IL_NO_OBJECT_ACCESS, $lng->txt("offline"));
                 return false;
             }
             break;
     }
     return true;
 }
 /**
  * get properties (offline)
  *
  * @access public
  * @param
  * 
  */
 public function getProperties()
 {
     global $lng;
     include_once 'Modules/RemoteTest/classes/class.ilObjRemoteTest.php';
     if ($org = ilObjRemoteTest::_lookupOrganization($this->obj_id)) {
         $this->addCustomProperty($lng->txt('organization'), $org, false, true);
     }
     if (!ilObjRemoteTest::_lookupOnline($this->obj_id)) {
         $this->addCustomProperty($lng->txt("status"), $lng->txt("offline"), true, true);
     }
     return array();
 }