/** * Provide the queries with the columns to order by. */ switch ($_SESSION[APPLICATION_IDENTIFIER][$MODULE]["gradebook"]["sb"]) { case "title": $sort_by = "a.`course_name` " . strtoupper($_SESSION[APPLICATION_IDENTIFIER][$MODULE]["gradebook"]["so"]); break; case "assessments": $sort_by = "`assessments` " . strtoupper($_SESSION[APPLICATION_IDENTIFIER][$MODULE]["gradebook"]["so"]); break; case "code": default: $sort_by = "a.`course_code` " . strtoupper($_SESSION[APPLICATION_IDENTIFIER][$MODULE]["gradebook"]["so"]); break; } $group_ids = groups_get_enrolled_group_ids($ENTRADA_USER->getId()); $group_ids_string = implode(', ', $group_ids); $query = "\tSELECT a.*, COUNT(b.`assessment_id`) AS `assessments`\n\t\t\tFROM `courses` AS a\n\t\t\tJOIN `assessments` AS b\n\t\t\tON a.`course_id` = b.`course_id`\n\t\t\tAND b.`active` = 1\n\t\t\tAND b.`cohort` IN (" . $group_ids_string . ")\n\t\t\tAND (b.`release_date` = '0' OR b.`release_date` <= " . $db->qstr(time()) . ")\n\t\t\tAND (b.`release_until` = '0' OR b.`release_until` > " . $db->qstr(time()) . ")\n\t\t\tAND b.`show_learner` = '1'\n JOIN `assessment_grades` AS c\n ON b.`assessment_id` = c.`assessment_id`\n AND c.`proxy_id` = " . $db->qstr($ENTRADA_USER->getID()) . "\n\t\t\tGROUP BY a.`course_id`\n\t\t\tORDER BY " . $sort_by; $results = $db->GetAll($query); if ($results) { ?> <table class="table table-bordered table-striped" cellspacing="0" summary="List of Gradebooks"> <thead> <tr> <th width="14%" class="date-small borderl<?php echo $_SESSION[APPLICATION_IDENTIFIER][$MODULE]["gradebook"]["sb"] == "code" ? " sorted" . strtoupper($_SESSION[APPLICATION_IDENTIFIER][$MODULE]["gradebook"]["so"]) : ""; ?> "><?php echo public_order_link("code", "Course Code", ENTRADA_RELATIVE . "/profile/gradebook"); ?> </th>
public static function getOutstandingEvaluations($proxy_id, $organisation_id, $return_count_only = false) { global $db; $evaluations = array(); $cohort_ids = groups_get_enrolled_group_ids($proxy_id, false, $organisation_id, false); $cohort_ids_string = ""; if (isset($cohort_ids) && is_array($cohort_ids)) { foreach ($cohort_ids as $cohort_id) { $cohort_ids_string .= ($cohort_ids_string ? ", " : "") . $db->qstr($cohort_id); } } $query = "SELECT a.`cgroup_id` FROM `course_group_audience` AS a\n\t\t\t\t\tJOIN `course_groups` AS b\n\t\t\t\t\tON a.`cgroup_id` = b.`cgroup_id`\n\t\t\t\t\tWHERE a.`proxy_id` = " . $db->qstr($proxy_id) . "\n\t\t\t\t\tAND a.`active` = 1\n\t\t\t\t\tAND b.`active` = 1"; $course_groups = $db->GetAll($query); $cgroup_ids_string = ""; if (isset($course_groups) && is_array($course_groups)) { foreach ($course_groups as $course_group) { if ($cgroup_ids_string) { $cgroup_ids_string .= ", " . $db->qstr($course_group["cgroup_id"]); } else { $cgroup_ids_string = $db->qstr($course_group["cgroup_id"]); } } } $query = "\tSELECT * FROM `evaluations` AS a\n\t\t\t\t\tJOIN `evaluation_evaluators` AS b\n\t\t\t\t\tON a.`evaluation_id` = b.`evaluation_id`\n\t\t\t\t\tJOIN `evaluation_forms` AS c\n\t\t\t\t\tON a.`eform_id` = c.`eform_id`\n\t\t\t\t\tJOIN `evaluations_lu_targets` AS d\n\t\t\t\t\tON c.`target_id` = d.`target_id`\n\t\t\t\t\tWHERE\n (\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\tb.`evaluator_type` = 'proxy_id'\n\t\t\t\t\t\t\tAND b.`evaluator_value` = " . $db->qstr($proxy_id) . "\n\t\t\t\t\t\t)\n\t\t\t\t\t\tOR\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\tb.`evaluator_type` = 'organisation_id'\n\t\t\t\t\t\t\tAND b.`evaluator_value` = " . $db->qstr($_SESSION["details"]["organisation_id"]) . "\n\t\t\t\t\t\t)" . (isset($cohort_ids_string) && $cohort_ids_string ? " OR (\n\t\t\t\t\t\t\tb.`evaluator_type` = 'cohort'\n\t\t\t\t\t\t\tAND b.`evaluator_value` IN (" . $cohort_ids_string . ")\n\t\t\t\t\t\t)" : "") . ($cgroup_ids_string ? " OR (\n\t\t\t\t\t\t\tb.`evaluator_type` = 'cgroup_id'\n\t\t\t\t\t\t\tAND b.`evaluator_value` IN (" . $cgroup_ids_string . ")\n\t\t\t\t\t\t)" : "") . "\n\t\t\t\t\t)\n\t\t\t\t\tAND a.`evaluation_start` < " . $db->qstr(time()) . "\n\t\t\t\t\tAND a.`evaluation_active` = 1\n\t\t\t\t\tGROUP BY a.`evaluation_id`\n\t\t\t\t\tORDER BY a.`evaluation_finish` DESC"; $temp_evaluations = $db->GetAll($query); if ($temp_evaluations) { foreach ($temp_evaluations as $evaluation) { if (isset($evaluation["require_requests"]) && $evaluation["require_requests"]) { $requests = Models_Evaluation::getEvaluationRequests($evaluation["evaluation_id"], $proxy_id); } if (!(isset($evaluation["require_requests"]) && $evaluation["require_requests"]) || is_array($requests) && count($requests)) { $evaluation_targets_list = Models_Evaluation::getTargetsArray($evaluation["evaluation_id"], $evaluation["eevaluator_id"], $proxy_id); if ($evaluation_targets_list) { $evaluation_targets_count = count($evaluation_targets_list); if (array_search($evaluation["target_shortname"], array("preceptor", "rotation_core", "rotation_elective")) !== false && $evaluation["max_submittable"]) { $evaluation["max_submittable"] = $evaluation_targets_count * (int) $evaluation["max_submittable"]; } elseif ($evaluation["target_shortname"] == "peer" && $evaluation["max_submittable"] == 0) { $evaluation["max_submittable"] = $evaluation_targets_count; } elseif ($evaluation["max_submittable"] == 0 && $evaluation["allow_repeat_targets"]) { $evaluation["max_submittable"] = 2147483647; } if (array_search($evaluation["target_shortname"], array("preceptor", "rotation_core", "rotation_elective")) !== false && $evaluation["min_submittable"]) { $evaluation["min_submittable"] = $evaluation_targets_count * (int) $evaluation["min_submittable"]; } elseif ($evaluation["target_shortname"] == "peer" && $evaluation["min_submittable"] == 0) { $evaluation["min_submittable"] = $evaluation_targets_count; } $evaluation_target_title = fetch_evaluation_target_title($evaluation_targets_list[0], $evaluation_targets_count, $evaluation["target_shortname"]); if ($evaluation_target_title) { $evaluation["evaluation_target_title"] = $evaluation_target_title; } if ($evaluation_targets_list) { $evaluation["evaluation_targets"] = $evaluation_targets_list; } } $query = "\tSELECT COUNT(`eprogress_id`) FROM `evaluation_progress`\n WHERE `evaluation_id` = " . $db->qstr($evaluation["evaluation_id"]) . "\n AND `proxy_id` = " . $db->qstr($proxy_id) . "\n AND `progress_value` = 'complete'"; $completed_attempts = $db->GetOne($query); if ($completed_attempts) { $evaluation["completed_attempts"] = $completed_attempts; } else { $evaluation["completed_attempts"] = 0; } if (defined("EVALUATION_LOCKOUT") && EVALUATION_LOCKOUT && $evaluation["evaluation_finish"] + EVALUATION_LOCKOUT < time()) { $evaluation["max_submittable"] = $evaluation["completed_attempts"]; } if ($completed_attempts >= $evaluation["max_submittable"]) { continue; } else { $query = "\tSELECT COUNT(`efquestion_id`) FROM `evaluation_form_questions`\n WHERE `eform_id` = " . $db->qstr($evaluation["eform_id"]) . "\n GROUP BY `eform_id`"; $evaluation_questions = $db->GetOne($query); if ($evaluation_questions) { $evaluation["evaluation_questions"] = $evaluation_questions; } else { $evaluation["evaluation_questions"] = 0; } $query = "\tSELECT * FROM `evaluation_progress`\n WHERE `evaluation_id` = " . $db->qstr($evaluation["evaluation_id"]) . "\n AND `proxy_id` = " . $db->qstr($proxy_id) . "\n AND `progress_value` = 'complete'"; $evaluation_progress = $db->GetAll($query); if ($evaluation_progress) { $evaluation["evaluation_progress"] = $evaluation_progress; } else { $evaluation["evaluation_progress"] = 0; } if ($evaluation["max_submittable"] > $evaluation["completed_attempts"]) { $evaluation["click_url"] = ENTRADA_URL . "/evaluations?section=attempt&id=" . $evaluation["evaluation_id"]; } else { $evaluation["click_url"] = ""; } if (array_search($evaluation["target_shortname"], array("preceptor", "rotation_core", "rotation_elective")) === false || isset($evaluation_targets_count) && $evaluation_targets_count) { $evaluations[] = $evaluation; } } } } } return $return_count_only ? count($evaluations) : $evaluations; }
exit; } elseif (!isset($_SESSION["isAuthorized"]) || !$_SESSION["isAuthorized"]) { header("Location: " . ENTRADA_URL); exit; } if (isset($_POST["request_code"]) && ($code = clean_input($_POST["request_code"], "alphanumeric"))) { $query = "SELECT * FROM `evaluation_requests`\n WHERE `request_code` = " . $db->qstr($code) . "\n AND `target_proxy_id` = " . $db->qstr($ENTRADA_USER->getID()) . "\n AND (\n `request_expires` = 0\n OR `request_expires` > " . $db->qstr(time()) . "\n )\n AND `request_fulfilled` = 0"; $evaluation_request = $db->GetRow($query); if ($evaluation_request) { $RECORD_ID = $evaluation_request["evaluation_id"]; } } else { $code = false; } if ($RECORD_ID) { $cohort_ids = groups_get_enrolled_group_ids($ENTRADA_USER->getID(), false, $ENTRADA_USER->getActiveOrganisation(), false); $cohort_ids_string = ""; if (isset($cohort_ids) && is_array($cohort_ids)) { foreach ($cohort_ids as $cohort_id) { $cohort_ids_string .= ($cohort_ids_string ? ", " : "") . $db->qstr($cohort_id); } } $query = "SELECT a.`cgroup_id` FROM `course_group_audience` AS a\n\t\t\t\tJOIN `course_groups` AS b\n\t\t\t\tON a.`cgroup_id` = b.`cgroup_id`\n\t\t\t\tWHERE a.`proxy_id` = " . $db->qstr($ENTRADA_USER->getID()) . "\n\t\t\t\tAND a.`active` = 1\n\t\t\t\tAND b.`active` = 1"; $course_groups = $db->GetAll($query); $cgroup_ids_string = ""; if (isset($course_groups) && is_array($course_groups)) { foreach ($course_groups as $course_group) { if ($cgroup_ids_string) { $cgroup_ids_string .= ", " . $db->qstr($course_group["cgroup_id"]); } else { $cgroup_ids_string = $db->qstr($course_group["cgroup_id"]);