ok
Direktori : /home2/selectio/public_html/bharath/application/models/ |
Current File : /home2/selectio/public_html/bharath/application/models/Batchsubject_model.php |
<?php if (!defined('BASEPATH')) { exit('No direct script access allowed'); } class Batchsubject_model extends CI_Model { public function __construct() { parent::__construct(); } /** * This funtion takes id as a parameter and will fetch the record. * If id is not provided, then it will fetch all the records form the table. * @param int $id * @return mixed */ // public function getExamSubjects($id = null) // { // $this->db->select('exam_group_class_batch_exam_subjects.*,subjects.name as `subject_name`,subjects.code as `subject_code`,subjects.type as `subject_type`')->from('exam_group_class_batch_exam_subjects'); // $this->db->join('subjects', 'subjects.id = exam_group_class_batch_exam_subjects.subject_id'); // $this->db->where('exam_group_class_batch_exam_subjects.exam_group_class_batch_exams_id', $id); // $this->db->order_by('exam_group_class_batch_exam_subjects.id'); // $query = $this->db->get(); // $result = $query->result(); // return $result; // } public function getExamSubjects($id = null) { $subject_condition=0; $userdata = $this->customlib->getUserData(); $role_id = $userdata["role_id"]; if (isset($role_id) && ($userdata["role_id"] == 2) && ($userdata["class_teacher"] == "yes")) { if($userdata["class_teacher"] == 'yes') { $my_classes=$this->teacher_model->my_classes($userdata['id']); if(!empty($my_classes)){ $subject_condition=0; }else{ $subject_condition=1; $my_subjects=$this->teacher_model->get_examsubjects($userdata['id']); } } } $this->db->select('exam_group_class_batch_exam_subjects.*,subjects.name as `subject_name`,subjects.code as `subject_code`,subjects.type as `subject_type`')->from('exam_group_class_batch_exam_subjects'); $this->db->join('subjects', 'subjects.id = exam_group_class_batch_exam_subjects.subject_id'); $this->db->where('exam_group_class_batch_exam_subjects.exam_group_class_batch_exams_id', $id); if($subject_condition==1){ $this->db->where_in('subjects.id',$my_subjects); } $this->db->order_by('exam_group_class_batch_exam_subjects.id'); $query = $this->db->get(); $result = $query->result(); return $result; } public function getExamstudentSubjects($id = null){ $this->db->select('exam_group_class_batch_exam_subjects.*,subjects.name as `subject_name`,subjects.code as `subject_code`,subjects.type as `subject_type`')->from('exam_group_class_batch_exam_subjects'); $this->db->join('subjects', 'subjects.id = exam_group_class_batch_exam_subjects.subject_id'); $this->db->where('exam_group_class_batch_exam_subjects.exam_group_class_batch_exams_id', $id); $this->db->order_by('exam_group_class_batch_exam_subjects.id'); $query = $this->db->get(); $result = $query->result(); return $result; } public function examGroupExamResult($class_id, $batch_id, $exam_group_class_batch_exams_id) { $exam_students = $this->attempt_exam_students($class_id, $batch_id, $exam_group_class_batch_exams_id); if (!empty($exam_students)) { foreach ($exam_students as $exam_result_student_key => $exam_result_student_value) { $sql = "SELECT `exam_group_class_batch_exam_subjects`.*,exam_group_exam_results.id as exam_group_exam_result_id,exam_group_exam_results.exam_group_student_id,exam_group_exam_results.exam_group_class_batch_exam_subject_id,exam_group_exam_results.attendence,exam_group_exam_results.get_marks,exam_group_exam_results.note FROM `exam_group_class_batch_exam_subjects` LEFT JOIN exam_group_exam_results on exam_group_exam_results.exam_group_class_batch_exam_subject_id= exam_group_class_batch_exam_subjects.id and exam_group_exam_results.exam_group_student_id=" . $exam_result_student_value->id . " WHERE exam_group_class_batch_exams_id=" . $exam_group_class_batch_exams_id . " ORDER BY `exam_group_class_batch_exams_id` DESC"; $query = $this->db->query($sql); $exam_students[$exam_result_student_key]->marks_result = $query->result(); } } return $exam_students; } public function attempt_exam_students($class_id, $batch_id, $exam_group_class_batch_exams_id) { $sql = "SELECT exam_group_students.*,student.admission_no , student.id as `student_id`, student.roll_no,student.admission_date,student.firstname, student.lastname,student.image, student.mobileno, student.email ,student.state , student.city , student.pincode,student.father_name,student.dob,student.gender FROM `exam_group_students` INNER JOIN exam_groups on exam_groups.id= exam_group_students.exam_group_id INNER join (SELECT exam_groups.id FROM `exam_group_class_batch_exam_subjects` INNER JOIN exam_group_class_batch_exams on exam_group_class_batch_exam_subjects.exam_group_class_batch_exams_id=exam_group_class_batch_exams.id inner JOIN exam_groups on exam_groups.id= exam_group_class_batch_exams.exam_group_id where exam_group_class_batch_exams_id=" . $exam_group_class_batch_exams_id . " GROUP by exam_group_class_batch_exams_id ORDER BY `exam_group_class_batch_exams_id`) as exam_group on exam_group.id=exam_group_students.exam_group_id INNER JOIN (SELECT students.* from student_session INNER JOIN students on students.id=student_session.student_id WHERE student_session.class_id=" . $class_id . " and students.batch_id=" . $batch_id . " GROUP BY student_session.student_id) as student on student.id=exam_group_students.student_id"; $query = $this->db->query($sql); return $query->result(); } public function get($id = null) { $this->db->select('class_batches.*,classes.class,sections.section,batch.name')->from('class_batches'); $this->db->join('class_sections', 'class_batches.class_section_id = class_sections.id'); $this->db->join('batch', 'batch.id = class_batches.batch_id'); $this->db->join('classes', 'classes.id = class_sections.class_id'); $this->db->join('sections', 'sections.id = class_sections.section_id'); if ($id != null) { $this->db->where('class_batches.id', $id); } else { $this->db->order_by('class_batches.id'); } $query = $this->db->get(); if ($id != null) { $result = $query->row(); } else { $result = $query->result(); foreach ($result as $key => $value) { $value->batch_subjects = $this->getClassBatchSubjects($value->id); } return $result; } } public function getClassBatchSubjects($id = null) { $this->db->select('class_batch_subjects.*,name as `subject_name`'); $this->db->from('class_batch_subjects'); $this->db->join('subjects', 'subjects.id = class_batch_subjects.subject_id'); $this->db->where('class_batch_subjects.class_batch_id', $id); $this->db->order_by('class_batch_subjects.id', 'asc'); $query = $this->db->get(); return $query->result(); } public function getByID($id = null) { $this->db->select('class_batch_subjects.*,class_batches.class_section_id as `class_section_id`,class_batches.batch_id, `class_sections`.`class_id`,`class_sections`.`section_id`'); $this->db->from('class_batch_subjects'); $this->db->join('class_batches', 'class_batches.id = class_batch_subjects.class_batch_id'); $this->db->join('class_sections', 'class_sections.id = class_batches.class_section_id'); $this->db->where('class_batch_subjects.id', $id); $this->db->order_by('class_batch_subjects.id', 'asc'); $query = $this->db->get(); return $query->row(); } /** * This function will delete the record based on the id * @param $id */ public function remove($id) { $this->db->trans_begin(); $record = $this->getByID($id); $class_batch_id = $record->class_batch_id; $this->db->where('id', $id); $this->db->delete('class_batch_subjects'); //class record delete. $this->db->select('*'); $this->db->where('class_batch_subjects.class_batch_id', $class_batch_id); $query = $this->db->get('class_batch_subjects'); if ($query->num_rows() <= 0) { $this->db->where('id', $class_batch_id); $this->db->delete('class_batches'); //class record delete. } if ($this->db->trans_status() === false) { $this->db->trans_rollback(); } else { $this->db->trans_commit(); } return true; } public function removeGroup($id) { $this->db->trans_begin(); $this->db->where('id', $id); $this->db->delete('class_batches'); //class record delete. if ($this->db->trans_status() === false) { $this->db->trans_rollback(); } else { $this->db->trans_commit(); } return true; } public function add($data) { $this->db->trans_start(); $this->db->trans_strict(false); $insert_id = ""; $subject_id = $data['subject_id']; $is_exam = $data['is_exam']; $batchsubject_id = $this->batchsubject_exists($data['class_section_id'], $data['batch_id']); if (!$batchsubject_id) { unset($data['subject_id']); unset($data['is_exam']); $this->db->insert('class_batches', $data); $insert_id = $this->db->insert_id(); } else { $insert_id = $batchsubject_id; } if (isset($data['id'])) { $subject_array = array( 'id' => $data['id'], 'class_batch_id' => $insert_id, 'subject_id' => $subject_id, 'is_exam' => $is_exam, ); $this->db->where('id', $data['id']); $insert_id = $this->db->update('class_batch_subjects', $subject_array); } else { $subject_array = array( 'class_batch_id' => $insert_id, 'subject_id' => $subject_id, 'is_exam' => $is_exam, ); $insert_id = $this->db->insert('class_batch_subjects', $subject_array); } $this->db->trans_complete(); if ($this->db->trans_status() === false) { $this->db->trans_rollback(); return false; } else { $this->db->trans_commit(); return true; } } public function batchsubject_exists($class_section_id, $batch_id) { $this->db->where('class_section_id', $class_section_id); $this->db->where('batch_id', $batch_id); $query = $this->db->get('class_batches'); if ($query->num_rows() > 0) { return $query->row()->id; } return false; } public function check_data_exists($data) { $this->db->where('class', $data); $query = $this->db->get('class_batches'); if ($query->num_rows() > 0) { return $query->row(); } else { return false; } } public function class_exists($str) { $class = $this->security->xss_clean($str); $res = $this->check_data_exists($class); if ($res) { $pre_class_id = $this->input->post('pre_class_id'); if (isset($pre_class_id)) { if ($res->id == $pre_class_id) { return true; } } $this->form_validation->set_message('class_exists', 'Record already exists'); return false; } else { return true; } } public function getBatchClass($id = null) { $this->db->select('class_batches.*,classes.id as class_id,classes.class')->from('class_batches'); $this->db->join('class_sections', 'class_batches.class_section_id = class_sections.id'); $this->db->join('classes', 'classes.id = class_sections.class_id'); $this->db->order_by('class_batches.id'); $this->db->group_by('classes.id'); $query = $this->db->get(); $result = $query->result(); return $result; } public function getBatchSectionByClass($classid) { $this->db->select('class_batches.*,classes.id as class_id,class_sections.id as class_section_id,classes.class,sections.section')->from('class_batches'); $this->db->join('class_sections', 'class_batches.class_section_id = class_sections.id'); $this->db->join('classes', 'classes.id = class_sections.class_id'); $this->db->join('sections', 'sections.id = class_sections.section_id'); $this->db->order_by('class_batches.id'); $this->db->where('classes.id', $classid); $this->db->group_by('class_batches.class_section_id'); $query = $this->db->get(); $result = $query->result(); return $result; } public function getBatchByClassSection($class_section_id) { $this->db->select('class_batches.*,classes.id as class_id,class_sections.id as class_section_id,classes.class,sections.section,batch.name as `batch_name`')->from('class_batches'); $this->db->join('class_sections', 'class_batches.class_section_id = class_sections.id'); $this->db->join('batch', 'batch.id = class_batches.batch_id'); $this->db->join('classes', 'classes.id = class_sections.class_id'); $this->db->join('sections', 'sections.id = class_sections.section_id'); $this->db->order_by('class_batches.id'); $this->db->where('class_batches.class_section_id', $class_section_id); $query = $this->db->get(); $result = $query->result(); return $result; } public function getBatchByClass($class_id) { $this->db->select('student_session.*,students.firstname,students.batch_id,batch.name as `batch_name`')->from('student_session'); // $this->db->join('class_sections', 'class_batches.class_section_id = class_sections.id'); $this->db->join('classes', 'student_session.class_id = classes.id'); $this->db->join('students', 'students.id = student_session.student_id'); $this->db->join('batch', 'batch.id = students.batch_id'); $this->db->where('student_session.class_id', $class_id); $this->db->group_by('students.batch_id'); $this->db->order_by('students.id'); $query = $this->db->get(); $result = $query->result(); return $result; } public function getExamSubject($exam_subject_id) { $sql = "SELECT exam_group_class_batch_exam_subjects.*,subjects.name as `subject_name`,subjects.code FROM `exam_group_class_batch_exam_subjects` INNER JOIN subjects on subjects.id=exam_group_class_batch_exam_subjects.subject_id WHERE exam_group_class_batch_exam_subjects.id=". $this->db->escape_str($exam_subject_id); $query = $this->db->query($sql); return $query->row(); } public function valid_batchsubject() { $class_section_id = $this->input->post('section_id'); $batch_id = $this->input->post('batch_id'); $subject_id = $this->input->post('subject_id'); $id = $this->input->post('id'); if (!isset($id)) { $id = 0; } if ($this->check_batch_subject_exists($class_section_id, $subject_id, $batch_id, $id)) { $this->form_validation->set_message('check_batchsubjectexists', 'Record combination already exists'); return false; } else { return true; } } public function check_batch_subject_exists($class_section_id, $subject_id, $batch_id, $id) { if ($class_section_id != "" && $subject_id != "" && $batch_id) { $sql = "SELECT * FROM `class_batches` INNER JOIN class_batch_subjects on class_batch_subjects.class_batch_id=class_batches.id and class_batches.class_section_id=" . $this->db->escape_str($class_section_id) . " and batch_id=" . $this->db->escape_str($batch_id) . " WHERE class_batch_subjects.subject_id=" . $this->db->escape_str($subject_id) . " and class_batch_subjects.id !=" . $id; $query = $this->db->query($sql); if ($query->num_rows() > 0) { return $query->row(); } else { return false; } } return false; } }