function listElements($topic_id)
 {
     global $my, $JLMS_DB;
     $JLMS_ACL =& JLMSFactory::getACL();
     $is_teacher = $JLMS_ACL->isTeacher();
     //create list of elements already linked to topic
     if (@count($this->links[$topic_id])) {
         foreach ($this->links[$topic_id] as $topic_link) {
             $linked_elements[$topic_link->item_type][] = $topic_link->item_id;
         }
     } else {
         $linked_elements = array();
     }
     foreach ($this->elements as $k => $v) {
         if ($k == 7) {
             foreach ($v as $n => $m) {
                 if ($m->lp_type == 2) {
                     $lib_link_is_found = false;
                     if (isset($m->item_id) && $m->item_id) {
                         $learn_path_id = $m->item_id;
                         $query = "SELECT scorm_package FROM #__lms_n_scorm WHERE id = '" . $learn_path_id . "'";
                         $JLMS_DB->SetQuery($query);
                         $scorm_package = $JLMS_DB->LoadResult();
                         if ($scorm_package) {
                             $query = "SELECT id FROM #__lms_n_scorm WHERE scorm_package = '" . $scorm_package . "' AND course_id = 0";
                             $JLMS_DB->SetQuery($query);
                             $scorm_lib_id = $JLMS_DB->LoadResult();
                             if ($scorm_lib_id) {
                                 $query = "SELECT outdoc_share, owner_id, allow_link FROM #__lms_outer_documents WHERE file_id = '" . $scorm_lib_id . "' AND folder_flag = 3";
                                 $JLMS_DB->SetQuery($query);
                                 $outer_doc = $JLMS_DB->LoadObject();
                                 if (is_object($outer_doc)) {
                                     $lib_link_is_found = true;
                                     if (isset($outer_doc->allow_link) && $outer_doc->allow_link == 1) {
                                         // 01May2009: new library policy: if 'allow_link' is enabled - we can view already added resource !
                                     } else {
                                         unset($m);
                                     }
                                 }
                             }
                         }
                     }
                     if (!$lib_link_is_found) {
                         unset($m);
                     }
                 }
             }
         }
     }
     //call output method
     JLMS_topic_html::showElementsList($this->course_id, $topic_id, $this->elements, $linked_elements);
 }