Ejemplo n.º 1
0
 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);
 }