/** * index * * * @access public * @return void */ function index() { if (User::hasPermission('functions/coursemanager') || User::isInstructor()) { // Admins and profs $course_list = $this->Course->getAllAccessibleCourses(User::get('id'), User::getCourseFilterPermission(), 'all', array('contain' => array('Event', 'Instructor'))); $this->set('course_list', $this->_formatCourseList($course_list)); if (!User::isStudentOrTutor()) { return; } } // Student and tutor $events = $this->Event->getEventsByUserId(User::get('id')); // mark events as late if past due date foreach ($events as &$type) { foreach ($type as &$event) { if ($event['Event']['due_in'] > 0) { $event['late'] = false; continue; } $event['late'] = true; } } // determine the proper penalty to be applied to a late eval foreach ($events['Evaluations'] as &$event) { if (!$event['late'] || empty($event['Penalty'])) { continue; } // convert seconds to days $daysLate = abs($event['Event']['due_in']) / 86400; $pctPenalty = 0; foreach ($event['Penalty'] as $penalty) { $pctPenalty = $penalty['percent_penalty']; if ($penalty['days_late'] > $daysLate) { break; } } $event['percent_penalty'] = $pctPenalty; } // format the 'due in' time interval for display foreach ($events as &$types) { foreach ($types as &$event) { $event['Event']['due_in'] = $this->_formatDueIn(abs($event['Event']['due_in'])); } } // remove non-current events and split into upcoming/submitted/expired $evals = $this->_splitSubmittedEvents($events['Evaluations']); $surveys = $this->_splitSubmittedEvents($events['Surveys']); // calculate summary statistics $numOverdue = 0; $numDue = 0; $numDue = sizeof($evals['upcoming']) + sizeof($surveys['upcoming']); // only evals can have overdue events right now foreach ($evals['upcoming'] as $e) { $e['late'] ? $numOverdue++ : ''; } $this->set('evals', $evals); $this->set('surveys', $surveys); $this->set('numOverdue', $numOverdue); $this->set('numDue', $numDue); if (!User::isInstructor()) { $this->render('studentIndex'); } else { $this->render('combined'); } }
<?php require_once dirname(dirname(__FILE__)) . "/session.php"; require_once dirname(dirname(__FILE__)) . "/../include/global.php"; require_once dirname(dirname(__FILE__)) . "/model/Database.php"; require_once dirname(dirname(__FILE__)) . "/model/User.php"; $user = new User($_SESSION["user"]); $db = Database::instance(); /* Get all the groups the user belongs to */ $groups = ""; $sql = "SELECT id, name FROM projects WHERE user = "******"' . $user->id() . '"'; $result = $db->query($sql); if ($result->num_rows > 0) { echo '<table class="roster table table-hover table-striped table-condensed table-vertically-center">'; echo '<thead> <tr> <th> Name </th></tr></thead>'; while ($row = $result->fetch_assoc()) { if ($user->isInstructor()) { echo "<tr> <td>" . $row["name"] . "<a href=" . '"project.php?id=' . $row["id"] . '" class="pull-right">' . "Edit" . "</a>" . "</tr> </td>"; } } echo '</table>'; } else { echo "No results to show."; }
echo '<span class="pull-left"> Poor </span>'; echo '<span class="pull-right"> Excellent </span>'; echo '<div style="min-height: 22px; display: block; text-align: right; padding-right: 20px; width:' . $total / $cnt * 20 . '%; background-color: rgb(43,194,83);">'; echo '</div>'; echo '</div>'; echo "</td>"; echo "</tr>"; } } echo "</table>"; echo '<div style="width:100%; color: gray; text-align:right"> Number of votes: ' . $cnt . '</div>'; } else { /* The User has not evaluated his peers yet. */ foreach ($members as $member) { $memberObj = new User($member); if (!$memberObj->isInstructor()) { /* Do not print the instructor */ printOptions($question["type"], $question["id"], $member, $_POST[$question["id"] . "_" . $member]); } } } echo "</div>"; } } if (!$user->isInstructor()) { echo '<br/> <input class="btn btn-primary submitbtn" type="submit" value="Submit"> <br/> <br/>'; } echo '</form>'; if ($category == 'M') { echo '</div>'; }