/**
  * 
  *
  * @param
  * @return
  */
 function checkAccessMobUsage($usage, $oid)
 {
     /**
      * @var $ilObjDataCache ilObjectDataCache
      */
     global $ilObjDataCache;
     switch ($usage['type']) {
         case 'lm:pg':
             if ($oid > 0) {
                 if ($this->checkAccessLM($oid, 'lm', $usage['id'])) {
                     return true;
                 }
             }
             break;
         case 'news':
             // media objects in news (media casts)
             include_once "./Modules/MediaCast/classes/class.ilObjMediaCastAccess.php";
             include_once "./Services/News/classes/class.ilNewsItem.php";
             if ($this->checkAccessObject($oid, 'mcst')) {
                 return true;
             } elseif (ilObjMediaCastAccess::_lookupPublicFiles($oid) && ilNewsItem::_lookupVisibility($usage["id"]) == NEWS_PUBLIC) {
                 return true;
             }
             break;
         case 'dcl:html':
             include_once "./Modules/DataCollection/classes/class.ilObjDataCollectionAccess.php";
             include_once "./Services/Object/classes/class.ilObject2.php";
             $ref_ids = ilObject2::_getAllReferences($oid);
             foreach ($ref_ids as $ref_id) {
                 if (ilObjDataCollectionAccess::_checkAccess("view", "read", $ref_id, $oid)) {
                     return true;
                 }
             }
             break;
         case 'frm~:html':
             // $oid = userid
             foreach ($this->check_users as $user_id) {
                 if ($ilObjDataCache->lookupType($oid) == 'usr' && $oid == $user_id) {
                     return true;
                 }
             }
             break;
         case 'qpl:pg':
         case 'qpl:html':
             // test questions
             if ($this->checkAccessTestQuestion($oid, $usage['id'])) {
                 return true;
             }
             break;
         case 'gdf:pg':
             // special check for glossary terms
             if ($this->checkAccessGlossaryTerm($oid, $usage['id'])) {
                 return true;
             }
             break;
         case 'sahs:pg':
             // check for scorm pages
             if ($this->checkAccessObject($oid, 'sahs')) {
                 return true;
             }
             break;
         case 'prtf:pg':
             // special check for portfolio pages
             if ($this->checkAccessPortfolioPage($oid, $usage['id'])) {
                 return true;
             }
             break;
         case 'blp:pg':
             // special check for blog pages
             if ($this->checkAccessBlogPage($oid, $usage['id'])) {
                 return true;
             }
             break;
         default:
             // standard object check
             if ($this->checkAccessObject($oid)) {
                 return true;
             }
             break;
     }
     return false;
 }
 /**
  * 
  *
  * @param
  * @return
  */
 function checkAccessMobUsage($usage, $oid)
 {
     /**
      * @var $ilObjDataCache ilObjectDataCache
      */
     global $ilObjDataCache;
     switch ($usage['type']) {
         case 'lm:pg':
             if ($this->checkAccessObject($oid, 'lm')) {
                 return true;
             }
             /* as $usage['id'] (== page) is not processed anymore, we can use standard
             			if ($oid > 0)
             			{
             				if ($this->checkAccessLM($oid, 'lm', $usage['id']))
             				{
             					return true;
             				}
             			}				 
             			*/
             break;
         case 'news':
             // media objects in news (media casts)
             include_once "./Modules/MediaCast/classes/class.ilObjMediaCastAccess.php";
             include_once "./Services/News/classes/class.ilNewsItem.php";
             if ($this->checkAccessObject($oid, 'mcst')) {
                 return true;
             } elseif (ilObjMediaCastAccess::_lookupPublicFiles($oid) && ilNewsItem::_lookupVisibility($usage["id"]) == NEWS_PUBLIC) {
                 return true;
             }
             break;
             /* see default
                         case 'dcl:html':
                             include_once("./Modules/DataCollection/classes/class.ilObjDataCollectionAccess.php");
                             include_once("./Services/Object/classes/class.ilObject2.php");
                             $ref_ids = ilObject2::_getAllReferences($oid);
                             foreach($ref_ids as $ref_id)
                                 if(ilObjDataCollectionAccess::_checkAccess("view", "read", $ref_id, $oid))
                                     return true;
                             break;
             			*/
         /* see default
                     case 'dcl:html':
                         include_once("./Modules/DataCollection/classes/class.ilObjDataCollectionAccess.php");
                         include_once("./Services/Object/classes/class.ilObject2.php");
                         $ref_ids = ilObject2::_getAllReferences($oid);
                         foreach($ref_ids as $ref_id)
                             if(ilObjDataCollectionAccess::_checkAccess("view", "read", $ref_id, $oid))
                                 return true;
                         break;
         			*/
         case 'frm~:html':
         case 'exca~:html':
             // $oid = userid
             foreach ($this->check_users as $user_id) {
                 if ($ilObjDataCache->lookupType($oid) == 'usr' && $oid == $user_id) {
                     return true;
                 }
             }
             break;
         case 'qpl:pg':
         case 'qpl:html':
             // test questions
             if ($this->checkAccessTestQuestion($oid, $usage['id'])) {
                 return true;
             }
             break;
         case 'gdf:pg':
             // special check for glossary terms
             if ($this->checkAccessGlossaryTerm($oid, $usage['id'])) {
                 return true;
             }
             break;
         case 'sahs:pg':
             // check for scorm pages
             if ($this->checkAccessObject($oid, 'sahs')) {
                 return true;
             }
             break;
         case 'prtf:pg':
             // special check for portfolio pages
             if ($this->checkAccessPortfolioPage($oid, $usage['id'])) {
                 return true;
             }
             break;
         case 'blp:pg':
             // special check for blog pages
             if ($this->checkAccessBlogPage($oid, $usage['id'])) {
                 return true;
             }
             break;
         case 'lobj:pg':
             // special check for learning objective pages
             if ($this->checkAccessLearningObjectivePage($oid, $usage['id'])) {
                 return true;
             }
             break;
         case 'impr:pg':
             include_once 'Services/Imprint/classes/class.ilImprint.php';
             return ilImprint::isActive() || $this->checkAccessObject(SYSTEM_FOLDER_ID, 'adm');
         case 'cstr:pg':
         default:
             // standard object check
             if ($this->checkAccessObject($oid)) {
                 return true;
             }
             break;
     }
     return false;
 }