function JQ_ListCategoryGQP($option, $page, $id) { global $JLMS_DB, $JLMS_SESSION, $JLMS_CONFIG; $rows = array(); $lists = array(); $pageNav = array(); $is_pool = false; $gqp = true; $limit = intval(mosGetParam($_GET, 'limit', $JLMS_SESSION->get('list_limit', $JLMS_CONFIG->get('list_limit')))); $limitstart = intval(mosGetParam($_GET, 'limitstart', 0)); $levellimit = intval(mosGetParam($_REQUEST, 'levellimit', $JLMS_SESSION->get('GQP_levellimit', 10))); $JLMS_SESSION->set('GQP_levellimit', $levellimit); $query = "SELECT id, c_category as name, parent" . "\n FROM #__lms_gqp_cats" . "\n ORDER BY c_category"; $JLMS_DB->setQuery($query); $rows = $JLMS_DB->loadObjectList(); // establish the hierarchy of the menu $children = array(); // first pass - collect children foreach ($rows as $v) { $pt = $v->parent; /** Joomla 1.6 compability { */ $v->parent_id = $v->parent; $v->title = $v->name; /** } Joomla 1.6 compability*/ $list = @$children[$pt] ? $children[$pt] : array(); array_push($list, $v); $children[$pt] = $list; } // second pass - get an indent list of the items $list = mosTreeRecurse(0, '', array(), $children, max(0, $levellimit - 1)); // eventually only pick out the searched items. $total = count($list); require_once _JOOMLMS_FRONT_HOME . DS . "includes" . DS . "classes" . DS . "lms.pagination.php"; $pageNav = new JLMSPageNav($total, $limitstart, $limit); $levellist = mosHTML::integerSelectList(1, 20, 1, 'levellimit', 'size="1" onchange="document.adminForm.submit();"', $levellimit); // slice out elements based on limits $list = array_slice($list, $pageNav->limitstart, $pageNav->limit); /*For update question delete gqp_cats_levels*/ $query = "SELECT count(*) FROM #__lms_gqp_levels"; $JLMS_DB->setQuery($query); $exist = $JLMS_DB->loadResult(); $query = "SELECT * FROM #__lms_quiz_t_question WHERE course_id = 0 AND c_quiz_id = 0"; $JLMS_DB->setQuery($query); $listQuestions = $JLMS_DB->loadObjectList(); if ($exist && isset($listQuestions) && count($listQuestions)) { $status_check = true; foreach ($listQuestions as $n => $quest) { $listLevels = array(); $query = "SELECT * FROM #__lms_gqp_levels WHERE quest_id = '" . $quest->c_id . "'"; $JLMS_DB->setQuery($query); $listLevels = $JLMS_DB->loadObjectList(); $tmp_last_cat_id = 0; $tmp_update = array(); if (count($listLevels)) { $tmp_level = 0; foreach ($listLevels as $level) { if ($level->level > $tmp_level) { $tmp_last_cat_id = $level->cat_id; $tmp_level = $level->level; $tmp_update[] = $level->quest_id; } } } $query = "UPDATE #__lms_quiz_t_question as qtq, #__lms_gqp_levels as l" . "\n SET qtq.c_qcat = '" . $tmp_last_cat_id . "'" . "\n WHERE 1" . "\n AND qtq.c_id = '" . $quest->c_id . "'" . "\n AND qtq.course_id = 0" . "\n AND qtq.c_quiz_id = 0" . "\n AND qtq.c_id = l.quest_id"; $JLMS_DB->setQuery($query); if ($JLMS_DB->query()) { $status_check = false; } } if (!$status_check) { $query = "DROP TABLE IF EXISTS #__lms_gqp_levels"; $JLMS_DB->setQuery($query); $JLMS_DB->query(); } } /*For update question delete gqp_cats_levels*/ JLMS_quiz_admin_html_class::JQ_showListCategoryGQP($list, $lists, $pageNav, $option, $page, $id, $is_pool, $gqp, $levellist); }