$defaultSortKeyList = array('isPlatformAdmin' => SORT_DESC, 'name' => SORT_ASC, 'firstName' => SORT_ASC); foreach ($defaultSortKeyList as $thisSortKey => $thisSortDir) { $myPager->add_sort_key($thisSortKey, $thisSortDir); } $userList = $myPager->get_result_list(); if (is_array($userList)) { $tbl_mdb_names = claro_sql_get_main_tbl(); $tbl_course = $tbl_mdb_names['course']; $tbl_category = $tbl_mdb_names['category']; $tbl_rel_course_user = $tbl_mdb_names['rel_course_user']; $tbl_rel_course_category = $tbl_mdb_names['rel_course_category']; foreach ($userList as $userKey => $user) { // Count number of courses $sql = "SELECT count(DISTINCT code_cours) AS qty_course\n FROM `" . $tbl_rel_course_user . "`\n WHERE user_id = '" . (int) $user['user_id'] . "'\n GROUP BY user_id"; $userList[$userKey]['qty_course'] = (int) claro_sql_query_get_single_value($sql); $userList[$userKey]['qty_class'] = count(get_class_list_for_user_id($user['user_id'])); // Count number of categories $sql = "SELECT COUNT(ca.id) FROM `{$tbl_category}` AS ca\n \n LEFT JOIN `{$tbl_rel_course_category}` AS rcc\n ON ca.id = rcc.categoryId\n \n LEFT JOIN `{$tbl_course}` AS co\n ON rcc.courseId = co.cours_id\n \n LEFT JOIN `{$tbl_rel_course_user}` AS rcu\n ON rcu.code_cours = co.code\n \n WHERE rcc.rootCourse = 1\n AND rcu.user_id = " . (int) $user['user_id'] . "\n \n GROUP BY ca.id"; $userList[$userKey]['qty_category'] = (int) claro_sql_query_get_single_value($sql); } } $userGrid = array(); if (is_array($userList)) { foreach ($userList as $userKey => $user) { $userGrid[$userKey]['user_id'] = $user['user_id']; $userGrid[$userKey]['name'] = $user['name']; $userGrid[$userKey]['firstname'] = $user['firstname']; $userEmailLabel = null; if (!empty($_SESSION['admin_user_search'])) { $bold_search = str_replace('*', '.*', $_SESSION['admin_user_search']); $userGrid[$userKey]['name'] = preg_replace('/(' . $bold_search . ')/i', '<b>\\1</b>', $user['name']);
$result = Claroline::getDatabase()->query($sql); $result->setFetchMode(Database_ResultSet::FETCH_VALUE); if ($result->numRows() > 0) { foreach ($result as $res) { $categoryList[] = $res; } } else { $categoryList[] = get_lang('No category for this user'); } } else { $categoryList[] = get_lang("No user id"); } echo implode(', ', $categoryList); } elseif ($action == 'getUserClassList') { $userId = isset($_REQUEST['userId']) ? (int) $_REQUEST['userId'] : null; $classList = array(); if (!is_null($userId)) { $classList = get_class_list_for_user_id($userId); if (!empty($classList)) { $classNameList = array(); foreach ($classList as $class) { $classNameList[] = $class['name']; } } else { $classNameList[] = get_lang("No class"); } } else { $classNameList[] = get_lang("No user id"); } echo implode(', ', $classNameList); }