function initItem($a_ref_id, $a_obj_id, $a_title = "", $a_description = "")
 {
     global $ilUser;
     parent::initItem($a_ref_id, $a_obj_id, $a_title, $a_description);
     include_once "./Modules/LearningModule/classes/class.ilObjLearningModuleAccess.php";
     $this->last_accessed_page = ilObjLearningModuleAccess::_getLastAccessedPage($a_ref_id, $ilUser->getId());
 }
 /**
  * Get item properties
  *
  * @return	array		array of property arrays:
  *						"alert" (boolean) => display as an alert property (usually in red)
  *						"property" (string) => property name
  *						"value" (string) => property value
  */
 function getProperties()
 {
     global $lng, $rbacsystem;
     $props = array();
     include_once "./Modules/LearningModule/classes/class.ilObjLearningModuleAccess.php";
     if (ilObjLearningModuleAccess::_isOffline($this->obj_id)) {
         $props[] = array("alert" => true, "property" => $lng->txt("status"), "value" => $lng->txt("offline"));
     }
     if ($rbacsystem->checkAccess('write', $this->ref_id)) {
         $props[] = array("alert" => false, "property" => $lng->txt("type"), "value" => $lng->txt("lm"));
     }
     if (IS_PAYMENT_ENABLED) {
         include_once "Services/Payment/classes/class.ilPaymentObject.php";
         if (ilPaymentObject::_isBuyable($this->ref_id)) {
             if (ilPaymentObject::_hasAccess($this->ref_id)) {
                 $props[] = array("alert" => false, "property" => $lng->txt("payment_system"), "value" => $lng->txt("payment_payed_access"));
             } else {
                 if (ilPaymentObject::_isInCart($this->ref_id)) {
                     $props[] = array("alert" => true, "property" => $lng->txt("payment_system"), "value" => $lng->txt("payment_in_sc"));
                 } else {
                     $props[] = array("alert" => true, "property" => $lng->txt("payment_system"), "value" => $lng->txt("payment_buyable"));
                 }
             }
         }
     }
     return $props;
 }