public function manage($assignment_id, $action) { global $db; $teacher_id = User::authService()['user_id']; if (!user::isTeacher()) { die; } $data = $_POST['form']; $code = $_POST['code']; //var_dump($code); die(); $parsedData = array(); foreach ($data as $d) { $parsedData[$d['name']] = $d['value']; } switch ($action) { case "create": $id = $db->insert("assignment_sample_code", array("assignment_id" => $assignment_id)); $assignment_id = $id; echo $id; break; case "update": break; case "delete": } }
public static function isUserOwnEditor($editor_id) { global $db; $user_id = User::authService()['user_id']; if (User::isStudent()) { $db->join("assignment_group_student AGS", "AGS.group_id=AGC.group_id", "LEFT"); $db->where("AGC.editor", $editor_id); $db->where("AGS.student_id", $user_id); $db->get("assignment_group_code AGC"); if ($db->count == 0) { return false; } else { return true; } } elseif (User::isTeacher()) { $db->join('assignment A', 'A.assignment_id = SC.assignment_id', 'LEFT'); $db->join('course C', 'C.course_id = A.course_id', 'LEFT'); $db->where('C.user_id', $user_id); $db->get('assignment_sample_code SC'); if ($db->count == 0) { return false; } else { return true; } } }
public function manage($action, $editor_id = null) { global $db; $teacher_id = User::authService()['user_id']; $data = $_POST['code']; switch ($action) { case "create": break; case "delete": if (!GlobalFunction::isUserOwnEditor($editor_id)) { die('no auth'); } break; case "update": if (!isset($data)) { echo 1; die; } foreach ($data as $d) { $sample_code_id = substr($d['id'], 6); //echo $sample_code_id; $db->where('sample_code_id', $sample_code_id); $db->update("assignment_sample_code", array('assignment_id' => $assignment_id, 'code' => $d['editor'])); } echo 1; break; } }
public function get($school_id = null, $json = true) { global $db; $user_id = User::authService()['user_id']; $db->join("school_teacher ST", "ST.school_id = S.school_id", "LEFT"); $db->where('ST.teacher_id', $user_id); $db->orderBy("name", "asc"); $schools = $db->get("school S"); $data = array(); foreach ($schools as $school) { $school['country_name'] = $this->country_code_to_country($school['country']); $data[] = $school; } if ($json) { echo json_encode($data); } else { return $data; } }
/** * Testcase API for teacher will land here first * * @access public * @param mixed $action [create|edit|delete] * @return void */ public function manage($assignment_id, $action) { global $db; $teacher_id = User::authService()['user_id']; $data = $_POST['data']; switch ($action) { case "save": $db->where('assignment_id', $assignment_id); $db->delete('assignment_testcase'); if (!isset($data)) { echo 1; break; } foreach ($data as $d) { $db->insert("assignment_testcase", array('assignment_id' => $assignment_id, 'input' => $d['input'], 'output' => $d['output'], 'type' => $d['type'], 'description' => $d['comment'])); } echo 1; break; } }
public static function avatar($user_id = null) { if (is_null($user_id)) { $user_id = User::authService()['user_id']; } if (file_exists(dirname(dirname(__FILE__)) . "/files/avatar/{$user_id}.jpg")) { return "/files/avatar/{$user_id}.jpg"; } else { return "/files/avatar/user.jpg"; } }
public function render($part, $param1 = null, $param2 = null) { global $db, $config, $router, $user; if ($part == "Login") { $user->loginGate(); require_once dirname(__DIR__) . '/views/login.php'; exit; } /* Views below require login */ User::authService(); require_once __DIR__ . '/Course.php'; $courseAPI = new Course(); $config['pagename'] = str_replace("_", " ", $part); require dirname(__DIR__) . '/views/header.php'; switch ($part) { case "placeholder": //echo $param1; die(); $param1 = str_replace("%20", " ", $param1); require dirname(__DIR__) . '/views/placeholder.php'; break; case "Question_Bank": if (User::isTeacher()) { require dirname(__DIR__) . '/views/questionbank.php'; } break; case "Assignment_Do": $assignment_id = $param1; $config['assignment_do'] = true; require_once __DIR__ . '/Assignment.php'; require_once __DIR__ . '/Testcase.php'; if (User::isStudent()) { require dirname(__DIR__) . '/views/student-assignment-do.php'; } break; case "Course": if (User::isStudent()) { $config['script'] = ["student-course"]; require dirname(__DIR__) . '/views/student-course.php'; } elseif (User::isTeacher()) { require dirname(__DIR__) . '/views/teacher-course.php'; } break; case "Course_Detail": $course_id = $param1; if (User::isStudent()) { require dirname(__DIR__) . '/views/student-course-detail.php'; } elseif (User::isTeacher()) { $config['script'] = ["teacher-course-detail"]; require dirname(__DIR__) . '/views/teacher-course-detail.php'; } break; case "Course_New": if (User::isTeacher()) { require_once __DIR__ . '/School.php'; $config['script'] = ["teacher-course-new"]; require dirname(__DIR__) . '/views/teacher-course-new.php'; } break; case "Assignment": $assignment_id = $param1; require_once __DIR__ . '/Assignment.php'; if (User::isStudent()) { require dirname(__DIR__) . '/views/student-assignment.php'; } elseif (User::isTeacher()) { $config['script'] = ['teacher-assignment']; require dirname(__DIR__) . '/views/teacher-assignment.php'; } break; case "Assignment_Edit": $assignment_id = $param1; require_once __DIR__ . '/Assignment.php'; if (User::isStudent()) { die; } elseif (User::isTeacher()) { $config['script'] = ["teacher-assignment-form"]; require dirname(__DIR__) . '/views/teacher-assignment-edit.php'; } break; case "Assignment_Testcase_Edit": $assignment_id = $param1; require_once __DIR__ . '/Assignment.php'; if (User::isStudent()) { die; } elseif (User::isTeacher()) { $config['script'] = ["teacher-assignment-testcase"]; require dirname(__DIR__) . '/views/teacher-assignment-edit-testcase.php'; } break; case "Assignment_Statistics": $assignment_id = $param1; require_once __DIR__ . '/Assignment.php'; if (User::isStudent()) { die; } elseif (User::isTeacher()) { $config['script'] = ["teacher-assignment-stat"]; require dirname(__DIR__) . '/views/teacher-assignment-stat.php'; } break; case "Assignment_Group_Statistics": $assignment_id = $param1; require_once __DIR__ . '/Assignment.php'; if (User::isStudent()) { die; } elseif (User::isTeacher()) { $config['script'] = ["teacher-assignment-group-stat"]; require dirname(__DIR__) . '/views/teacher-assignment-group-stat.php'; } break; case "Assignment_Overall_Statistics": $assignment_id = $param1; require_once __DIR__ . '/Assignment.php'; if (User::isStudent()) { die; } elseif (User::isTeacher()) { $config['script'] = ["teacher-assignment-overall-stat"]; require dirname(__DIR__) . '/views/teacher-assignment-overall-stat.php'; } break; case "Assignment_Data_Mining": $assignment_id = $param1; require_once __DIR__ . '/Assignment.php'; if (User::isStudent()) { die; } elseif (User::isTeacher()) { $config['script'] = ["teacher-datamining"]; require dirname(__DIR__) . '/views/teacher-datamining.php'; } break; } require dirname(__DIR__) . '/views/footer.php'; }