示例#1
0
    if (!isset($sortKeyList['submissionCount'])) {
        $sortKeyList['submissionCount'] = SORT_DESC;
    }
    $sortKeyList['s.last_edit_date'] = SORT_ASC;
    $sortKeyList['fb.last_edit_date'] = SORT_ASC;
    $sortKeyList['g.name'] = SORT_ASC;
    // get last submission titles
    $sql2 = "SELECT `s`.`group_id` as `authId`, `s`.`title`, DATE(`s`.`last_edit_date`) as date\n                FROM `" . $tbl_wrk_submission . "` AS `s`\n            LEFT JOIN `" . $tbl_wrk_submission . "` AS `s2`\n                ON `s`.`group_id` = `s2`.`group_id`\n                AND `s2`.`assignment_id` = " . (int) $req['assignmentId'] . "\n                AND `s`.`last_edit_date` < `s2`.`last_edit_date`\n            WHERE `s2`.`group_id` IS NULL\n                AND `s`.`original_id` IS NULL\n                AND `s`.`assignment_id` = " . (int) $req['assignmentId'] . "\n            " . $submissionFilterSql . "";
}
/*--------------------------------------------------------------------
WORK LIST
--------------------------------------------------------------------*/
$offset = isset($_REQUEST['offset']) && !empty($_REQUEST['offset']) ? $_REQUEST['offset'] : 0;
$workPager = new claro_sql_pager($sql, $offset, $usersPerPage);
foreach ($sortKeyList as $thisSortKey => $thisSortDir) {
    $workPager->add_sort_key($thisSortKey, $thisSortDir);
}
$workList = $workPager->get_result_list();
// add the title of the last submission in each displayed line
$results = claro_sql_query_fetch_all($sql2);
$lastWorkTitleList = array();
$last_edit_date_list = array();
foreach ($results as $result) {
    $lastWorkTitleList[$result['authId']] = $result['title'];
    $last_edit_date_list[$result['authId']] = $result['date'];
}
if (!empty($lastWorkTitleList)) {
    for ($i = 0; $i < count($workList); $i++) {
        if (isset($lastWorkTitleList[$workList[$i]['authId']])) {
            $workList[$i]['title'] = $lastWorkTitleList[$workList[$i]['authId']];
        }
示例#2
0
文件: work.php 项目: rhertzog/lcs
} else {
    $sql = "SELECT `id`,\n                    `title`,\n                    `def_submission_visibility`,\n                    `visibility`,\n                    `assignment_type`,\n                    unix_timestamp(`start_date`) as `start_date_unix`,\n                    unix_timestamp(`end_date`) as `end_date_unix`\n            FROM `" . $tbl_wrk_assignment . "`";
    if (!claro_is_allowed_to_edit()) {
        $sql .= " WHERE `visibility` = 'VISIBLE' ";
    }
    if (isset($_GET['sort'])) {
        $sortKeyList[$_GET['sort']] = isset($_GET['dir']) ? $_GET['dir'] : SORT_ASC;
    } else {
        $sortKeyList['end_date'] = SORT_ASC;
        $sortKeyList['title'] = SORT_ASC;
    }
}
$offset = isset($_REQUEST['offset']) && !empty($_REQUEST['offset']) ? $_REQUEST['offset'] : 0;
$assignmentPager = new claro_sql_pager($sql, $offset, $assignmentsPerPage);
foreach ($sortKeyList as $thisSortKey => $thisSortDir) {
    $assignmentPager->add_sort_key($thisSortKey, $thisSortDir);
}
$assignmentList = $assignmentPager->get_result_list();
// Help URL
$helpUrl = $is_allowedToEdit ? get_help_page_url('blockAssignmentsHelp', 'CLWRK') : null;
// Command list
$cmdList = array();
if ($is_allowedToEdit) {
    $cmdList[] = array('img' => 'assignment', 'name' => get_lang('Create a new assignment'), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=rqMkAssig')));
    if (claro_is_platform_admin() || get_conf('allow_download_all_submissions')) {
        $cmdList[] = array('img' => 'save', 'name' => get_lang('Download submissions'), 'url' => claro_htmlspecialchars(Url::Contextualize($_SERVER['PHP_SELF'] . '?cmd=rqDownload')));
    }
    if (get_conf('mail_notification', false) && !get_conf('automatic_mail_notification', false)) {
        $cmdList[] = array('img' => 'settings', 'name' => get_lang('Assignments preferences'), 'url' => claro_htmlspecialchars(Url::Contextualize('work_settings.php')));
    }
}
示例#3
0
$isSearched = $searchInfo['isSearched'];
$addtoAdvanced = $searchInfo['addtoAdvanced'];
if (count($searchInfo['isSearched'])) {
    $isSearched = array_map('strip_tags', $isSearched);
    $isSearchedHTML = implode('<br />', $isSearched);
} else {
    $isSearchedHTML = '';
}
//get the search keyword, if any
$search = isset($_REQUEST['search']) ? $_REQUEST['search'] : '';
$sql = get_sql_filtered_user_list();
$myPager = new claro_sql_pager($sql, $offset, $userPerPage);
if (array_key_exists('sort', $_GET)) {
    $dir = array_key_exists('dir', $_GET) && $_GET['dir'] == SORT_DESC ? SORT_DESC : SORT_ASC;
    $sortKey = strip_tags($_GET['sort']);
    $myPager->add_sort_key($sortKey, $dir);
}
$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";
示例#4
0
文件: user.php 项目: rhertzog/lcs
if ($courseUserList->has_registrationPending()) {
    $usersPanelUrl = claro_htmlspecialchars(Url::Contextualize(get_module_entry_url('CLUSR')));
    $dialogBox->warning(get_lang('You have to validate users to give them access to this course through the <a href="%url">course user list</a>', array('%url' => $usersPanelUrl)));
}
/*----------------------------------------------------------------------
   Get Course informations
  ----------------------------------------------------------------------*/
$sql = "SELECT `course`.`registration`\n        FROM `" . $tbl_courses . "` AS course\n        WHERE `course`.`code`='" . claro_sql_escape(claro_get_current_course_id()) . "'";
$course = claro_sql_query_get_single_row($sql);
/*----------------------------------------------------------------------
   Get User List
  ----------------------------------------------------------------------*/
$sqlGetUsers = "\n    SELECT \n        `user`.`user_id`      AS `user_id`,\n        `user`.`nom`          AS `nom`,\n        `user`.`prenom`       AS `prenom`,\n        `user`.`email`        AS `email`,\n        `course_user`.`profile_id`,\n        `course_user`.`isCourseManager`,\n        `course_user`.`isPending`,\n        `course_user`.`tutor`  AS `tutor`,\n        `course_user`.`role`   AS `role`,\n        `course_user`.`enrollment_date`,\n        `course_user`.`count_class_enrol`,\n        `course_user`.`count_user_enrol`,\n\n\tGROUP_CONCAT(`grp`.name ORDER BY `grp`.name SEPARATOR ',' ) AS `groups`\n\n    FROM \n        \n            `{$tbl_users}` AS user,\n            `{$tbl_rel_course_user}` AS course_user\n\n    LEFT JOIN `{$tbl_rel_users_groups}` AS user_group\n    ON user_group.user = `course_user`.`user_id`\n\n    LEFT JOIN `{$tbl_groups}` AS `grp`\n    ON `grp`.id = user_group.team\n\n    WHERE ( `user`.`user_id`=`course_user`.`user_id`\n    AND   `course_user`.`code_cours`='" . claro_sql_escape(claro_get_current_course_id()) . "' )\n\n    GROUP BY user.user_id";
$myPager = new claro_sql_pager($sqlGetUsers, $offset, $userPerPage);
if (isset($_GET['sort'])) {
    $myPager->add_sort_key($_GET['sort'], isset($_GET['dir']) ? $_GET['dir'] : SORT_ASC);
}
$defaultSortKeyList = array('course_user.isCourseManager' => SORT_DESC, 'course_user.tutor' => SORT_DESC, 'user.nom' => SORT_ASC, 'user.prenom' => SORT_ASC, 'groups' => SORT_ASC, 'enrollment_date' => SORT_ASC);
foreach ($defaultSortKeyList as $thisSortKey => $thisSortDir) {
    $myPager->add_sort_key($thisSortKey, $thisSortDir);
}
$userList = $myPager->get_result_list();
$userTotalNb = $myPager->get_total_item_count();
/*----------------------------------------------------------------------
  Prepare display
  ----------------------------------------------------------------------*/
$nameTools = get_lang('Users');
// Command list
$cmdList = array();
$advancedCmdList = array();
if ($is_allowedToEdit) {