Ejemplo n.º 1
0
 function JQ_ListQuizzes($option, $page, $course_id)
 {
     global $JLMS_DB, $JLMS_SESSION, $JLMS_CONFIG;
     $cat_id = intval(mosGetParam($_REQUEST, 'cat_id', $JLMS_SESSION->get('cat_id', 0)));
     $JLMS_SESSION->set('cat_id', $cat_id);
     $limit = intval(mosGetParam($_GET, 'limit', $JLMS_SESSION->get('list_limit', $JLMS_CONFIG->get('list_limit'))));
     $JLMS_SESSION->set('list_limit', $limit);
     $limitstart = intval(mosGetParam($_REQUEST, 'limitstart', 0));
     $query = "SELECT COUNT(*)" . "\n FROM #__lms_quiz_t_quiz" . "\n WHERE course_id = '" . $course_id . "'" . ($cat_id ? "\n AND c_category_id = {$cat_id}" : '');
     $JLMS_DB->setQuery($query);
     $total = $JLMS_DB->loadResult();
     require_once _JOOMLMS_FRONT_HOME . DS . "includes" . DS . "classes" . DS . "lms.pagination.php";
     $pageNav = new JLMSPageNav($total, $limitstart, $limit);
     $query = "SELECT a.*, b.c_category, u.name as author_name " . "\n FROM #__lms_quiz_t_quiz a LEFT JOIN #__lms_quiz_t_category b ON a.c_category_id = b.c_id AND b.course_id = '" . $course_id . "' AND b.is_quiz_cat = 1 LEFT JOIN #__users as u ON a.c_user_id = u.id" . "\n WHERE a.course_id = '" . $course_id . "'" . ($cat_id ? "\n AND a.c_category_id = {$cat_id}" : '') . "\n ORDER BY a.c_title, b.c_category" . "\n LIMIT {$pageNav->limitstart}, {$pageNav->limit}";
     $JLMS_DB->setQuery($query);
     $rows = $JLMS_DB->loadObjectList();
     $quizzes_i = array();
     foreach ($rows as $row) {
         $quizzes_i[] = $row->c_id;
     }
     $q_items_num = array();
     if (!empty($quizzes_i)) {
         $quizzes_i_cid = implode(',', $quizzes_i);
         $query = "SELECT sum(items_number) as items_count, quiz_id FROM #__lms_quiz_t_quiz_pool WHERE quiz_id IN ({$quizzes_i_cid}) GROUP BY quiz_id";
         $JLMS_DB->SetQuery($query);
         $q_items_num = $JLMS_DB->loadObjectList();
     }
     for ($i = 0, $n = count($rows); $i < $n; $i++) {
         $rows[$i]->quests_from_pool = 0;
         foreach ($q_items_num as $qin) {
             if ($qin->quiz_id == $rows[$i]->c_id) {
                 if ($qin->items_count) {
                     $rows[$i]->quests_from_pool = $qin->items_count;
                 }
                 break;
             }
         }
     }
     $query = "SELECT count(*) FROM #__lms_quiz_t_question WHERE c_quiz_id = 0 and course_id = {$course_id}";
     $JLMS_DB->setQuery($query);
     $pool_count = $JLMS_DB->loadResult();
     $javascript = 'onchange="document.adminForm.submit();"';
     $query = "SELECT c_id AS value, c_category AS text" . "\n FROM #__lms_quiz_t_category WHERE course_id = '" . $course_id . "' AND is_quiz_cat = 1" . "\n ORDER BY c_category";
     $JLMS_DB->setQuery($query);
     $categories[] = mosHTML::makeOption('0', _JLMS_SB_SELECT_CATEGORY);
     $categories = array_merge($categories, $JLMS_DB->loadObjectList());
     $category = mosHTML::selectList($categories, 'cat_id', 'class="inputbox" size="1" ' . $javascript, 'value', 'text', $cat_id);
     $lists = array();
     $lists['pool_count'] = intval($pool_count);
     $lists['category'] = $category;
     $lms_titles_cache =& JLMSFactory::getTitles();
     $lms_titles_cache->setArray('quiz_t_quiz', $rows, 'c_id', 'c_title');
     JLMS_quiz_admin_html_class::JQ_showQuizList($rows, $lists, $pageNav, $option, $page, $course_id);
 }