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);
 }
Example #2
0
function showFolderWithContent(&$k, $folder, $i, $topic_id, $checked, $span, $in_folder = null)
{
    global $JLMS_DB, $max_lvl;
    $manage = $in_folder ? 0 : 1;
    JLMS_topic_html::showDocumentRow($k, $folder, $i, $topic_id, $checked, $manage, $in_folder, $span);
    $query = "SELECT a.*, b.file_name FROM #__lms_documents as a LEFT JOIN #__lms_files as b ON a.file_id = b.id AND a.folder_flag = 0 WHERE a.parent_id={$folder->id} ORDER BY ordering";
    $JLMS_DB->setQuery($query);
    $rows = $JLMS_DB->loadObjectList();
    $new_rows = array();
    for ($j = 0; $j < count($rows); $j++) {
        if ($rows[$j]->folder_flag == 3) {
            $query = "SELECT a.*, b.file_name FROM #__lms_outer_documents as a LEFT JOIN #__lms_files as b ON a.file_id = b.id AND a.folder_flag = 0 " . "\n WHERE a.folder_flag = 0 AND a.id = " . $rows[$j]->file_id . " AND a.allow_link = 1";
            $JLMS_DB->SetQuery($query);
            $out_row = $JLMS_DB->LoadObjectList();
            if (count($out_row)) {
                $rows[$j]->doc_name = $out_row[0]->doc_name;
                $rows[$j]->file_name = $out_row[0]->file_name;
                $rows[$j]->doc_description = $out_row[0]->doc_description;
                $rows[$j]->file_id = $out_row[0]->file_id;
                $new_rows[] = $rows[$j];
            } else {
                $rows[$j]->doc_name = _JLMS_LP_RESOURSE_ISUNAV;
            }
        } else {
            $new_rows[] = $rows[$j];
        }
    }
    unset($rows);
    $rows = $new_rows;
    $rows = AppendFileIcons_toList($rows);
    if (@$in_folder[$max_lvl - $span - 1] == 2) {
        $in_folder[$max_lvl - $span - 1] = 0;
    }
    $in_folder[$max_lvl - $span] = 1;
    for ($j = 0; $j < count($rows) - 1; $j++) {
        $rows[$j]->allow_up = 0;
        $rows[$j]->allow_down = 0;
        if ($rows[$j]->folder_flag == 1) {
            showFolderWithContent($k, $rows[$j], $i, $topic_id, '&nbsp;', $span - 1, $in_folder);
        } else {
            JLMS_topic_html::showDocumentRow($k, $rows[$j], $i, '', '&nbsp;', 0, $in_folder, $span - 1);
        }
    }
    $in_folder[$max_lvl - $span] = 2;
    if (isset($rows[$j])) {
        $rows[$j]->allow_up = 0;
        $rows[$j]->allow_down = 0;
        if ($rows[$j]->folder_flag == 1) {
            showFolderWithContent($k, $rows[$j], $i, $topic_id, '&nbsp;', $span - 1, $in_folder);
        } else {
            JLMS_topic_html::showDocumentRow($k, $rows[$j], $i, '', '&nbsp;', 0, $in_folder, $span - 1);
        }
    }
}
    function showElementsList($course_id, $topic_id, $elements, $linked_elements)
    {
        global $Itemid, $option, $max_lvl, $JLMS_CONFIG;
        $max_lvl = 1;
        //work out chapters... TODO
        //work out documents
        JLMS_TMPL::OpenMT();
        $hparams = array();
        $toolbar = array();
        $title = '';
        $title = _JLMS_TOPIC_T_LINK_ELEMENT;
        $toolbar[] = array('btn_type' => 'save', 'btn_js' => "javascript:submitbutton('add_submit_topic_element');");
        $toolbar[] = array('btn_type' => 'cancel', 'btn_js' => "javascript:submitbutton('details_course');");
        JLMS_TMPL::ShowHeader('doc', $title, $hparams, $toolbar);
        JLMS_TMPL::OpenTS();
        ?>
		<form name="adminForm" method="post" action="<?php 
        echo $JLMS_CONFIG->get('live_site') . "/index.php?option=" . $option . "&amp;Itemid=" . $Itemid;
        ?>
">
		<table border="0" cellpadding="0" cellspacing="0" width="100%" class="<?php 
        echo JLMSCSS::_('jlmslist');
        ?>
">
		<?php 
        $k = 2;
        //documents section
        $element_group = $elements[_DOCUMENT_ID];
        $i = 0;
        $is_any_elements = 0;
        if (!empty($element_group)) {
            foreach ($element_group as $element) {
                if (@in_array($element->id, $linked_elements[_DOCUMENT_ID])) {
                    continue;
                }
                if ($i == 0) {
                    ?>
				<tr>
					<td colspan="7"><?php 
                    echo JLMSCSS::h2(_JLMS_TOPIC_E_DOCUMENTS);
                    ?>
</td>
				</tr>	
				<?php 
                }
                $tmp = _DOCUMENT_ID . '_' . $element->id;
                $checked = '<input type="checkbox" id="doc_cb' . $i . '" name="cid[]" value="' . $tmp . '" onclick="isChecked(this.checked);" />';
                JLMS_topic_html::showDocumentRow($k, $element, $i, 0, $checked, _ROW_RO, 0, 1, 0);
                $i++;
            }
        }
        $is_any_elements = $is_any_elements + $i;
        //links section
        $element_group = $elements[_LINK_ID];
        $i = 0;
        if (!empty($element_group)) {
            foreach ($element_group as $element) {
                if (@in_array($element->id, $linked_elements[_LINK_ID])) {
                    continue;
                }
                if ($i == 0) {
                    ?>
				<tr>
					<td colspan="7"><?php 
                    echo JLMSCSS::h2(_JLMS_TOPIC_E_LINKS);
                    ?>
</td>
				</tr>	
				<?php 
                }
                $tmp = _LINK_ID . '_' . $element->id;
                $checked = '<input type="checkbox" id="link_cb' . $i . '" name="cid[]" value="' . $tmp . '" onclick="isChecked(this.checked);" />';
                JLMS_topic_html::showLinkRow($k, $element, $i, 0, $checked, _ROW_RO);
                $i++;
            }
        }
        $is_any_elements = $is_any_elements + $i;
        //quizs section
        $element_group = $elements[_QUIZ_ID];
        $i = 0;
        if (!empty($element_group)) {
            foreach ($element_group as $element) {
                if (@in_array($element->id, $linked_elements[_QUIZ_ID])) {
                    continue;
                }
                if ($i == 0) {
                    ?>
				<tr>
					<td colspan="7"><?php 
                    echo JLMSCSS::h2(_JLMS_TOPIC_E_QUIZZES);
                    ?>
</td>
				</tr>	
				<?php 
                }
                $tmp = _QUIZ_ID . '_' . $element->id;
                $checked = '<input type="checkbox" id="quiz_cb' . $i . '" name="cid[]" value="' . $tmp . '" onclick="isChecked(this.checked);" />';
                JLMS_topic_html::showQuizRow($k, $element, $i, 0, $checked, _ROW_RO);
                $i++;
            }
        }
        $is_any_elements = $is_any_elements + $i;
        //Lpaths section
        $element_group = isset($elements[_LPATH_ID]) ? $elements[_LPATH_ID] : array();
        $i = 0;
        if (!empty($element_group)) {
            foreach ($element_group as $element) {
                if (@in_array($element->id, $linked_elements[_LPATH_ID])) {
                    continue;
                }
                if ($i == 0) {
                    ?>
				<tr>
					<td colspan="7"><?php 
                    echo JLMSCSS::h2(_JLMS_TOPIC_E_LPATHS);
                    ?>
</td>
				</tr>	
				<?php 
                }
                $tmp = _LPATH_ID . '_' . $element->id;
                $checked = '<input type="checkbox" id="lpath_cb' . $i . '" name="cid[]" value="' . $tmp . '" onclick="isChecked(this.checked);" />';
                JLMS_topic_html::showLPathRow($k, $element, $i, 0, $checked, _ROW_RO);
                $i++;
            }
        }
        $is_any_elements = $is_any_elements + $i;
        if (!$is_any_elements) {
            ?>
				<tr>
					<td colspan="7"><?php 
            echo '<div class="joomlalms_user_message">' . _JLMS_TOPICS_NO_ELEMENTS . '</div>';
            ?>
</td>
				</tr>	
		<?php 
        }
        ?>
		</table>
		<input type="hidden" name="option" value="<?php 
        echo $option;
        ?>
" />
		<input type="hidden" name="Itemid" value="<?php 
        echo $Itemid;
        ?>
" />
		<input type="hidden" name="task" value="add_submit_topic_element" />
		<input type="hidden" name="boxchecked" value="0" />
		<input type="hidden" name="topic_id" value="<?php 
        echo $topic_id;
        ?>
" />
		<input type="hidden" name="id" value="<?php 
        echo $course_id;
        ?>
" />
		<?php 
        $is_curtopic = intval(mosgetparam($_REQUEST, 't_id', 0));
        echo "<input type='hidden' name='t_id' value='" . $is_curtopic . "' />";
        ?>
		</form>
		<?php 
        JLMS_TMPL::CloseTS();
        JLMS_TMPL::CloseMT();
    }