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); }