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, ' ', $span - 1, $in_folder); } else { JLMS_topic_html::showDocumentRow($k, $rows[$j], $i, '', ' ', 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, ' ', $span - 1, $in_folder); } else { JLMS_topic_html::showDocumentRow($k, $rows[$j], $i, '', ' ', 0, $in_folder, $span - 1); } } }
function showTopicElements($course_id, $topic, $links, $elements, $span = 1) { global $option, $Itemid, $max_lvl, $JLMS_CONFIG; $usertype = $JLMS_CONFIG->get('current_usertype', 0); $date_format = $JLMS_CONFIG->get('date_format_fdow', 1); ob_start(); ?> <table border="0" cellpadding="0" cellspacing="0" width="100%" id="topic_<?php echo $topic->id; ?> _elements_table" class="<?php echo JLMSCSS::_('jlmslist'); ?> "> <tr> <<?php echo JLMSCSS::tableheadertag(); ?> class="<?php echo JLMSCSS::_('sectiontableheader'); ?> " style="width:1%;"><?php echo $usertype != 2 ? '#' : ' '; ?> </<?php echo JLMSCSS::tableheadertag(); ?> > <?php if ($usertype != 2) { ?> <<?php echo JLMSCSS::tableheadertag(); ?> class="<?php echo JLMSCSS::_('sectiontableheader'); ?> " style="width:1%;"><input type="checkbox" onclick="checkAll_mod(<?php echo count($links[$topic->id]); ?> , 'cb<?php echo $topic->id . '_'; ?> ', 'topicForm_<?php echo $topic->id; ?> ');" value="" name="toggle"/></<?php echo JLMSCSS::tableheadertag(); ?> ><?php } ?> <<?php echo JLMSCSS::tableheadertag(); ?> class="<?php echo JLMSCSS::_('sectiontableheader'); ?> " style="width:95%;" colspan="<?php echo $span + 1; ?> "><?php echo _JLMS_TOPIC_E_NAME; ?> </<?php echo JLMSCSS::tableheadertag(); ?> > <?php if ($usertype != 2) { ?> <<?php echo JLMSCSS::tableheadertag(); ?> class="<?php echo JLMSCSS::_('sectiontableheader'); ?> " colspan="3" align="center" style="width:1%;"><?php echo _JLMS_TOPIC_E_CONTROLS; ?> </<?php echo JLMSCSS::tableheadertag(); ?> ><?php } ?> <<?php echo JLMSCSS::tableheadertag(); ?> class="<?php echo JLMSCSS::_('sectiontableheader'); ?> " colspan="<?php echo $usertype != 2 ? 2 : 3; ?> " align="center" style="width:1%;"><?php echo _JLMS_TOPIC_E_DETAILS; ?> </<?php echo JLMSCSS::tableheadertag(); ?> > <<?php echo JLMSCSS::tableheadertag(); ?> class="<?php echo JLMSCSS::_('sectiontableheader'); ?> " style="width:1%;"><span style="display: block; width:150px;"><?php echo _JLMS_TOPIC_E_DESRIPTION; ?> </span></<?php echo JLMSCSS::tableheadertag(); ?> > </tr> <?php $i = 0; $vis_mode = 0; $k = 2; $displayed = 0; if ($count = count($links[$topic->id])) { //checks if there are elements in topic foreach ($links[$topic->id] as $link) { if (isset($link->item_type) && $link->item_type == _DOCUMENT_ID) { if (!isset($elements[_DOCUMENT_ID][$link->item_id])) { continue; } /* (23 July 2008) - added by DEN */ } // 01.12.2007 '$i' chenged to '$topic_id*1000+$i' by DEN - to avoid dublicate id's $iii = $topic->id . '_' . $i; $checked = '<input type="checkbox" id="cb' . $iii . '" name="cid[]" value="' . $link->id . '" onclick="isChecked_mod(this.checked, \'topicForm_' . $topic->id . '\');" />'; switch ($link->item_type) { case _DOCUMENT_ID: $elements[_DOCUMENT_ID][$link->item_id]->allow_up = $i > 0 ? 1 : 0; $elements[_DOCUMENT_ID][$link->item_id]->allow_down = $i < $count - 1 ? 1 : 0; $elements[_DOCUMENT_ID][$link->item_id]->show = $link->show; $elements[_DOCUMENT_ID][$link->item_id]->ordering = $link->ordering; $elements[_DOCUMENT_ID][$link->item_id]->link_id = $link->id; $publish_options = publishUtility($elements[_DOCUMENT_ID][$link->item_id]->published, $elements[_DOCUMENT_ID][$link->item_id]->show, $elements[_DOCUMENT_ID][$link->item_id]->publish_start, $elements[_DOCUMENT_ID][$link->item_id]->publish_end, $elements[_DOCUMENT_ID][$link->item_id]->start_date, $elements[_DOCUMENT_ID][$link->item_id]->end_date); if ($usertype == 2 && $publish_options->show * $publish_options->state == 0) { continue; } if (!$elements[_DOCUMENT_ID][$link->item_id]->folder_flag || $elements[_DOCUMENT_ID][$link->item_id]->folder_flag == 3 || $elements[_DOCUMENT_ID][$link->item_id]->folder_flag == 2) { JLMS_topic_html::showDocumentRow($k, $elements[_DOCUMENT_ID][$link->item_id], $i, $topic->id, $checked, 1, 0, $span); } else { showFolderWithContent($k, $elements[_DOCUMENT_ID][$link->item_id], $i, $topic->id, $checked, $span); } $displayed++; break; case _LINK_ID: $elements[_LINK_ID][$link->item_id]->allow_up = $i > 0 ? 1 : 0; $elements[_LINK_ID][$link->item_id]->allow_down = $i < $count - 1 ? 1 : 0; $elements[_LINK_ID][$link->item_id]->show = $link->show; $elements[_LINK_ID][$link->item_id]->ordering = $link->ordering; $elements[_LINK_ID][$link->item_id]->link_id = $link->id; if ($usertype == 2 && $elements[_LINK_ID][$link->item_id]->show * $elements[_LINK_ID][$link->item_id]->published == 0) { continue; } JLMS_topic_html::showLinkRow($k, $elements[_LINK_ID][$link->item_id], $i, $topic->id, $checked, 1, $span); $displayed++; break; case _QUIZ_ID: $elements[_QUIZ_ID][$link->item_id]->allow_up = $i > 0 ? 1 : 0; $elements[_QUIZ_ID][$link->item_id]->allow_down = $i < $count - 1 ? 1 : 0; $elements[_QUIZ_ID][$link->item_id]->show = $link->show; $elements[_QUIZ_ID][$link->item_id]->ordering = $link->ordering; $elements[_QUIZ_ID][$link->item_id]->link_id = $link->id; if ($usertype == 2 && $elements[_QUIZ_ID][$link->item_id]->show * $elements[_QUIZ_ID][$link->item_id]->published == 0) { continue; } JLMS_topic_html::showQuizRow($k, $elements[_QUIZ_ID][$link->item_id], $i, $topic->id, $checked, 1, $span); $displayed++; break; case _LPATH_ID: $elements[_LPATH_ID][$link->item_id]->allow_up = $i > 0 ? 1 : 0; $elements[_LPATH_ID][$link->item_id]->allow_down = $i < $count - 1 ? 1 : 0; $elements[_LPATH_ID][$link->item_id]->show = $link->show; $elements[_LPATH_ID][$link->item_id]->ordering = $link->ordering; $elements[_LPATH_ID][$link->item_id]->link_id = $link->id; if (isset($link->lpath_name)) { $elements[_LPATH_ID][$link->item_id]->lpath_name = $link->lpath_name; } if (isset($link->is_link)) { $elements[_LPATH_ID][$link->item_id]->is_link = $link->is_link; } // 01.12.2007 - (DEN) - esli v topike ni odin element ne 'shown' - vyletaet notice if (!isset($elements[_LPATH_ID][$link->item_id]->published)) { $elements[_LPATH_ID][$link->item_id]->published = 0; } if ($usertype == 2 && $elements[_LPATH_ID][$link->item_id]->show * $elements[_LPATH_ID][$link->item_id]->published == 0) { continue; } $displayed += JLMS_topic_html::showLPathRow($k, $elements[_LPATH_ID][$link->item_id], $i, $topic->id, $checked, 1, $span); break; } $i++; } } ?> </table> <?php if ($displayed == 0) { ?> <script type="text/javascript" language="javascript"> document.getElementById('topic_<?php echo $topic->id; ?> _elements_table').style.display='none'; </script> <?php } ?> <?php $return = ob_get_clean(); return $return; }