ok
Direktori : /home2/selectio/public_html/bharath/application/models/ |
Current File : /home2/selectio/public_html/bharath/application/models/Homework_model.php |
<?php if (!defined('BASEPATH')) { exit('No direct script access allowed'); } class Homework_model extends MY_model { public function __construct() { parent::__construct(); $this->current_session = $this->setting_model->getCurrentSession(); } public function add($data) { $this->db->trans_start(); # Starting Transaction $this->db->trans_strict(false); # See Note 01. If you wish can remove as well //=======================Code Start=========================== if (isset($data["id"]) && $data["id"] > 0) { $this->db->where("id", $data["id"])->update("homework", $data); $message = UPDATE_RECORD_CONSTANT . " On homework id " . $data['id']; $action = "Update"; $record_id = $insert_id = $data['id']; $this->log($message, $record_id, $action); } else { $this->db->insert("homework", $data); $insert_id = $this->db->insert_id(); $message = INSERT_RECORD_CONSTANT . " On homework id " . $insert_id; $action = "Insert"; $record_id = $insert_id; $this->log($message, $record_id, $action); } //echo $this->db->last_query();die; //======================Code End============================== $this->db->trans_complete(); # Completing transaction /* Optional */ if ($this->db->trans_status() === false) { # Something went wrong. $this->db->trans_rollback(); return false; } else { return $insert_id; } // return $insert_id; } public function get($id = null) { $class = $this->class_model->get(); $carray=array(); foreach ($class as $key => $value) { $carray[]=$value['id']; $sections=$this->section_model->getClassBySection($value['id']); foreach ($sections as $sec => $secdata) { $section_array[]=$secdata['section_id']; } } if (!empty($id)) { $this->db->select("`homework`.*,subject_group_subjects.subject_id,subject_group_subjects.id as `subject_group_subject_id`,subjects.name as subject_name,subject_groups.id as subject_groups_id,subject_groups.name,(select count(*) as total from submit_assignment where submit_assignment.homework_id=homework.id) as assignments"); $this->db->join("classes", "classes.id = homework.class_id"); $this->db->join("sections", "sections.id = homework.section_id"); $this->db->join("subject_group_subjects", "subject_group_subjects.id = homework.subject_group_subject_id"); $this->db->join("subjects", "subjects.id = subject_group_subjects.subject_id"); $this->db->join("subject_groups", "subject_group_subjects.subject_group_id=subject_groups.id"); $this->db->where('homework.session_id', $this->current_session); $this->db->where("homework.id", $id); $query = $this->db->get("homework"); // $query = $this->db->where("id", $id)->get("homework"); return $query->row_array(); } else { // $query = $this->db->select("homework.*,homework_evaluation.date,classes.class,sections.section,subjects.name")->join("classes", "classes.id = homework.class_id")->join("sections", "sections.id = homework.section_id")->join("subjects", "subjects.id = homework.subject_id", "left")->join("homework_evaluation", "homework.id = homework_evaluation.homework_id", "left")->group_by("homework.id")->get("homework"); $this->db->select("`homework`.*,classes.class,sections.section,subject_group_subjects.subject_id,subject_group_subjects.id as `subject_group_subject_id`,subjects.name as subject_name,subject_groups.id as subject_groups_id,subject_groups.name,(select count(*) as total from submit_assignment where submit_assignment.homework_id=homework.id) as assignments"); $this->db->join("classes", "classes.id = homework.class_id"); $this->db->join("sections", "sections.id = homework.section_id"); $this->db->join("subject_group_subjects", "subject_group_subjects.id = homework.subject_group_subject_id"); $this->db->join("subjects", "subjects.id = subject_group_subjects.subject_id"); $this->db->join("subject_groups", "subject_group_subjects.subject_group_id=subject_groups.id"); $this->db->where('homework.session_id', $this->current_session); if(!empty($carray)){ $this->db->where_in('classes.id',$carray); } if(!empty($section_array)){ $this->db->where_in('sections.id',$section_array); } $query = $this->db->get("homework"); return $query->result_array(); } } public function get_homeworkDocById($homework_id) { $query = $this->db->select('students.*,submit_assignment.docs,submit_assignment.message')->from('submit_assignment')->join('students', 'students.id=submit_assignment.student_id', 'inner')->where('submit_assignment.homework_id', $homework_id)->get(); return $query->result_array(); } public function search_homework($class_id, $section_id, $subject_group_id, $subject_id) { if ((!empty($class_id)) && (!empty($section_id)) && (!empty($subject_id)) && (!empty($subject_group_id))) { $this->db->where(array('homework.class_id' => $class_id, 'homework.section_id' => $section_id, 'subject_groups.id' => $subject_group_id, 'subject_group_subjects.id' => $subject_id)); } else if ((!empty($class_id)) && (!empty($section_id)) && (!empty($subject_group_id))) { $this->db->where(array('homework.class_id' => $class_id, 'homework.section_id' => $section_id, 'subject_groups.id' => $subject_group_id)); } else if ((!empty($class_id)) && (empty($section_id)) && (empty($subject_id))) { $this->db->where(array('homework.class_id' => $class_id)); } else if ((!empty($class_id)) && (!empty($section_id)) && (empty($subject_id))) { $this->db->where(array('homework.class_id' => $class_id, 'homework.section_id' => $section_id)); } $this->db->select("`homework`.*,classes.class,sections.section,subject_group_subjects.subject_id,subject_group_subjects.id as `subject_group_subject_id`,subjects.name as subject_name,subject_groups.id as subject_groups_id,subject_groups.name,(select count(*) as total from submit_assignment where submit_assignment.homework_id=homework.id) as assignments"); $this->db->join("classes", "classes.id = homework.class_id"); $this->db->join("sections", "sections.id = homework.section_id"); $this->db->join("subject_group_subjects", "subject_group_subjects.id = homework.subject_group_subject_id"); $this->db->join("subjects", "subjects.id = subject_group_subjects.subject_id"); $this->db->join("subject_groups", "subject_group_subjects.subject_group_id=subject_groups.id"); $this->db->where('subject_groups.session_id',$this->current_session); $this->db->order_by('homework.homework_date','DESC'); $query = $this->db->get("homework"); return $query->result_array(); } public function getRecord($id = null) { $query = $this->db->select("homework.*,classes.class,sections.section,subjects.name,subject_groups.name as subject_group")->join("classes", "classes.id = homework.class_id")->join("sections", "sections.id = homework.section_id")->join('subject_group_subjects', 'homework.subject_group_subject_id=subject_group_subjects.id')->join("subjects", "subjects.id = subject_group_subjects.subject_id", "left")->join('subject_groups', 'subject_group_subjects.subject_group_id=subject_groups.id')->where("homework.id", $id)->get("homework"); return $query->row_array(); } public function getStudents($id) { $sql = "SELECT IFNULL(homework_evaluation.id,0) as homework_evaluation_id,student_session.*,students.firstname,students.lastname,students.admission_no from student_session inner JOIN (SELECT homework.id as homework_id,homework.class_id,homework.section_id,homework.session_id FROM `homework` WHERE id= " . $this->db->escape($id) . " ) as home_work on home_work.class_id=student_session.class_id and home_work.section_id=student_session.section_id and home_work.session_id=student_session.session_id inner join students on students.id=student_session.student_id and students.is_active='yes' left join homework_evaluation on homework_evaluation.student_session_id=student_session.id and students.is_active='yes' and homework_evaluation.homework_id=" . $this->db->escape($id) . " order by students.id desc"; // $sql = "select students.id,students.firstname,students.lastname,students.admission_no from students where students.id in (select student_session.student_id from student_session where student_session.class_id = " . $this->db->escape($class_id) . " and student_session.section_id = " . $this->db->escape($section_id) . " GROUP by student_session.student_id and student_session.session_id=$this->current_session) and students.is_active = 'yes'"; $query = $this->db->query($sql); return $query->result_array(); } public function delete($id) { $this->db->trans_start(); # Starting Transaction $this->db->trans_strict(false); # See Note 01. If you wish can remove as well //=======================Code Start=========================== $this->db->where("id", $id)->delete("homework"); $this->db->where("homework_id", $id)->delete("homework_evaluation"); $this->db->where("homework_id", $id)->delete("submit_assignment"); $message = DELETE_RECORD_CONSTANT . " On homework id " . $id; $action = "Delete"; $record_id = $id; $this->log($message, $record_id, $action); //======================Code End============================== $this->db->trans_complete(); # Completing transaction /* Optional */ if ($this->db->trans_status() === false) { # Something went wrong. $this->db->trans_rollback(); return false; } else { //return $return_value; } } public function addEvaluation($insert_prev, $insert_array, $homework_id, $evaluation_date, $evaluated_by) { $this->db->trans_start(); # Starting Transaction $this->db->trans_strict(false); # See Note 01. If you wish can remove as well //=======================Code Start=========================== $homework = array('evaluation_date' => $evaluation_date, 'evaluated_by' => $evaluated_by); $this->db->where("id", $homework_id)->update("homework", $homework); if (!empty($insert_array)) { foreach ($insert_array as $insert_student_key => $insert_student_value) { $insert_student = array( 'homework_id' => $homework_id, 'student_session_id' => $insert_student_value, 'status' => 'Complete', ); $this->db->insert("homework_evaluation", $insert_student); $insert_prev[] = $this->db->insert_id(); } } $this->db->where('homework_id', $homework_id); $this->db->where_not_in('id', $insert_prev); $this->db->delete('homework_evaluation'); //======================Code End============================== $this->db->trans_complete(); # Completing transaction /* Optional */ if ($this->db->trans_status() === false) { # Something went wrong. $this->db->trans_rollback(); return false; } else { return true; } } public function searchHomeworkEvaluation($class_id, $section_id, $subject_id) { if ((!empty($class_id)) && (!empty($section_id)) && (!empty($subject_id))) { $this->db->where(array('homework.class_id' => $class_id, 'homework.section_id' => $section_id, 'homework.subject_id' => $subject_id)); } else if ((!empty($class_id)) && (empty($section_id)) && (empty($subject_id))) { $this->db->where(array('homework.class_id' => $class_id)); } else if ((!empty($class_id)) && (!empty($section_id)) && (empty($subject_id))) { $this->db->where(array('homework.class_id' => $class_id, 'homework.section_id' => $section_id)); } $query = $this->db->select('homework.*,classes.class,sections.section,subjects.name') ->join('classes', 'classes.id = homework.class_id') ->join('sections', 'sections.id = homework.section_id') ->join('subjects', 'subjects.id = homework.subject_id') ->where_in('homework.id', 'select homework_evaluation.homework_id from homework_evaluation join homework on (homework_evaluation.homework_id = homework.id) group by homework_evaluation.homework_id') ->get('homework'); return $query->result_array(); } public function getEvaluationReport($id) { $query = $this->db->select("homework.*,homework_evaluation.student_id,homework_evaluation.id as evalid,homework_evaluation.date,homework_evaluation.status,classes.class,subjects.name,sections.section,(select count(*) as total from submit_assignment sa where sa.homework_id=homework.id) as assignments")->join("classes", "classes.id = homework.class_id")->join("sections", "sections.id = homework.section_id")->join("subjects", "subjects.id = homework.subject_id")->join("homework_evaluation", "homework.id = homework_evaluation.homework_id")->where("homework.id", $id)->get("homework"); return $query->result_array(); } public function getEvaStudents($id, $class_id, $section_id) { $query = $this->db->select("students.*,homework_evaluation.student_id,homework_evaluation.date,homework_evaluation.status,classes.class,subjects.name,sections.section")->join("classes", "classes.id = homework.class_id")->join("sections", "sections.id = homework.section_id")->join("subjects", "subjects.id = homework.subject_id")->join("homework_evaluation", "homework.id = homework_evaluation.homework_id")->join("students", "students.id = homework_evaluation.student_id", "left")->where("homework.id", $id)->get("homework"); return $query->result_array(); } public function delete_evaluation($prev_students) { if (!empty($prev_students)) { $this->db->where_in("id", $prev_students)->delete("homework_evaluation"); } } public function count_students($class_id, $section_id) { $query = $this->db->select("student_session.student_id")->join("student_session", "students.id = student_session.student_id")->where(array('student_session.class_id' => $class_id, 'student_session.section_id' => $section_id, 'students.is_active' => "yes",'student_session.session_id'=>$this->current_session))->group_by("student_session.student_id")->get("students"); return $query->num_rows(); } public function count_evalstudents($id, $class_id, $section_id) { $array['homework.id']=$id; $array['homework.session_id']=$this->current_session; $array['students.is_active']='yes'; $query = $this->db->select("count(*) as total")->join("homework_evaluation", "homework_evaluation.homework_id = homework.id")->join('student_session','student_session.id=homework_evaluation.student_session_id')->join('students','students.id=student_session.student_id')->where($array)->get("homework"); return $query->row_array(); } public function get_homeworkDoc($student_id) { return $this->db->select('*')->from('submit_assignment')->where('student_id', $student_id)->get()->result_array(); } public function get_homeworkDocByhomework_id($homework_id) { return $this->db->select('*')->from('submit_assignment')->where('homework_id', $homework_id)->get()->result_array(); } public function getStudentHomeworkWithStatus($class_id, $section_id, $student_session_id) { $sql = "SELECT `homework`.*,IFNULL(homework_evaluation.id,0) as homework_evaluation_id, `classes`.`class`, `sections`.`section`, `subject_group_subjects`.`subject_id`, `subject_group_subjects`.`id` as `subject_group_subject_id`, `subjects`.`name` as `subject_name`, `subject_groups`.`id` as `subject_groups_id`, `subject_groups`.`name` FROM `homework` LEFT JOIN homework_evaluation on homework_evaluation.homework_id=homework.id and homework_evaluation.student_session_id=" . $this->db->escape($student_session_id) . " JOIN `classes` ON `classes`.`id` = `homework`.`class_id` JOIN `sections` ON `sections`.`id` = `homework`.`section_id` JOIN `subject_group_subjects` ON `subject_group_subjects`.`id` = `homework`.`subject_group_subject_id` JOIN `subjects` ON `subjects`.`id` = `subject_group_subjects`.`subject_id` JOIN `subject_groups` ON `subject_group_subjects`.`subject_group_id`=`subject_groups`.`id` WHERE `homework`.`class_id` = " . $this->db->escape($class_id) . " AND `homework`.`section_id` = " . $this->db->escape($section_id) . " AND `homework`.`session_id` = ".$this->current_session." order by homework.homework_date desc"; $query = $this->db->query($sql); return $query->result_array(); } public function getStudentHomework($class_id, $section_id) { $this->db->select("`homework`.*,classes.class,sections.section,subject_group_subjects.subject_id,subject_group_subjects.id as `subject_group_subject_id`,subjects.name as subject_name,subject_groups.id as subject_groups_id,subject_groups.name,(select count(*) as total from submit_assignment where submit_assignment.homework_id=homework.id) as assignments"); $this->db->join("classes", "classes.id = homework.class_id"); $this->db->join("sections", "sections.id = homework.section_id"); $this->db->join("subject_group_subjects", "subject_group_subjects.id = homework.subject_group_subject_id"); $this->db->join("subjects", "subjects.id = subject_group_subjects.subject_id"); $this->db->join("subject_groups", "subject_group_subjects.subject_group_id=subject_groups.id"); $this->db->where(array('homework.class_id' => $class_id, 'homework.section_id' => $section_id)); $this->db->where('homework.session_id', $this->current_session); $query = $this->db->get("homework"); return $query->result_array(); // $query = $this->db->select("homework.*,subjects.name,sections.section,classes.class")->join("classes", "classes.id = homework.class_id")->join("sections", "sections.id = homework.section_id")->join("subjects", "subjects.id = homework.subject_id")->where(array('homework.class_id' => $class_id, 'homework.section_id' => $section_id))->get("homework"); // return $query->result_array(); } public function get_HomeworkSubject($subjectgroup_id) { return $this->db->select('subjects.name as subject,subjects.code')->from('subject_group_subjects')->join('subjects', 'subject_group_subjects.subject_id=subjects.id')->where('subject_group_subjects.subject_group_id', $subjectgroup_id)->get()->result_array(); } public function upload_docs($data) { $this->db->where('homework_id',$data['homework_id']); $this->db->where('student_id',$data['student_id']); $q = $this->db->get('submit_assignment'); if ( $q->num_rows() > 0 ) { $this->db->where('homework_id',$data['homework_id']); $this->db->where('student_id',$data['student_id']); $this->db->update('submit_assignment',$data); } else { $this->db->insert('submit_assignment',$data); } } // public function upload_docs($data) // { // if (isset($data['id']) && $data['id'] != null) { // $this->db->where("id", $data["id"])->update("submit_assignment", $data); // return $data['id']; // } else { // $this->db->insert("submit_assignment", $data); // return $this->db->insert_id(); // } // } public function get_upload_docs($array) { return $this->db->select('*')->from('submit_assignment')->where($array)->get()->result_array(); } public function getEvaluationReportForStudent($id, $student_id) { $query = $this->db->select("homework.*,homework_evaluation.student_id,homework_evaluation.id as evalid,homework_evaluation.date,homework_evaluation.status,homework_evaluation.student_id,classes.class,sections.section")->join("classes", "classes.id = homework.class_id")->join("sections", "sections.id = homework.section_id")->join("homework_evaluation", "homework.id = homework_evaluation.homework_id")->where("homework.id", $id)->get("homework"); //->where("homework_evaluation.student_id", $student_id) $result = $query->result_array(); foreach ($result as $key => $value) { if ($value["student_id"] == $student_id) { return $value; } else { $data = array('date' => $value["date"], 'status' => 'Incomplete'); return $data; } } //return $query->result_array(); } public function get_homeworkDocBystudentId($homework_id, $student_id) { $where = array('submit_assignment.homework_id' => $homework_id, 'submit_assignment.student_id' => $student_id); $query = $this->db->select('students.*,submit_assignment.docs,submit_assignment.message')->from('submit_assignment')->join('students', 'students.id=submit_assignment.student_id', 'inner')->where($where)->get(); return $query->result_array(); } public function check_assignment($homework_id,$student_id){ $status=$this->db->select('*')->from('submit_assignment')->where(array('homework_id'=>$homework_id,'student_id'=>$student_id))->get()->num_rows(); return $status; } }