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;
         }
     }
 }
Exemple #3
0
 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;
     }
 }
Exemple #4
0
 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;
     }
 }
Exemple #6
0
 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";
     }
 }
Exemple #7
0
 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';
 }