579 lines
25 KiB
PHP
Executable File
579 lines
25 KiB
PHP
Executable File
<?php if (!defined('BASEPATH'))
|
|
exit('No direct script access allowed');
|
|
|
|
class Mobile extends CI_Controller
|
|
{
|
|
function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->load->database();
|
|
if ($this->validate_auth_key() != 'success')
|
|
die;
|
|
}
|
|
|
|
function get_class() {
|
|
$response = array();
|
|
$classes = $this->db->get('class')->result_array();
|
|
foreach($classes as $row) {
|
|
$data['class_id'] = $row['class_id'];
|
|
$data['name'] = $row['name'];
|
|
$data['name_numeric'] = $row['name_numeric'];
|
|
$data['teacher_id'] = $row['teacher_id'];
|
|
$sections = $this->db->get_where('section' , array('class_id' => $row['class_id']))->result_array();
|
|
$data['sections'] = $sections;
|
|
array_push($response , $data);
|
|
}
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_image_url($type = '', $id = '') {
|
|
$type = $this->input->post('user_type');
|
|
$id = $this->input->post('user_id');
|
|
$response = array();
|
|
|
|
if (file_exists('uploads/' . $type . '_image/' . $id . '.jpg'))
|
|
$response['image_url'] = base_url() . 'uploads/' . $type . '_image/' . $id . '.jpg';
|
|
else
|
|
$response['image_url'] = base_url() . 'uploads/user.jpg';
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_system_info() {
|
|
$response['system_name'] = $this->db->get_where('settings' , array('type' => 'system_name'))->row()->description;
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_students_of_class() {
|
|
$response = array();
|
|
$class_id = $this->input->post('class_id');
|
|
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
|
|
$students = $this->db->get_where('enroll' , array('class_id' => $class_id , 'year' => $running_year))->result_array();
|
|
|
|
foreach ($students as $row) {
|
|
$data['student_id'] = $row['student_id'];
|
|
$data['roll'] = $row['roll'];
|
|
|
|
$data['name'] = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->name;
|
|
$data['birthday'] = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->birthday;
|
|
$data['gender'] = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->sex;
|
|
$data['address'] = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->address;
|
|
$data['phone'] = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->phone;
|
|
$data['email'] = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->email;
|
|
$data['class'] = $this->db->get_where('class' , array('class_id' => $row['class_id']))->row()->name;
|
|
$data['section'] = $this->db->get_where('section' , array('section_id' => $row['section_id']))->row()->name;
|
|
$parent_id = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->parent_id;
|
|
$data['parent_name']= $this->db->get_where('parent' , array('parent_id' => $parent_id))->row()->name;
|
|
|
|
$data['image_url'] = $this->crud_model->get_image_url( 'student' , $row['student_id'] );
|
|
|
|
array_push($response , $data);
|
|
}
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_student_profile_information() {
|
|
$response = array();
|
|
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
|
|
$student_id = $this->input->post('student_id');
|
|
$roll = $this->db->get_where('enroll' , array('student_id' => $student_id , 'year' => $running_year))->row()->roll;
|
|
$class_id = $this->db->get_where('enroll' , array('student_id' => $student_id , 'year' => $running_year))->row()->class_id;
|
|
$section_id = $this->db->get_where('enroll' , array('student_id' => $student_id , 'year' => $running_year))->row()->section_id;
|
|
|
|
$student_profile= $this->db->get_where('student' , array('student_id' => $student_id))->result_array();
|
|
|
|
foreach ($student_profile as $row) {
|
|
$data['student_id'] = $row['student_id'];
|
|
$data['name'] = $row['name'];
|
|
$data['birthday'] = $row['birthday'];
|
|
$data['gender'] = $row['sex'];
|
|
$data['address'] = $row['address'];
|
|
$data['phone'] = $row['phone'];
|
|
$data['email'] = $row['email'];
|
|
$data['roll'] = $roll;
|
|
$data['class'] = $class_id;
|
|
$data['section'] = $section_id;
|
|
$data['parent_name']= $this->db->get_where('parent' , array('parent_id' => $row['parent_id']))->row()->name;
|
|
$data['image_url'] = $this->crud_model->get_image_url( 'student' , $row['student_id'] );
|
|
array_push($response , $data);
|
|
}
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_student_mark_information() {
|
|
$response = array();
|
|
$mark_array = array();
|
|
$exam_id = $this->input->post('exam_id');
|
|
$student_id = $this->input->post('student_id');
|
|
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
|
|
$student_marks = $this->db->get_where('mark' , array('exam_id' => $exam_id ,
|
|
'student_id' => $student_id,
|
|
'year' => $running_year))->result_array();
|
|
|
|
$response['exam_id'] = $exam_id;
|
|
foreach ($student_marks as $row) {
|
|
$data['mark_obtained'] = $row['mark_obtained'];
|
|
$data['subject'] = $this->db->get_where('subject' ,
|
|
array('subject_id' => $row['subject_id'],
|
|
'year' => $running_year))->row()->name;
|
|
|
|
$grade = $this->crud_model->get_grade($row['mark_obtained']);
|
|
$data['grade'] = $grade['name'];
|
|
array_push($mark_array , $data);
|
|
}
|
|
$response['marks'] = $mark_array;
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_teachers() {
|
|
$response = array();
|
|
$teachers = $this->db->get('teacher')->result_array();
|
|
foreach ($teachers as $row) {
|
|
$data['teacher_id'] = $row['teacher_id'];
|
|
$data['name'] = $row['name'];
|
|
$data['birthday'] = $row['birthday'];
|
|
$data['gender'] = $row['sex'];
|
|
$data['address'] = $row['address'];
|
|
$data['phone'] = $row['phone'];
|
|
$data['email'] = $row['email'];
|
|
$data['image_url'] = $this->crud_model->get_image_url( 'teacher' , $row['teacher_id'] );
|
|
array_push($response , $data);
|
|
}
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_teacher_profile() {
|
|
$response = array();
|
|
$teacher_id = $this->input->post('teacher_id');
|
|
$response = $this->db->get_where('teacher' , array('teacher_id' => $teacher_id))->row();
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_parents() {
|
|
$response = array();
|
|
$parents = $this->db->get('parent')->result_array();
|
|
foreach ($parents as $row) {
|
|
$data['parent_id'] = $row['parent_id'];
|
|
$data['name'] = $row['name'];
|
|
$data['profession'] = $row['profession'];
|
|
$data['address'] = $row['address'];
|
|
$data['phone'] = $row['phone'];
|
|
$data['email'] = $row['email'];
|
|
$data['image_url'] = $this->crud_model->get_image_url( 'parent' , $row['parent_id'] );
|
|
array_push($response , $data);
|
|
}
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_parent_profile() {
|
|
$response = array();
|
|
$parent_id = $this->input->post('parent_id');
|
|
$response = $this->db->get_where('parent' , array('parent_id' => $parent_id))->row();
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_accounting() {
|
|
$response = array();
|
|
$month = $this->input->post('month');
|
|
$year = $this->input->post('year');
|
|
$type = $this->input->post('type');
|
|
$start_timestamp= strtotime("1-".$month."-".$year);
|
|
$end_timestamp = strtotime("30-".$month."-".$year);
|
|
$this->db->where("timestamp >=" , $start_timestamp);
|
|
$this->db->where("timestamp <=" , $end_timestamp);
|
|
$this->db->where("payment_type" , $type);
|
|
$response = $this->db->get('payment')->result_array();
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_attendance() {
|
|
$response = array();
|
|
$date = $this->input->post('date');
|
|
$month = $this->input->post('month');
|
|
$year = $this->input->post('year');
|
|
$class_id = $this->input->post('class_id');
|
|
$timestamp = strtotime($date.'-'.$month.'-'.$year);
|
|
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
|
|
|
|
$students = $this->db->get_where('enroll' , array('class_id' => $class_id, 'year'=>$running_year))->result_array();
|
|
foreach ($students as $row) {
|
|
$data['student_id'] = $row['student_id'];
|
|
$data['roll'] = $row['roll'];
|
|
$data['name'] = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->name;
|
|
|
|
$attendance_query = $this->db->get_where('attendance' , array('timestamp' => $timestamp ,
|
|
'student_id' => $row['student_id']));
|
|
if ( $attendance_query->num_rows() > 0) {
|
|
$attendance_result_row = $attendance_query->row();
|
|
$data['status'] = $attendance_result_row->status;
|
|
}
|
|
else {
|
|
$data['status'] = '0';
|
|
}
|
|
|
|
array_push($response , $data);
|
|
}
|
|
|
|
echo json_encode($response);
|
|
}
|
|
|
|
|
|
function get_class_routine() {
|
|
|
|
$response = array();
|
|
$class_id = $this->input->post('class_id');
|
|
$section_id = $this->input->post('section_id');
|
|
$day = $this->input->post('day');
|
|
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
|
|
$class_routines = $this->db->get_where('class_routine' , array('class_id' => $class_id ,
|
|
'section_id' => $section_id ,
|
|
'day' => $day,
|
|
'year' => $running_year))->result_array();
|
|
foreach ($class_routines as $row) {
|
|
$data['class_id'] = $row['class_id'];
|
|
$data['subject'] = $this->db->get_where('subject',array('subject_id' => $row['subject_id'],
|
|
'year'=>$running_year))->row()->name;
|
|
$data['time_start'] = $row['time_start'];
|
|
$data['time_end'] = $row['time_end'];
|
|
$data['time_start_min'] = $row['time_start_min'];
|
|
$data['time_end_min'] = $row['time_end_min'];
|
|
$data['day'] = $row['day'];
|
|
|
|
array_push($response , $data);
|
|
}
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_subject_name() {
|
|
|
|
$response = array();
|
|
$subject_id = $this->input->post('subject_id');
|
|
$response = $this->db->get_where('subject' , array('subject_id' => $subject_id))->row();
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_event_calendar() {
|
|
|
|
$response = array();
|
|
$response = $this->db->get('noticeboard')->result_array();
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_exam_list() {
|
|
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
|
|
$response = array();
|
|
$response = $this->db->get_where('exam', array('year'=>$running_year))->result_array();
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_subject_of_class() {
|
|
|
|
$response = array();
|
|
$class_id = $this->input->post('class_id');
|
|
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
|
|
$subjects = $this->db->get_where('subject' , array('class_id' => $class_id , 'year' => $running_year))->result_array();
|
|
|
|
foreach ($subjects as $row) {
|
|
$data['subject_id'] = $row['subject_id'];
|
|
$data['name'] = $row['name'];
|
|
|
|
$teacher_query = $this->db->get_where('teacher' , array('teacher_id' => $row['teacher_id']));
|
|
if ( $teacher_query->num_rows() > 0) {
|
|
$teacher_query_row = $teacher_query->row();
|
|
$data['teacher_name'] = $teacher_query_row->name;
|
|
}
|
|
else {
|
|
$data['teacher_name'] = '';
|
|
}
|
|
|
|
|
|
array_push($response , $data);
|
|
}
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_marks() {
|
|
|
|
$response = array();
|
|
$exam_id = $this->input->post('exam_id');
|
|
$class_id = $this->input->post('class_id');
|
|
$subject_id = $this->input->post('subject_id');
|
|
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
|
|
|
|
$marks = $this->db->get_where('mark' , array('exam_id' => $exam_id ,
|
|
'class_id' => $class_id ,
|
|
'subject_id' => $subject_id,
|
|
'year' => $running_year))->result_array();
|
|
foreach ( $marks as $row ) {
|
|
$data['class_id'] = $row['class_id'];
|
|
$data['student_id'] = $row['student_id'];
|
|
$data['student_name'] = $this->db->get_where('student',array('student_id' => $row['student_id']))->row()->name;
|
|
$data['student_roll'] = $this->db->get_where('enroll',array('student_id' => $row['student_id'], 'year'=>$running_year))->row()->roll;
|
|
$data['exam_id'] = $row['exam_id'];
|
|
$data['mark_obtained'] = $row['mark_obtained'];
|
|
|
|
array_push($response , $data);
|
|
}
|
|
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_loggedin_user_profile() {
|
|
|
|
$response = array();
|
|
$login_type = $this->input->post('login_type');
|
|
$login_user_id = $this->input->post('login_user_id');
|
|
$user_profile = $this->db->get_where( $login_type , array( $login_type.'_id' => $login_user_id ))->result_array();
|
|
|
|
foreach ($user_profile as $row) {
|
|
$data['name'] = $row['name'];
|
|
$data['email'] = $row['email'];
|
|
$data['image_url'] = $this->crud_model->get_image_url( $login_type , $login_user_id );
|
|
break;
|
|
}
|
|
array_push($response , $data);
|
|
|
|
echo json_encode($response);
|
|
|
|
}
|
|
|
|
|
|
function update_user_image() {
|
|
$response = array();
|
|
$user_type = $this->input->post('login_type');
|
|
$user_id = $this->input->post('login_user_id');
|
|
|
|
$directory = 'uploads/' . $user_type . '_image/' . $user_id . '.jpg';
|
|
move_uploaded_file($_FILES['user_image']['tmp_name'], $directory);
|
|
|
|
$response = array('update_status' => 'success');
|
|
echo json_encode($response);
|
|
}
|
|
|
|
|
|
function update_user_info() {
|
|
$response = array();
|
|
$user_type = $this->input->post('login_type');
|
|
$user_id = $this->input->post('login_user_id');
|
|
|
|
$data['name'] = $this->input->post('name');
|
|
$data['email'] = $this->input->post('email');
|
|
$this->db->where( $user_type . '_id' , $user_id);
|
|
$this->db->update( $user_type , $data);
|
|
|
|
|
|
$response = array('update_status' => 'success');
|
|
echo json_encode($response);
|
|
}
|
|
|
|
|
|
function update_user_password() {
|
|
$response = array();
|
|
$user_type = $this->input->post('login_type');
|
|
$user_id = $this->input->post('login_user_id');
|
|
|
|
$old_password = sha1( $this->input->post('old_password') );
|
|
$data['password'] = sha1( $this->input->post('new_password') );
|
|
$this->db->where( $user_type . '_id' , $user_id);
|
|
$this->db->where( 'password' , $old_password);
|
|
$verify_query = $this->db->get( $user_type );
|
|
|
|
if ( $verify_query->num_rows() > 0 ) {
|
|
$this->db->where( $user_type . '_id' , $user_id);
|
|
$this->db->update( $user_type , $data);
|
|
|
|
$response = array('update_status' => 'success');
|
|
}
|
|
else {
|
|
$response = array('update_status' => 'failed');
|
|
}
|
|
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_total_summary() {
|
|
|
|
$response = array();
|
|
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
|
|
$this->db->where('year' , $running_year);
|
|
$this->db->from('enroll');
|
|
$response['total_student'] = $this->db->count_all_results();
|
|
$response['total_teacher'] = $this->db->count_all('teacher');
|
|
$response['total_parent'] = $this->db->count_all('parent');
|
|
$check = array('timestamp' => strtotime(date('d-m-Y')) , 'status' => '1');
|
|
$query = $this->db->get_where('attendance' , $check);
|
|
$present_today = $query->num_rows();
|
|
|
|
$response['total_present_today'] = $present_today;
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function getdata() {
|
|
|
|
$response = array();
|
|
$postvar = $this->input->post('postvar');
|
|
$response = $this->db->get_where('table' , array('postvar' => $postvar))->result_array();
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_children_of_parent() {
|
|
|
|
$response = array();
|
|
$parent_id = $this->input->post('parent_id');
|
|
$response['children'] = $this->db->get_where('student' , array('parent_id' => $parent_id))->result_array();
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function get_child_class_routine() {
|
|
|
|
}
|
|
|
|
function get_child_exam_marks() {
|
|
|
|
}
|
|
|
|
function get_child_accounting() {
|
|
|
|
}
|
|
|
|
function get_own_subjects() {
|
|
|
|
}
|
|
|
|
function get_own_class_routine() {
|
|
|
|
}
|
|
|
|
function get_own_marks() {
|
|
|
|
}
|
|
|
|
function get_single_student_accounting() {
|
|
|
|
$response = array();
|
|
$student_id = $this->input->post("student_id");
|
|
$this->db->where("student_id" , $student_id);
|
|
$response = $this->db->get('invoice')->result_array();
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function login() {
|
|
$response = array();
|
|
$email = $this->input->post("email");
|
|
$password = sha1($this->input->post("password"));
|
|
|
|
$query = $this->db->get_where('admin', array('email' => $email , 'password' => $password));
|
|
if ($query->num_rows() > 0) {
|
|
$row = $query->row();
|
|
|
|
$authentication_key = md5( rand(10000, 1000000));
|
|
$response['status'] = 'success';
|
|
$response['login_type'] = 'admin';
|
|
$response['login_user_id'] = $row->admin_id;
|
|
$response['name'] = $row->name;
|
|
$response['authentication_key']=$authentication_key;
|
|
|
|
$this->db->where('admin_id' , $row->admin_id);
|
|
$this->db->update('admin' , array('authentication_key' => $authentication_key));
|
|
|
|
echo json_encode($response);
|
|
return;
|
|
|
|
}
|
|
|
|
$query = $this->db->get_where('teacher', array('email' => $email , 'password' => $password));
|
|
if ($query->num_rows() > 0) {
|
|
$row = $query->row();
|
|
|
|
$authentication_key = md5( rand(10000, 1000000));
|
|
$response['status'] = 'success';
|
|
$response['login_type'] = 'teacher';
|
|
$response['login_user_id'] = $row->teacher_id;
|
|
$response['name'] = $row->name;
|
|
$response['authentication_key']=$authentication_key;
|
|
$this->db->where('teacher_id' , $row->teacher_id);
|
|
$this->db->update('teacher' , array('authentication_key' => $authentication_key));
|
|
echo json_encode($response);
|
|
return;
|
|
|
|
}
|
|
|
|
$query = $this->db->get_where('student', array('email' => $email , 'password' => $password));
|
|
if ($query->num_rows() > 0) {
|
|
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
|
|
|
|
$row = $query->row();
|
|
|
|
$authentication_key = md5( rand(10000, 1000000));
|
|
$response['status'] = 'success';
|
|
$response['login_type'] = 'student';
|
|
$response['login_user_id'] = $row->student_id;
|
|
$response['name'] = $row->name;
|
|
$response['authentication_key']=$authentication_key;
|
|
|
|
$response['class_id'] = $this->db->get_where('enroll' , array(
|
|
'student_id' => $row->student_id , 'year' => $running_year
|
|
))->row()->class_id;
|
|
|
|
$response['section_id'] = $this->db->get_where('enroll' , array(
|
|
'student_id' => $row->student_id , 'year' => $running_year
|
|
))->row()->section_id;
|
|
$this->db->where('student_id' , $row->student_id);
|
|
$this->db->update('student' , array('authentication_key' => $authentication_key));
|
|
echo json_encode($response);
|
|
return;
|
|
|
|
}
|
|
|
|
$query = $this->db->get_where('parent', array('email' => $email , 'password' => $password));
|
|
if ($query->num_rows() > 0) {
|
|
$row = $query->row();
|
|
|
|
$authentication_key = md5( rand(10000, 1000000));
|
|
$response['status'] = 'success';
|
|
$response['login_type'] = 'parent';
|
|
$response['login_user_id'] = $row->parent_id;
|
|
$response['name'] = $row->name;
|
|
$response['authentication_key']=$authentication_key;
|
|
|
|
$response['children'] = $this->db->get_where('student' , array('parent_id' => $row->parent_id))->result_array();
|
|
|
|
$this->db->where('parent_id' , $row->parent_id);
|
|
$this->db->update('parent' , array('authentication_key' => $authentication_key));
|
|
echo json_encode($response);
|
|
return;
|
|
}
|
|
else {
|
|
$response['status'] = 'failed';
|
|
}
|
|
echo json_encode($response);
|
|
}
|
|
|
|
function validate_auth_key() {
|
|
|
|
if ($this->input->post('authenticate') == 'false')
|
|
return 'success';
|
|
$response = array();
|
|
$authentication_key = $this->input->post("authentication_key");
|
|
$user_type = $this->input->post("user_type");
|
|
|
|
$query = $this->db->get_where($user_type, array('authentication_key' => $authentication_key));
|
|
if ($query->num_rows() > 0) {
|
|
$row = $query->row();
|
|
$response['status'] = 'success';
|
|
$response['login_type'] = 'admin';
|
|
if ( $user_type == 'admin' )
|
|
$response['login_user_id'] = $row->admin_id;
|
|
if ( $user_type == 'teacher' )
|
|
$response['login_user_id'] = $row->teacher_id;
|
|
if ( $user_type == 'student' )
|
|
$response['login_user_id'] = $row->student_id;
|
|
if ( $user_type == 'parent' )
|
|
$response['login_user_id'] = $row->parent_id;
|
|
$response['authentication_key']=$authentication_key;
|
|
}
|
|
else {
|
|
$response['status'] = 'failed';
|
|
}
|
|
return $response['status'];
|
|
}
|
|
} |