| Server IP : 188.114.97.2 / Your IP : 104.23.197.231 Web Server : Apache/2.4.59 (Debian) System : Linux EDL-STRETCH 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64 User : edlftp ( 1002) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/git/sms.edl.codes.solutions/application/controllers/BO/ |
Upload File : |
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
/*
* @author : Creativeitem
* date : 14 september, 2017
* Ekattor School Management System Pro
* http://codecanyon.net/user/Creativeitem
* http://support.creativeitem.com
*/
class Admin extends NS_Controller
{
function __construct()
{
parent::__construct();
$this->load->database();
$this->load->library('session');
$this->load->model('Barcode_model');
/*cache control*/
$this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
$this->output->set_header('Pragma: no-cache');
}
/***default functin, redirects to login page if no admin logged in yet***/
public function index()
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url() . 'index.php?login', 'refresh');
if ($this->session->userdata('admin_login') == 1)
redirect(base_url() . 'index.php?admin/dashboard', 'refresh');
}
/***ADMIN DASHBOARD***/
function dashboard()
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$page_data['page_name'] = 'dashboard';
$page_data['page_title'] = get_phrase('admin_dashboard');
$this->load->view('backend/index', $page_data);
}
/****MANAGE STUDENTS CLASSWISE*****/
function student_add()
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$page_data['page_name'] = 'student_add';
$page_data['page_title'] = get_phrase('add_student');
$this->load->view('backend/index', $page_data);
}
function student_bulk_add()
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$page_data['page_name'] = 'student_bulk_add';
$page_data['page_title'] = get_phrase('add_bulk_student');
$this->load->view('backend/index', $page_data);
}
function student_profile($student_id)
{
if ($this->session->userdata('admin_login') != 1) {
redirect(base_url(), 'refresh');
}
$page_data['page_name'] = 'student_profile';
$page_data['page_title'] = get_phrase('student_profile');
$page_data['student_id'] = $student_id;
$this->load->view('backend/index', $page_data);
}
function get_sections($course_id)
{
$page_data['course_id'] = $course_id;
$this->load->view('backend/admin/student_bulk_add_sections' , $page_data);
}
function student_information($course_id = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
$page_data['page_name'] = 'student_information';
$page_data['page_title'] = get_phrase('student_information'). " - ".get_phrase('course')." : ".
$this->crud_model->get_course_name($course_id);
$page_data['course_id'] = $course_id;
$this->load->view('backend/index', $page_data);
}
function student_marksheet($student_id = '') {
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
$course_id = $this->db->get_where('enroll' , array(
'student_id' => $student_id , 'year' => $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description
))->row()->course_id;
$student_name = $this->db->get_where('student' , array('student_id' => $student_id))->row()->name;
$course_name = $this->db->get_where('course' , array('course_id' => $course_id))->row()->name;
$page_data['page_name'] = 'student_marksheet';
$page_data['page_title'] = get_phrase('marksheet_for') . ' ' . $student_name . ' (' . get_phrase('course') . ' ' . $course_name . ')';
$page_data['student_id'] = $student_id;
$page_data['course_id'] = $course_id;
$this->load->view('backend/index', $page_data);
}
function student_marksheet_print_view($student_id , $exam_id) {
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
$course_id = $this->db->get_where('enroll' , array(
'student_id' => $student_id , 'year' => $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description
))->row()->course_id;
$course_name = $this->db->get_where('course' , array('course_id' => $course_id))->row()->name;
$page_data['student_id'] = $student_id;
$page_data['course_id'] = $course_id;
$page_data['exam_id'] = $exam_id;
$this->load->view('backend/admin/student_marksheet_print_view', $page_data);
}
function student($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
$running_year = $this->db->get_where('settings' , array(
'type' => 'running_year'
))->row()->description;
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
if($this->input->post('birthday') != null){
$data['birthday'] = $this->input->post('birthday');
}
if($this->input->post('sex') != null){
$data['sex'] = $this->input->post('sex');
}
if($this->input->post('address') != null){
$data['address'] = $this->input->post('address');
}
if($this->input->post('phone') != null){
$data['phone'] = $this->input->post('phone');
}
if($this->input->post('student_code') != null){
$data['student_code'] = $this->input->post('student_code');
$code_validation = code_validation_insert($data['student_code']);
if(!$code_validation){
$this->session->set_flashdata('error_message' , get_phrase('this_id_no_is_not_available'));
redirect(base_url() . 'index.php?admin/student_add/', 'refresh');
}
}
$data['email'] = $this->input->post('email');
$data['password'] = sha1($this->input->post('password'));
if($this->input->post('parent_id') != null){
$data['parent_id'] = $this->input->post('parent_id');
}
if($this->input->post('dormitory_id') != null){
$data['dormitory_id'] = $this->input->post('dormitory_id');
}
if($this->input->post('transport_id') != null){
$data['transport_id'] = $this->input->post('transport_id');
}
$validation = email_validation($data['email']);
if($validation == 1){
$this->db->insert('student', $data);
$student_id = $this->db->insert_id();
$data2['student_id'] = $student_id;
$data2['enroll_code'] = substr(md5(rand(0, 1000000)), 0, 7);
if($this->input->post('course_id') != null){
$data2['course_id'] = $this->input->post('course_id');
}
if ($this->input->post('section_id') != '') {
$data2['section_id'] = $this->input->post('section_id');
}
if ($this->input->post('roll') != '') {
$data2['roll'] = $this->input->post('roll');
}
$data2['date_added'] = strtotime(date("Y-m-d H:i:s"));
$data2['year'] = $running_year;
$this->db->insert('enroll', $data2);
move_uploaded_file($_FILES['userfile']['tmp_name'], 'uploads/student_image/' . $student_id . '.jpg');
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
$this->email_model->account_opening_email('student', $data['email']); //SEND EMAIL ACCOUNT OPENING EMAIL
}
else{
$this->session->set_flashdata('error_message' , get_phrase('this_email_id_is_not_available'));
}
redirect(base_url() . 'index.php?admin/student_add/', 'refresh');
}
if ($param1 == 'do_update') {
$data['name'] = $this->input->post('name');
$data['email'] = $this->input->post('email');
$data['parent_id'] = $this->input->post('parent_id');
if ($this->input->post('birthday') != null) {
$data['birthday'] = $this->input->post('birthday');
}
if ($this->input->post('sex') != null) {
$data['sex'] = $this->input->post('sex');
}
if ($this->input->post('address') != null) {
$data['address'] = $this->input->post('address');
}
if ($this->input->post('phone') != null) {
$data['phone'] = $this->input->post('phone');
}
if ($this->input->post('dormitory_id') != null) {
$data['dormitory_id'] = $this->input->post('dormitory_id');
}
if ($this->input->post('transport_id') != null) {
$data['transport_id'] = $this->input->post('transport_id');
}
//student id
if($this->input->post('student_code') != null){
$data['student_code'] = $this->input->post('student_code');
$code_validation = code_validation_update($data['student_code'],$param2);
if(!$code_validation){
$this->session->set_flashdata('error_message' , get_phrase('this_id_no_is_not_available'));
redirect(base_url() . 'index.php?admin/student_information/'.$param3, 'refresh');
}
}
$validation = email_validation_for_edit($data['email'], $param2, 'student');
if($validation == 1){
$this->db->where('student_id', $param2);
$this->db->update('student', $data);
$data2['section_id'] = $this->input->post('section_id');
if ($this->input->post('roll') != null) {
$data2['roll'] = $this->input->post('roll');
}
else{
$data2['roll'] = null;
}
$running_year = $this->db->get_where('settings' , array('type'=>'running_year'))->row()->description;
$this->db->where('student_id' , $param2);
$this->db->where('year' , $running_year);
$this->db->update('enroll' , array(
'section_id' => $data2['section_id'] , 'roll' => $data2['roll']
));
move_uploaded_file($_FILES['userfile']['tmp_name'], 'uploads/student_image/' . $param2 . '.jpg');
$this->crud_model->clear_cache();
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
}
else{
$this->session->set_flashdata('error_message' , get_phrase('this_email_id_is_not_available'));
}
redirect(base_url() . 'index.php?admin/student_information/' . $param3, 'refresh');
}
}
function delete_student($student_id = '', $course_id = '') {
$this->crud_model->delete_student($student_id);
$this->session->set_flashdata('flash_message' , get_phrase('student_deleted'));
redirect(base_url() . 'index.php?admin/student_information/' . $course_id, 'refresh');
}
// STUDENT PROMOTION
function student_promotion($param1 = '' , $param2 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
if($param1 == 'promote') {
$running_year = $this->input->post('running_year');
$from_course_id = $this->input->post('promotion_from_course_id');
$students_of_promotion_course = $this->db->get_where('enroll' , array(
'course_id' => $from_course_id , 'year' => $running_year
))->result_array();
foreach($students_of_promotion_course as $row) {
$enroll_data['enroll_code'] = substr(md5(rand(0, 1000000)), 0, 7);
$enroll_data['student_id'] = $row['student_id'];
$enroll_data['course_id'] = $this->input->post('promotion_status_'.$row['student_id']);
$enroll_data['year'] = $this->input->post('promotion_year');
$enroll_data['date_added'] = strtotime(date("Y-m-d H:i:s"));
$this->db->insert('enroll' , $enroll_data);
}
$this->session->set_flashdata('flash_message' , get_phrase('new_enrollment_successfull'));
redirect(base_url() . 'index.php?admin/student_promotion' , 'refresh');
}
$page_data['page_title'] = get_phrase('student_promotion');
$page_data['page_name'] = 'student_promotion';
$this->load->view('backend/index', $page_data);
}
function get_students_to_promote($course_id_from , $course_id_to , $running_year , $promotion_year)
{
$page_data['course_id_from'] = $course_id_from;
$page_data['course_id_to'] = $course_id_to;
$page_data['running_year'] = $running_year;
$page_data['promotion_year'] = $promotion_year;
$this->load->view('backend/admin/student_promotion_selector' , $page_data);
}
/****MANAGE PARENTS CLASSWISE*****/
function parent($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
$data['email'] = $this->input->post('email');
$data['password'] = sha1($this->input->post('password'));
if ($this->input->post('phone') != null) {
$data['phone'] = $this->input->post('phone');
}
if ($this->input->post('address') != null) {
$data['address'] = $this->input->post('address');
}
if ($this->input->post('profession') != null) {
$data['profession'] = $this->input->post('profession');
}
$validation = email_validation($data['email']);
if($validation == 1){
$this->db->insert('parent', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
$this->email_model->account_opening_email('parent', $data['email']); //SEND EMAIL ACCOUNT OPENING EMAIL
}
else{
$this->session->set_flashdata('error_message' , get_phrase('this_email_id_is_not_available'));
}
redirect(base_url() . 'index.php?admin/parent/', 'refresh');
}
if ($param1 == 'edit') {
$data['name'] = $this->input->post('name');
$data['email'] = $this->input->post('email');
if ($this->input->post('phone') != null) {
$data['phone'] = $this->input->post('phone');
}
else{
$data['phone'] = null;
}
if ($this->input->post('address') != null) {
$data['address'] = $this->input->post('address');
}
else{
$data['address'] = null;
}
if ($this->input->post('profession') != null) {
$data['profession'] = $this->input->post('profession');
}
else{
$data['profession'] = null;
}
$validation = email_validation_for_edit($data['email'], $param2, 'parent');
if ($validation == 1) {
$this->db->where('parent_id' , $param2);
$this->db->update('parent' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
}
else{
$this->session->set_flashdata('error_message' , get_phrase('this_email_id_is_not_available'));
}
redirect(base_url() . 'index.php?admin/parent/', 'refresh');
}
if ($param1 == 'delete') {
$this->db->where('parent_id' , $param2);
$this->db->delete('parent');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/parent/', 'refresh');
}
$page_data['page_title'] = get_phrase('all_parents');
$page_data['page_name'] = 'parent';
$this->load->view('backend/index', $page_data);
}
/****MANAGE TEACHERS*****/
function teacher($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
$data['email'] = $this->input->post('email');
$data['password'] = sha1($this->input->post('password'));
if ($this->input->post('birthday') != null) {
$data['birthday'] = $this->input->post('birthday');
}
if ($this->input->post('sex') != null) {
$data['sex'] = $this->input->post('sex');
}
if ($this->input->post('address') != null) {
$data['address'] = $this->input->post('address');
}
if ($this->input->post('phone') != null) {
$data['phone'] = $this->input->post('phone');
}
if ($this->input->post('designation') != null) {
$data['designation'] = $this->input->post('designation');
}
if ($this->input->post('show_on_website') != null) {
$data['show_on_website'] = $this->input->post('show_on_website');
}
$links = array();
$social['facebook'] = $this->input->post('facebook');
$social['twitter'] = $this->input->post('twitter');
$social['linkedin'] = $this->input->post('linkedin');
array_push($links, $social);
$data['social_links'] = json_encode($links);
$validation = email_validation($data['email']);
if($validation == 1){
$this->db->insert('teacher', $data);
$teacher_id = $this->db->insert_id();
move_uploaded_file($_FILES['userfile']['tmp_name'], 'uploads/teacher_image/' . $teacher_id . '.jpg');
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
$this->email_model->account_opening_email('teacher', $data['email']); //SEND EMAIL ACCOUNT OPENING EMAIL
}
else{
$this->session->set_flashdata('error_message' , get_phrase('this_email_id_is_not_available'));
}
redirect(base_url() . 'index.php?admin/teacher/', 'refresh');
}
if ($param1 == 'do_update') {
$data['name'] = $this->input->post('name');
$data['email'] = $this->input->post('email');
if ($this->input->post('birthday') != null) {
$data['birthday'] = $this->input->post('birthday');
}
else{
$data['birthday'] = null;
}
if ($this->input->post('sex') != null) {
$data['sex'] = $this->input->post('sex');
}
if ($this->input->post('address') != null) {
$data['address'] = $this->input->post('address');
}
else{
$data['address'] = null;
}
if ($this->input->post('phone') != null) {
$data['phone'] = $this->input->post('phone');
}
else{
$data['phone'] = null;
}
if ($this->input->post('designation') != null) {
$data['designation'] = $this->input->post('designation');
}
else{
$data['designation'] = null;
}
if ($this->input->post('show_on_website') != null) {
$data['show_on_website'] = $this->input->post('show_on_website');
}
else{
$data['show_on_website'] = null;
}
$links = array();
$social['facebook'] = $this->input->post('facebook');
$social['twitter'] = $this->input->post('twitter');
$social['linkedin'] = $this->input->post('linkedin');
array_push($links, $social);
$data['social_links'] = json_encode($links);
$validation = email_validation_for_edit($data['email'], $param2, 'teacher');
if($validation == 1){
$this->db->where('teacher_id', $param2);
$this->db->update('teacher', $data);
move_uploaded_file($_FILES['userfile']['tmp_name'], 'uploads/teacher_image/' . $param2 . '.jpg');
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
}
else{
$this->session->set_flashdata('error_message' , get_phrase('this_email_id_is_not_available'));
}
redirect(base_url() . 'index.php?admin/teacher/', 'refresh');
}
else if ($param1 == 'personal_profile') {
$page_data['personal_profile'] = true;
$page_data['current_teacher_id'] = $param2;
}
else if ($param1 == 'edit') {
$page_data['edit_data'] = $this->db->get_where('teacher', array(
'teacher_id' => $param2
))->result_array();
}
if ($param1 == 'delete') {
$this->db->where('teacher_id', $param2);
$this->db->delete('teacher');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/teacher/', 'refresh');
}
$page_data['teachers'] = $this->db->get('teacher')->result_array();
$page_data['page_name'] = 'teacher';
$page_data['page_title'] = get_phrase('manage_teacher');
$this->load->view('backend/index', $page_data);
}
/****MANAGE SUBJECTS*****/
function subject($param1 = '', $param2 = '' , $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
$data['course_id'] = $this->input->post('course_id');
$data['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
if ($this->input->post('teacher_id') != null) {
$data['teacher_id'] = $this->input->post('teacher_id');
}
$this->db->insert('subject', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
redirect(base_url() . 'index.php?admin/subject/'.$data['course_id'], 'refresh');
}
if ($param1 == 'do_update') {
$data['name'] = $this->input->post('name');
$data['course_id'] = $this->input->post('course_id');
$data['teacher_id'] = $this->input->post('teacher_id');
$data['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
$this->db->where('subject_id', $param2);
$this->db->update('subject', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/subject/'.$data['course_id'], 'refresh');
} else if ($param1 == 'edit') {
$page_data['edit_data'] = $this->db->get_where('subject', array(
'subject_id' => $param2
))->result_array();
}
if ($param1 == 'delete') {
$this->db->where('subject_id', $param2);
$this->db->delete('subject');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/subject/'.$param3, 'refresh');
}
$running_year = $this->db->get_where('settings', array('type' => 'running_year'))->row()->description;
$page_data['course_id'] = $param1;
$page_data['subjects'] = $this->db->get_where('subject' , array('course_id' => $param1, 'year' => $running_year))->result_array();
$page_data['page_name'] = 'subject';
$page_data['page_title'] = get_phrase('manage_subject');
$this->load->view('backend/index', $page_data);
}
/****MANAGE CLASSES*****/
function courses($param1 = '', $param2 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
$data['teacher_id'] = $this->input->post('teacher_id');
if ($this->input->post('name_numeric') != null) {
$data['name_numeric'] = $this->input->post('name_numeric');
}
$this->db->insert('course', $data);
$course_id = $this->db->insert_id();
//create a section by default
$data2['course_id'] = $course_id;
$data2['name'] = 'A';
$data2['teacher_id']=$data['teacher_id'];
$this->db->insert('section' , $data2);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
redirect(base_url() . 'index.php?admin/courses/', 'refresh');
}
if ($param1 == 'do_update') {
$data['name'] = $this->input->post('name');
$data['teacher_id'] = $this->input->post('teacher_id');
if ($this->input->post('name_numeric') != null) {
$data['name_numeric'] = $this->input->post('name_numeric');
}
else{
$data['name_numeric'] = null;
}
$this->db->where('course_id', $param2);
$this->db->update('course', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/courses/', 'refresh');
} else if ($param1 == 'edit') {
$page_data['edit_data'] = $this->db->get_where('course', array(
'course_id' => $param2
))->result_array();
}
if ($param1 == 'delete') {
$this->db->where('course_id', $param2);
$this->db->delete('course');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/courses/', 'refresh');
}
$page_data['courses'] = $this->db->get('course')->result_array();
$page_data['page_name'] = 'course';
$page_data['page_title'] = get_phrase('manage_course');
$this->load->view('backend/index', $page_data);
}
function get_subject($course_id)
{
$subject = $this->db->get_where('subject' , array(
'course_id' => $course_id
))->result_array();
foreach ($subject as $row) {
echo '<option value="' . $row['subject_id'] . '">' . $row['name'] . '</option>';
}
}
// ACADEMIC SYLLABUS
function academic_syllabus($course_id = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
// detect the first class
if ($course_id == '')
$course_id = $this->db->get('course')->first_row()->course_id;
$page_data['page_name'] = 'academic_syllabus';
$page_data['page_title'] = get_phrase('academic_syllabus');
$page_data['course_id'] = $course_id;
$this->load->view('backend/index', $page_data);
}
function upload_academic_syllabus()
{
$data['academic_syllabus_code'] = substr(md5(rand(0, 1000000)), 0, 7);
if ($this->input->post('description') != null) {
$data['description'] = $this->input->post('description');
}
$data['title'] = $this->input->post('title');
$data['course_id'] = $this->input->post('course_id');
$data['subject_id'] = $this->input->post('subject_id');
$data['uploader_type'] = $this->session->userdata('login_type');
$data['uploader_id'] = $this->session->userdata('login_user_id');
$data['year'] = $this->db->get_where('settings',array('type'=>'running_year'))->row()->description;
$data['timestamp'] = strtotime(date("Y-m-d H:i:s"));
//uploading file using codeigniter upload library
$files = $_FILES['file_name'];
$this->load->library('upload');
$config['upload_path'] = 'uploads/syllabus/';
$config['allowed_types'] = '*';
$_FILES['file_name']['name'] = $files['name'];
$_FILES['file_name']['type'] = $files['type'];
$_FILES['file_name']['tmp_name'] = $files['tmp_name'];
$_FILES['file_name']['size'] = $files['size'];
$this->upload->initialize($config);
$this->upload->do_upload('file_name');
$data['file_name'] = $_FILES['file_name']['name'];
$this->db->insert('academic_syllabus', $data);
$this->session->set_flashdata('flash_message' , get_phrase('syllabus_uploaded'));
redirect(base_url() . 'index.php?admin/academic_syllabus/' . $data['course_id'] , 'refresh');
}
function download_academic_syllabus($academic_syllabus_code)
{
$file_name = $this->db->get_where('academic_syllabus', array(
'academic_syllabus_code' => $academic_syllabus_code
))->row()->file_name;
$this->load->helper('download');
$data = file_get_contents("uploads/syllabus/" . $file_name);
$name = $file_name;
force_download($name, $data);
}
function delete_academic_syllabus($academic_syllabus_code) {
$file_name = $this->db->get_where('academic_syllabus', array(
'academic_syllabus_code' => $academic_syllabus_code
))->row()->file_name;
if (file_exists('uploads/syllabus/'.$file_name)) {
// unlink('uploads/syllabus/'.$file_name);
}
$this->db->where('academic_syllabus_code', $academic_syllabus_code);
$this->db->delete('academic_syllabus');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/academic_syllabus' , 'refresh');
}
/****MANAGE SECTIONS*****/
function section($course_id = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
// detect the first class
if ($course_id == '')
$course_id = $this->db->get('course')->first_row()->course_id;
$page_data['page_name'] = 'section';
$page_data['page_title'] = get_phrase('manage_sections');
$page_data['course_id'] = $course_id;
$this->load->view('backend/index', $page_data);
}
function sections($param1 = '' , $param2 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
$data['course_id'] = $this->input->post('course_id');
$data['teacher_id'] = $this->input->post('teacher_id');
if ($this->input->post('nick_name') != null) {
$data['nick_name'] = $this->input->post('nick_name');
}
$validation = duplication_of_section_on_create($data['course_id'], $data['name']);
if($validation == 1){
$this->db->insert('section' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
}
else{
$this->session->set_flashdata('error_message' , get_phrase('duplicate_name_of_section_is_not_allowed'));
}
redirect(base_url() . 'index.php?admin/section/' . $data['course_id'] , 'refresh');
}
if ($param1 == 'edit') {
$data['name'] = $this->input->post('name');
$data['course_id'] = $this->input->post('course_id');
$data['teacher_id'] = $this->input->post('teacher_id');
if ($this->input->post('nick_name') != null) {
$data['nick_name'] = $this->input->post('nick_name');
}
else{
$data['nick_name'] = null;
}
$validation = duplication_of_section_on_edit($param2, $data['course_id'], $data['name']);
if ($validation == 1) {
$this->db->where('section_id' , $param2);
$this->db->update('section' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
}
else{
$this->session->set_flashdata('error_message' , get_phrase('duplicate_name_of_section_is_not_allowed'));
}
redirect(base_url() . 'index.php?admin/section/' . $data['course_id'] , 'refresh');
}
if ($param1 == 'delete') {
$this->db->where('section_id' , $param2);
$this->db->delete('section');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/section' , 'refresh');
}
}
function get_course_section($course_id)
{
$sections = $this->db->get_where('section' , array(
'course_id' => $course_id
))->result_array();
foreach ($sections as $row) {
echo '<option value="' . $row['section_id'] . '">' . $row['name'] . '</option>';
}
}
function get_course_subject($course_id)
{
$subjects = $this->db->get_where('subject' , array(
'course_id' => $course_id
))->result_array();
foreach ($subjects as $row) {
echo '<option value="' . $row['subject_id'] . '">' . $row['name'] . '</option>';
}
}
function get_course_students($course_id)
{
$students = $this->db->get_where('enroll' , array(
'course_id' => $course_id , 'year' => $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description
))->result_array();
foreach ($students as $row) {
$name = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->name;
echo '<option value="' . $row['student_id'] . '">' . $name . '</option>';
}
}
function get_course_students_mass($course_id)
{
$students = $this->db->get_where('enroll' , array(
'course_id' => $course_id , 'year' => $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description
))->result_array();
echo '<div class="form-group">
<label class="col-sm-3 control-label">' . get_phrase('students') . '</label>
<div class="col-sm-9">';
foreach ($students as $row) {
$name = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->name;
echo '<div class="checkbox">
<label><input type="checkbox" class="check" name="student_id[]" value="' . $row['student_id'] . '">' . $name .'</label>
</div>';
}
echo '<br><button type="button" class="btn btn-default" onClick="select()">'.get_phrase('select_all').'</button>';
echo '<button style="margin-left: 5px;" type="button" class="btn btn-default" onClick="unselect()"> '.get_phrase('select_none').' </button>';
echo '</div></div>';
}
/****MANAGE EXAMS*****/
function exam($param1 = '', $param2 = '' , $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
$data['date'] = $this->input->post('date');
$data['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
if ($this->input->post('comment') != null) {
$data['comment'] = $this->input->post('comment');
}
$this->db->insert('exam', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
redirect(base_url() . 'index.php?admin/exam/', 'refresh');
}
if ($param1 == 'edit' && $param2 == 'do_update') {
$data['name'] = $this->input->post('name');
$data['date'] = $this->input->post('date');
if ($this->input->post('comment') != null) {
$data['comment'] = $this->input->post('comment');
}
else{
$data['comment'] = null;
}
$data['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
$this->db->where('exam_id', $param3);
$this->db->update('exam', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/exam/', 'refresh');
}
else if ($param1 == 'edit') {
$page_data['edit_data'] = $this->db->get_where('exam', array(
'exam_id' => $param2
))->result_array();
}
if ($param1 == 'delete') {
$this->db->where('exam_id', $param2);
$this->db->delete('exam');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/exam/', 'refresh');
}
$running_year = $this->db->get_where('settings', array('type' => 'running_year'))->row()->description;
$page_data['exams'] = $this->db->get_where('exam', array('year' => $running_year))->result_array();
$page_data['page_name'] = 'exam';
$page_data['page_title'] = get_phrase('manage_exam');
$this->load->view('backend/index', $page_data);
}
/****** SEND EXAM MARKS VIA SMS ********/
function exam_marks_sms($param1 = '' , $param2 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($param1 == 'send_sms') {
$exam_id = $this->input->post('exam_id');
$course_id = $this->input->post('course_id');
$receiver = $this->input->post('receiver');
if ($exam_id != '' && $course_id != '' && $receiver != '') {
// get all the students of the selected class
$students = $this->db->get_where('enroll' , array(
'course_id' => $course_id,
'year' => $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description
))->result_array();
// get the marks of the student for selected exam
foreach ($students as $row) {
if ($receiver == 'student')
$receiver_phone = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->phone;
if ($receiver == 'parent') {
$parent_id = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->parent_id;
if($parent_id != '' || $parent_id != null) {
$receiver_phone = $this->db->get_where('parent' , array('parent_id' => $row['parent_id']))->row()->phone;
if($receiver_phone == null){
$this->session->set_flashdata('error_message' , get_phrase('parent_phone_number_is_not_found'));
}
}
}
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
$this->db->where('exam_id' , $exam_id);
$this->db->where('student_id' , $row['student_id']);
$this->db->where('year', $running_year);
$marks = $this->db->get('mark')->result_array();
$message = '';
foreach ($marks as $row2) {
$subject = $this->db->get_where('subject' , array('subject_id' => $row2['subject_id']))->row()->name;
$mark_obtained = $row2['mark_obtained'];
$message .= $row2['student_id'] . $subject . ' : ' . $mark_obtained . ' , ';
}
// send sms
//$this->sms_model->send_sms( $message , $receiver_phone );
}
$this->session->set_flashdata('flash_message' , get_phrase('message_sent'));
}
else{
$this->session->set_flashdata('error_message' , get_phrase('select_all_the_fields'));
}
redirect(base_url() . 'index.php?admin/exam_marks_sms' , 'refresh');
}
$page_data['page_name'] = 'exam_marks_sms';
$page_data['page_title'] = get_phrase('send_marks_by_sms');
$this->load->view('backend/index', $page_data);
}
/****MANAGE EXAM MARKS*****/
function marks2($exam_id = '', $course_id = '', $subject_id = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($this->input->post('operation') == 'selection') {
$page_data['exam_id'] = $this->input->post('exam_id');
$page_data['course_id'] = $this->input->post('course_id');
$page_data['subject_id'] = $this->input->post('subject_id');
if ($page_data['exam_id'] > 0 && $page_data['course_id'] > 0 && $page_data['subject_id'] > 0) {
redirect(base_url() . 'index.php?admin/marks2/' . $page_data['exam_id'] . '/' . $page_data['course_id'] . '/' . $page_data['subject_id'], 'refresh');
} else {
$this->session->set_flashdata('mark_message', 'Choose exam, class and subject');
redirect(base_url() . 'index.php?admin/marks2/', 'refresh');
}
}
if ($this->input->post('operation') == 'update') {
$students = $this->db->get_where('enroll' , array('course_id' => $course_id , 'year' => $running_year))->result_array();
foreach($students as $row) {
$data['mark_obtained'] = $this->input->post('mark_obtained_' . $row['student_id']);
$data['comment'] = $this->input->post('comment_' . $row['student_id']);
$this->db->where('mark_id', $this->input->post('mark_id_' . $row['student_id']));
$this->db->update('mark', array('mark_obtained' => $data['mark_obtained'] , 'comment' => $data['comment']));
}
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/marks2/' . $this->input->post('exam_id') . '/' . $this->input->post('course_id') . '/' . $this->input->post('subject_id'), 'refresh');
}
$page_data['exam_id'] = $exam_id;
$page_data['course_id'] = $course_id;
$page_data['subject_id'] = $subject_id;
$page_data['page_info'] = 'Exam marks';
$page_data['page_name'] = 'marks2';
$page_data['page_title'] = get_phrase('manage_exam_marks');
$this->load->view('backend/index', $page_data);
}
function marks_manage()
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$page_data['page_name'] = 'marks_manage';
$page_data['page_title'] = get_phrase('manage_exam_marks');
$this->load->view('backend/index', $page_data);
}
function marks_manage_view($exam_id = '' , $course_id = '' , $section_id = '' , $subject_id = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$page_data['exam_id'] = $exam_id;
$page_data['course_id'] = $course_id;
$page_data['subject_id'] = $subject_id;
$page_data['section_id'] = $section_id;
$page_data['page_name'] = 'marks_manage_view';
$page_data['page_title'] = get_phrase('manage_exam_marks');
$this->load->view('backend/index', $page_data);
}
function marks_selector()
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$data['exam_id'] = $this->input->post('exam_id');
$data['course_id'] = $this->input->post('course_id');
$data['section_id'] = $this->input->post('section_id');
$data['subject_id'] = $this->input->post('subject_id');
$data['year'] = $this->db->get_where('settings' , array('type'=>'running_year'))->row()->description;
if($data['course_id'] != '' && $data['exam_id'] != ''){
$query = $this->db->get_where('mark' , array(
'exam_id' => $data['exam_id'],
'course_id' => $data['course_id']
));
if($query->num_rows() < 1) {
$students = $this->db->get_where('course_student' , array(
'course_id' => $data['course_id']
))->result_array();/* /
$students = $this->db->get_where('enroll' , array(
'course_id' => $data['course_id'] , 'section_id' => $data['section_id'] , 'year' => $data['year']
))->result_array();/**/
foreach($students as $row) {
$data['student_id'] = $row['student_id'];
$this->db->insert('mark' , $data);
}
}
redirect(base_url() . 'index.php?admin/marks_manage_view/' . $data['exam_id'] . '/' . $data['course_id'] . '/' . $data['section_id'] . '/' . $data['subject_id'] , 'refresh');
}
else{
$this->session->set_flashdata('error_message' , get_phrase('select_all_the_fields'));
$page_data['page_name'] = 'marks_manage';
$page_data['page_title'] = get_phrase('manage_exam_marks');
$this->load->view('backend/index', $page_data);
}
}
function marks_update($exam_id = '' , $course_id = '' , $section_id = '' , $subject_id = '')
{
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
if ($course_id != '' && $exam_id != '') {
$marks_of_students = $this->db->get_where('mark' , array(
'exam_id' => $exam_id,
'course_id' => $course_id/** /,
'section_id' => $section_id,
'year' => $running_year,
'subject_id' => $subject_id/**/
))->result_array();
foreach($marks_of_students as $row) {
$obtained_marks = $this->input->post('marks_obtained_'.$row['mark_id']);
$comment = $this->input->post('comment_'.$row['mark_id']);
$this->db->where('mark_id' , $row['mark_id']);
$this->db->update('mark' , array('mark_obtained' => $obtained_marks , 'comment' => $comment));
}
$this->session->set_flashdata('flash_message' , get_phrase('marks_updated'));
redirect(base_url().'index.php?teacher/marks_manage_view/'.$exam_id.'/'.$course_id.'/'.$section_id.'/'.$subject_id , 'refresh');
}
else{
$this->session->set_flashdata('error_message' , get_phrase('select_all_the_fields'));
$page_data['page_name'] = 'marks_manage';
$page_data['page_title'] = get_phrase('manage_exam_marks');
$this->load->view('backend/index', $page_data);
}
}
function marks_update__($exam_id = '' , $course_id = '' , $section_id = '' , $subject_id = '')
{
if ($course_id != '' && $exam_id != '') {
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
$marks_of_students = $this->db->get_where('mark' , array(
'exam_id' => $exam_id,
'course_id' => $course_id,
'section_id' => $section_id,
'year' => $running_year,
'subject_id' => $subject_id
))->result_array();
foreach($marks_of_students as $row) {
$obtained_marks = $this->input->post('marks_obtained_'.$row['mark_id']);
$comment = $this->input->post('comment_'.$row['mark_id']);
$this->db->where('mark_id' , $row['mark_id']);
$this->db->update('mark' , array('mark_obtained' => $obtained_marks , 'comment' => $comment));
}
$this->session->set_flashdata('flash_message' , get_phrase('marks_updated'));
redirect(base_url().'index.php?admin/marks_manage_view/'.$exam_id.'/'.$course_id.'/'.$section_id.'/'.$subject_id , 'refresh');
}
else{
$this->session->set_flashdata('error_message' , get_phrase('select_all_the_fields'));
$page_data['page_name'] = 'marks_manage';
$page_data['page_title'] = get_phrase('manage_exam_marks');
$this->load->view('backend/index', $page_data);
}
}
function marks_get_subject($course_id)
{
$page_data['course_id'] = $course_id;
$this->load->view('backend/admin/marks_get_subject' , $page_data);
}
// TABULATION SHEET
function tabulation_sheet($course_id = '' , $exam_id = '') {
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($this->input->post('operation') == 'selection') {
$page_data['exam_id'] = $this->input->post('exam_id');
$page_data['course_id'] = $this->input->post('course_id');
if ($page_data['exam_id'] > 0 && $page_data['course_id'] > 0) {
redirect(base_url() . 'index.php?admin/tabulation_sheet/' . $page_data['course_id'] . '/' . $page_data['exam_id'] , 'refresh');
} else {
$this->session->set_flashdata('mark_message', 'Choose class and exam');
redirect(base_url() . 'index.php?admin/tabulation_sheet/', 'refresh');
}
}
$page_data['exam_id'] = $exam_id;
$page_data['course_id'] = $course_id;
$page_data['page_info'] = 'Exam marks';
$page_data['page_name'] = 'tabulation_sheet';
$page_data['page_title'] = get_phrase('tabulation_sheet');
$this->load->view('backend/index', $page_data);
}
function tabulation_sheet_print_view($course_id , $exam_id) {
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$page_data['course_id'] = $course_id;
$page_data['exam_id'] = $exam_id;
$this->load->view('backend/admin/tabulation_sheet_print_view' , $page_data);
}
/****MANAGE GRADES*****/
function grade($param1 = '', $param2 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
$data['grade_point'] = $this->input->post('grade_point');
$data['mark_from'] = $this->input->post('mark_from');
$data['mark_upto'] = $this->input->post('mark_upto');
if ($this->input->post('comment') != null) {
$data['comment'] = $this->input->post('comment');
}
$this->db->insert('grade', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
redirect(base_url() . 'index.php?admin/grade/', 'refresh');
}
if ($param1 == 'do_update') {
$data['name'] = $this->input->post('name');
$data['grade_point'] = $this->input->post('grade_point');
$data['mark_from'] = $this->input->post('mark_from');
$data['mark_upto'] = $this->input->post('mark_upto');
if ($this->input->post('comment') != null) {
$data['comment'] = $this->input->post('comment');
}
else{
$data['comment'] = null;
}
$this->db->where('grade_id', $param2);
$this->db->update('grade', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/grade/', 'refresh');
} else if ($param1 == 'edit') {
$page_data['edit_data'] = $this->db->get_where('grade', array(
'grade_id' => $param2
))->result_array();
}
if ($param1 == 'delete') {
$this->db->where('grade_id', $param2);
$this->db->delete('grade');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/grade/', 'refresh');
}
$page_data['grades'] = $this->db->get('grade')->result_array();
$page_data['page_name'] = 'grade';
$page_data['page_title'] = get_phrase('manage_grade');
$this->load->view('backend/index', $page_data);
}
/**********MANAGING CLASS ROUTINE******************/
function course_routine($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($param1 == 'create') {
if($this->input->post('course_id') != null){
$data['course_id'] = $this->input->post('course_id');
}
$data['section_id'] = $this->input->post('section_id');
$data['subject_id'] = $this->input->post('subject_id');
// 12 AM for starting time
if ($this->input->post('time_start') == 12 && $this->input->post('starting_ampm') == 1) {
$data['time_start'] = 24;
}
// 12 PM for starting time
elseif ($this->input->post('time_start') == 12 && $this->input->post('starting_ampm') == 2) {
$data['time_start'] = 12;
}
// otherwise for starting time
else{
$data['time_start'] = $this->input->post('time_start') + (12 * ($this->input->post('starting_ampm') - 1));
}
// 12 AM for ending time
if ($this->input->post('time_end') == 12 && $this->input->post('ending_ampm') == 1) {
$data['time_end'] = 24;
}
// 12 PM for ending time
elseif ($this->input->post('time_end') == 12 && $this->input->post('ending_ampm') == 2) {
$data['time_end'] = 12;
}
// otherwise for ending time
else{
$data['time_end'] = $this->input->post('time_end') + (12 * ($this->input->post('ending_ampm') - 1));
}
$data['time_start_min'] = $this->input->post('time_start_min');
$data['time_end_min'] = $this->input->post('time_end_min');
$data['day'] = $this->input->post('day');
$data['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
// checking duplication
$array = array(
'section_id' => $data['section_id'],
'course_id' => $data['course_id'],
'time_start' => $data['time_start'],
'time_end' => $data['time_end'],
'time_start_min'=> $data['time_start_min'],
'time_end_min' => $data['time_end_min'],
'day' => $data['day'],
'year' => $data['year']
);
$validation = duplication_of_course_routine_on_create($array);
if ($validation == 1) {
$this->db->insert('course_routine', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
}
else{
$this->session->set_flashdata('error_message' , get_phrase('time_conflicts'));
}
redirect(base_url() . 'index.php?admin/course_routine_add/', 'refresh');
}
if ($param1 == 'do_update') {
$data['course_id'] = $this->input->post('course_id');
if($this->input->post('section_id') != '') {
$data['section_id'] = $this->input->post('section_id');
}
$data['subject_id'] = $this->input->post('subject_id');
// 12 AM for starting time
if ($this->input->post('time_start') == 12 && $this->input->post('starting_ampm') == 1) {
$data['time_start'] = 24;
}
// 12 PM for starting time
elseif ($this->input->post('time_start') == 12 && $this->input->post('starting_ampm') == 2) {
$data['time_start'] = 12;
}
// otherwise for starting time
else{
$data['time_start'] = $this->input->post('time_start') + (12 * ($this->input->post('starting_ampm') - 1));
}
// 12 AM for ending time
if ($this->input->post('time_end') == 12 && $this->input->post('ending_ampm') == 1) {
$data['time_end'] = 24;
}
// 12 PM for ending time
elseif ($this->input->post('time_end') == 12 && $this->input->post('ending_ampm') == 2) {
$data['time_end'] = 12;
}
// otherwise for ending time
else{
$data['time_end'] = $this->input->post('time_end') + (12 * ($this->input->post('ending_ampm') - 1));
}
$data['time_start_min'] = $this->input->post('time_start_min');
$data['time_end_min'] = $this->input->post('time_end_min');
$data['day'] = $this->input->post('day');
$data['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
if ($data['subject_id'] != '') {
// checking duplication
$array = array(
'section_id' => $data['section_id'],
'course_id' => $data['course_id'],
'time_start' => $data['time_start'],
'time_end' => $data['time_end'],
'time_start_min'=> $data['time_start_min'],
'time_end_min' => $data['time_end_min'],
'day' => $data['day'],
'year' => $data['year']
);
$validation = duplication_of_course_routine_on_edit($array, $param2);
if ($validation == 1) {
$this->db->where('course_routine_id', $param2);
$this->db->update('course_routine', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
}
else{
$this->session->set_flashdata('error_message' , get_phrase('time_conflicts'));
}
}
else{
$this->session->set_flashdata('error_message' , get_phrase('subject_is_not_found'));
}
redirect(base_url() . 'index.php?admin/course_routine_view/' . $data['course_id'], 'refresh');
}
else if ($param1 == 'edit') {
$page_data['edit_data'] = $this->db->get_where('course_routine', array(
'course_routine_id' => $param2
))->result_array();
}
if ($param1 == 'delete') {
$course_id = $this->db->get_where('course_routine' , array('course_routine_id' => $param2))->row()->course_id;
$this->db->where('course_routine_id', $param2);
$this->db->delete('course_routine');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/course_routine_view/' . $course_id, 'refresh');
}
}
function course_routine_add()
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$page_data['page_name'] = 'course_routine_add';
$page_data['page_title'] = get_phrase('add_course_routine');
$this->load->view('backend/index', $page_data);
}
function course_routine_view($course_id)
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$page_data['page_name'] = 'course_routine_view';
$page_data['course_id'] = $course_id;
$page_data['page_title'] = get_phrase('course_routine');
$this->load->view('backend/index', $page_data);
}
function course_routine_print_view($course_id , $section_id)
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
$page_data['course_id'] = $course_id;
$page_data['section_id'] = $section_id;
$this->load->view('backend/admin/course_routine_print_view' , $page_data);
}
function get_course_section_subject($course_id)
{
$page_data['course_id'] = $course_id;
$this->load->view('backend/admin/course_routine_section_subject_selector' , $page_data);
}
function section_subject_edit($course_id , $course_routine_id)
{
$page_data['course_id'] = $course_id;
$page_data['course_routine_id'] = $course_routine_id;
$this->load->view('backend/admin/course_routine_section_subject_edit' , $page_data);
}
function manage_attendance()
{
if($this->session->userdata('admin_login')!=1)
redirect(base_url() , 'refresh');
$page_data['page_name'] = 'manage_attendance';
$page_data['page_title'] = get_phrase('manage_attendance_of_course');
$this->load->view('backend/index', $page_data);
}
function manage_attendance_view($course_id = '' , $section_id = '' , $timestamp = '')
{
if($this->session->userdata('admin_login')!=1)
redirect(base_url() , 'refresh');
$course_name = $this->db->get_where('course' , array(
'course_id' => $course_id
))->row()->name;
$page_data['course_id'] = $course_id;
$page_data['timestamp'] = $timestamp;
$page_data['page_name'] = 'manage_attendance_view';
$section_name = $this->db->get_where('section' , array(
'section_id' => $section_id
))->row()->name;
$page_data['section_id'] = $section_id;
$page_data['page_title'] = get_phrase('manage_attendance_of_course') . ' ' . $course_name . ' : ' . get_phrase('section') . ' ' . $section_name;
$this->load->view('backend/index', $page_data);
}
function get_section($course_id) {
$page_data['course_id'] = $course_id;
$this->load->view('backend/admin/manage_attendance_section_holder' , $page_data);
}
function attendance_selector()
{
$data['course_id'] = $this->input->post('course_id');
$data['year'] = $this->input->post('year');
$data['timestamp'] = strtotime($this->input->post('timestamp'));
$data['section_id'] = $this->input->post('section_id');
$query = $this->db->get_where('attendance' ,array(
'course_id'=>$data['course_id'],
'section_id'=>$data['section_id'],
'year'=>$data['year'],
'timestamp'=>$data['timestamp']
));
if($query->num_rows() < 1) {
$students = $this->db->get_where('enroll' , array(
'course_id' => $data['course_id'] , 'section_id' => $data['section_id'] , 'year' => $data['year']
))->result_array();
foreach($students as $row) {
$attn_data['course_id'] = $data['course_id'];
$attn_data['year'] = $data['year'];
$attn_data['timestamp'] = $data['timestamp'];
$attn_data['section_id'] = $data['section_id'];
$attn_data['student_id'] = $row['student_id'];
$this->db->insert('attendance' , $attn_data);
}
}
redirect(base_url().'index.php?admin/manage_attendance_view/'.$data['course_id'].'/'.$data['section_id'].'/'.$data['timestamp'],'refresh');
}
function attendance_update($course_id = '' , $section_id = '' , $timestamp = '')
{
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
$active_sms_service = $this->db->get_where('settings' , array('type' => 'active_sms_service'))->row()->description;
$attendance_of_students = $this->db->get_where('attendance' , array(
'course_id'=>$course_id,'section_id'=>$section_id,'year'=>$running_year,'timestamp'=>$timestamp
))->result_array();
foreach($attendance_of_students as $row) {
$attendance_status = $this->input->post('status_'.$row['attendance_id']);
$this->db->where('attendance_id' , $row['attendance_id']);
$this->db->update('attendance' , array('status' => $attendance_status));
if ($attendance_status == 2) {
if ($active_sms_service != '' || $active_sms_service != 'disabled') {
$student_name = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->name;
$parent_id = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->parent_id;
$message = 'Your child' . ' ' . $student_name . 'is absent today.';
if($parent_id != null && $parent_id != 0){
$receiver_phone = $this->db->get_where('parent' , array('parent_id' => $parent_id))->row()->phone;
if($receiver_phone != '' || $receiver_phone != null){
$this->sms_model->send_sms($message,$receiver_phone);
}
else{
$this->session->set_flashdata('error_message' , get_phrase('parent_phone_number_is_not_found'));
}
}
else{
$this->session->set_flashdata('error_message' , get_phrase('parent_phone_number_is_not_found'));
}
}
}
}
$this->session->set_flashdata('flash_message' , get_phrase('attendance_updated'));
redirect(base_url().'index.php?admin/manage_attendance_view/'.$course_id.'/'.$section_id.'/'.$timestamp , 'refresh');
}
/****** DAILY ATTENDANCE *****************/
function manage_attendance2($date='',$month='',$year='',$course_id='' , $section_id = '' , $session = '')
{
if($this->session->userdata('admin_login')!=1)
redirect(base_url() , 'refresh');
$active_sms_service = $this->db->get_where('settings' , array('type' => 'active_sms_service'))->row()->description;
$running_year = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
if($_POST)
{
// Loop all the students of $course_id
$this->db->where('course_id' , $course_id);
if($section_id != '') {
$this->db->where('section_id' , $section_id);
}
//$session = base64_decode( urldecode( $session ) );
$this->db->where('year' , $session);
$students = $this->db->get('enroll')->result_array();
foreach ($students as $row)
{
$attendance_status = $this->input->post('status_' . $row['student_id']);
$this->db->where('student_id' , $row['student_id']);
$this->db->where('date' , $date);
$this->db->where('year' , $year);
$this->db->where('course_id' , $row['course_id']);
if($row['section_id'] != '' && $row['section_id'] != 0) {
$this->db->where('section_id' , $row['section_id']);
}
$this->db->where('session' , $session);
$this->db->update('attendance' , array('status' => $attendance_status));
if ($attendance_status == 2) {
if ($active_sms_service != '' || $active_sms_service != 'disabled') {
$student_name = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->name;
$parent_id = $this->db->get_where('student' , array('student_id' => $row['student_id']))->row()->parent_id;
$receiver_phone = $this->db->get_where('parent' , array('parent_id' => $parent_id))->row()->phone;
$message = 'Your child' . ' ' . $student_name . 'is absent today.';
$this->sms_model->send_sms($message,$receiver_phone);
}
}
}
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/manage_attendance/'.$date.'/'.$month.'/'.$year.'/'.$course_id.'/'.$section_id.'/'.$session , 'refresh');
}
$page_data['date'] = $date;
$page_data['month'] = $month;
$page_data['year'] = $year;
$page_data['course_id'] = $course_id;
$page_data['section_id'] = $section_id;
$page_data['session'] = $session;
$page_data['page_name'] = 'manage_attendance';
$page_data['page_title'] = get_phrase('manage_daily_attendance');
$this->load->view('backend/index', $page_data);
}
function attendance_selector2()
{
//$session = $this->input->post('session');
//$encoded_session = urlencode( base64_encode( $session ) );
redirect(base_url() . 'index.php?admin/manage_attendance/'.$this->input->post('date').'/'.
$this->input->post('month').'/'.
$this->input->post('year').'/'.
$this->input->post('course_id').'/'.
$this->input->post('section_id').'/'.
$this->input->post('session') , 'refresh');
}
///////ATTENDANCE REPORT /////
function attendance_report() {
$page_data['month'] = date('m');
$page_data['page_name'] = 'attendance_report';
$page_data['page_title'] = get_phrase('attendance_report');
$this->load->view('backend/index',$page_data);
}
function attendance_report_view($course_id = '', $section_id = '', $month = '', $sessional_year = '')
{
if($this->session->userdata('admin_login')!=1)
redirect(base_url() , 'refresh');
$course_name = $this->db->get_where('course', array('course_id' => $course_id))->row()->name;
$section_name = $this->db->get_where('section', array('section_id' => $section_id))->row()->name;
$page_data['course_id'] = $course_id;
$page_data['section_id'] = $section_id;
$page_data['month'] = $month;
$page_data['sessional_year'] = $sessional_year;
$page_data['page_name'] = 'attendance_report_view';
$page_data['page_title'] = get_phrase('attendance_report_of_course') . ' ' . $course_name . ' : ' . get_phrase('section') . ' ' . $section_name;
$this->load->view('backend/index', $page_data);
}
function attendance_report_print_view($course_id ='' , $section_id = '' , $month = '', $sessional_year = '') {
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$page_data['course_id'] = $course_id;
$page_data['section_id'] = $section_id;
$page_data['month'] = $month;
$page_data['sessional_year'] = $sessional_year;
$this->load->view('backend/admin/attendance_report_print_view' , $page_data);
}
function attendance_report_selector()
{ if($this->input->post('course_id') == '' || $this->input->post('sessional_year') == '') {
$this->session->set_flashdata('error_message' , get_phrase('please_make_sure_course_and_sessional_year_are_selected'));
redirect(base_url() . 'index.php?admin/attendance_report', 'refresh');
}
$data['course_id'] = $this->input->post('course_id');
$data['section_id'] = $this->input->post('section_id');
$data['month'] = $this->input->post('month');
$data['sessional_year'] = $this->input->post('sessional_year');
redirect(base_url() . 'index.php?admin/attendance_report_view/' . $data['course_id'] . '/' . $data['section_id'] . '/' . $data['month'] . '/' . $data['sessional_year'], 'refresh');
}
/******MANAGE BILLING / INVOICES WITH STATUS*****/
function invoice($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($param1 == 'create') {
$data['student_id'] = $this->input->post('student_id');
$data['title'] = $this->input->post('title');
$data['amount'] = $this->input->post('amount');
$data['amount_paid'] = $this->input->post('amount_paid');
$data['due'] = $data['amount'] - $data['amount_paid'];
$data['status'] = $this->input->post('status');
$data['creation_timestamp'] = strtotime($this->input->post('date'));
$data['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
if ($this->input->post('description') != null) {
$data['description'] = $this->input->post('description');
}
$this->db->insert('invoice', $data);
$invoice_id = $this->db->insert_id();
$data2['invoice_id'] = $invoice_id;
$data2['student_id'] = $this->input->post('student_id');
$data2['title'] = $this->input->post('title');
$data2['payment_type'] = 'income';
$data2['method'] = $this->input->post('method');
$data2['amount'] = $this->input->post('amount_paid');
$data2['timestamp'] = strtotime($this->input->post('date'));
$data2['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
if ($this->input->post('description') != null) {
$data2['description'] = $this->input->post('description');
}
$this->db->insert('payment' , $data2);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
redirect(base_url() . 'index.php?admin/student_payment', 'refresh');
}
if ($param1 == 'create_mass_invoice') {
foreach ($this->input->post('student_id') as $id) {
$data['student_id'] = $id;
$data['title'] = $this->input->post('title');
$data['description'] = $this->input->post('description');
$data['amount'] = $this->input->post('amount');
$data['amount_paid'] = $this->input->post('amount_paid');
$data['due'] = $data['amount'] - $data['amount_paid'];
$data['status'] = $this->input->post('status');
$data['creation_timestamp'] = strtotime($this->input->post('date'));
$data['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
$this->db->insert('invoice', $data);
$invoice_id = $this->db->insert_id();
$data2['invoice_id'] = $invoice_id;
$data2['student_id'] = $id;
$data2['title'] = $this->input->post('title');
$data2['description'] = $this->input->post('description');
$data2['payment_type'] = 'income';
$data2['method'] = $this->input->post('method');
$data2['amount'] = $this->input->post('amount_paid');
$data2['timestamp'] = strtotime($this->input->post('date'));
$data2['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
$this->db->insert('payment' , $data2);
}
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
redirect(base_url() . 'index.php?admin/student_payment', 'refresh');
}
if ($param1 == 'do_update') {
$data['student_id'] = $this->input->post('student_id');
$data['title'] = $this->input->post('title');
$data['description'] = $this->input->post('description');
$data['amount'] = $this->input->post('amount');
$data['status'] = $this->input->post('status');
$data['creation_timestamp'] = strtotime($this->input->post('date'));
$this->db->where('invoice_id', $param2);
$this->db->update('invoice', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/income', 'refresh');
} else if ($param1 == 'edit') {
$page_data['edit_data'] = $this->db->get_where('invoice', array(
'invoice_id' => $param2
))->result_array();
}
if ($param1 == 'take_payment') {
$data['invoice_id'] = $this->input->post('invoice_id');
$data['student_id'] = $this->input->post('student_id');
$data['title'] = $this->input->post('title');
$data['description'] = $this->input->post('description');
$data['payment_type'] = 'income';
$data['method'] = $this->input->post('method');
$data['amount'] = $this->input->post('amount');
$data['timestamp'] = strtotime($this->input->post('timestamp'));
$data['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
$this->db->insert('payment' , $data);
$status['status'] = $this->input->post('status');
$this->db->where('invoice_id' , $param2);
$this->db->update('invoice' , array('status' => $status['status']));
$data2['amount_paid'] = $this->input->post('amount');
$data2['status'] = $this->input->post('status');
$this->db->where('invoice_id' , $param2);
$this->db->set('amount_paid', 'amount_paid + ' . $data2['amount_paid'], FALSE);
$this->db->set('due', 'due - ' . $data2['amount_paid'], FALSE);
$this->db->update('invoice');
$this->session->set_flashdata('flash_message' , get_phrase('payment_successfull'));
redirect(base_url() . 'index.php?admin/income/', 'refresh');
}
if ($param1 == 'delete') {
$this->db->where('invoice_id', $param2);
$this->db->delete('invoice');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/income', 'refresh');
}
$page_data['page_name'] = 'invoice';
$page_data['page_title'] = get_phrase('manage_invoice/payment');
$this->db->order_by('creation_timestamp', 'desc');
$page_data['invoices'] = $this->db->get('invoice')->result_array();
$this->load->view('backend/index', $page_data);
}
/**********ACCOUNTING********************/
function income($param1 = 'invoices' , $param2 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
if ($param2 == 'filter_history')
$page_data['student_id'] = $this->input->post('student_id');
else
$page_data['student_id'] = 'all';
$page_data['page_name'] = 'income';
$page_data['page_title'] = get_phrase('student_payments');
$this->db->order_by('creation_timestamp', 'desc');
$page_data['invoices'] = $this->db->get('invoice')->result_array();
$page_data['active_tab'] = $param1;
$this->load->view('backend/index', $page_data);
}
function student_payment($param1 = '' , $param2 = '' , $param3 = '') {
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
$page_data['page_name'] = 'student_payment';
$page_data['page_title'] = get_phrase('create_student_payment');
$this->load->view('backend/index', $page_data);
}
function expense($param1 = '' , $param2 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
if ($param1 == 'create') {
$data['title'] = $this->input->post('title');
$data['expense_category_id'] = $this->input->post('expense_category_id');
$data['payment_type'] = 'expense';
$data['method'] = $this->input->post('method');
$data['amount'] = $this->input->post('amount');
$data['timestamp'] = strtotime($this->input->post('timestamp'));
$data['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
if ($this->input->post('description') != null) {
$data['description'] = $this->input->post('description');
}
$this->db->insert('payment' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
redirect(base_url() . 'index.php?admin/expense', 'refresh');
}
if ($param1 == 'edit') {
$data['title'] = $this->input->post('title');
$data['expense_category_id'] = $this->input->post('expense_category_id');
$data['payment_type'] = 'expense';
$data['method'] = $this->input->post('method');
$data['amount'] = $this->input->post('amount');
$data['timestamp'] = strtotime($this->input->post('timestamp'));
$data['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
if ($this->input->post('description') != null) {
$data['description'] = $this->input->post('description');
}
else{
$data['description'] = null;
}
$this->db->where('payment_id' , $param2);
$this->db->update('payment' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/expense', 'refresh');
}
if ($param1 == 'delete') {
$this->db->where('payment_id' , $param2);
$this->db->delete('payment');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/expense', 'refresh');
}
$page_data['page_name'] = 'expense';
$page_data['page_title'] = get_phrase('expenses');
$this->load->view('backend/index', $page_data);
}
function expense_category($param1 = '' , $param2 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
$this->db->insert('expense_category' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
redirect(base_url() . 'index.php?admin/expense_category');
}
if ($param1 == 'edit') {
$data['name'] = $this->input->post('name');
$this->db->where('expense_category_id' , $param2);
$this->db->update('expense_category' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/expense_category');
}
if ($param1 == 'delete') {
$this->db->where('expense_category_id' , $param2);
$this->db->delete('expense_category');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/expense_category');
}
$page_data['page_name'] = 'expense_category';
$page_data['page_title'] = get_phrase('expense_category');
$this->load->view('backend/index', $page_data);
}
/**********MANAGE LIBRARY / BOOKS********************/
function book($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
$data['course_id'] = $this->input->post('course_id');
if ($this->input->post('description') != null) {
$data['description'] = $this->input->post('description');
}
if ($this->input->post('price') != null) {
$data['price'] = $this->input->post('price');
}
if ($this->input->post('author') != null) {
$data['author'] = $this->input->post('author');
}
if(!empty($_FILES["file_name"]["name"])) {
$data['file_name'] = $_FILES["file_name"]["name"];
}
$this->db->insert('book', $data);
if(!empty($_FILES["file_name"]["name"])) {
move_uploaded_file($_FILES["file_name"]["tmp_name"], "uploads/document/" . $_FILES["file_name"]["name"]);
}
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
redirect(base_url() . 'index.php?admin/book', 'refresh');
}
if ($param1 == 'do_update') {
$data['name'] = $this->input->post('name');
$data['course_id'] = $this->input->post('course_id');
if ($this->input->post('description') != null) {
$data['description'] = $this->input->post('description');
}
else{
$data['description'] = null;
}
if ($this->input->post('price') != null) {
$data['price'] = $this->input->post('price');
}
else{
$data['price'] = null;
}
if ($this->input->post('author') != null) {
$data['author'] = $this->input->post('author');
}
else{
$data['author'] = null;
}
if(!empty($_FILES["file_name"]["name"])) {
$data['file_name'] = $_FILES["file_name"]["name"];
}
$this->db->where('book_id', $param2);
$this->db->update('book', $data);
if(!empty($_FILES["file_name"]["name"])) {
move_uploaded_file($_FILES["file_name"]["tmp_name"], "uploads/document/" . $_FILES["file_name"]["name"]);
}
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/book', 'refresh');
} else if ($param1 == 'edit') {
$page_data['edit_data'] = $this->db->get_where('book', array(
'book_id' => $param2
))->result_array();
}
if ($param1 == 'delete') {
$this->db->where('book_id', $param2);
$this->db->delete('book');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/book', 'refresh');
}
$page_data['books'] = $this->db->get('book')->result_array();
$page_data['page_name'] = 'book';
$page_data['page_title'] = get_phrase('manage_library_books');
$this->load->view('backend/index', $page_data);
}
/**********MANAGE TRANSPORT / VEHICLES / ROUTES********************/
function transport($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
if ($param1 == 'create') {
$data['route_name'] = $this->input->post('route_name');
$data['number_of_vehicle'] = $this->input->post('number_of_vehicle');
if ($this->input->post('description') != null) {
$data['description'] = $this->input->post('description');
}
if ($this->input->post('route_fare') != null) {
$data['route_fare'] = $this->input->post('route_fare');
}
$this->db->insert('transport', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
redirect(base_url() . 'index.php?admin/transport', 'refresh');
}
if ($param1 == 'do_update') {
$data['route_name'] = $this->input->post('route_name');
$data['number_of_vehicle'] = $this->input->post('number_of_vehicle');
if ($this->input->post('description') != null) {
$data['description'] = $this->input->post('description');
}
else{
$data['description'] = null;
}
if ($this->input->post('route_fare') != null) {
$data['route_fare'] = $this->input->post('route_fare');
}
else{
$data['route_fare'] = null;
}
$this->db->where('transport_id', $param2);
$this->db->update('transport', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/transport', 'refresh');
} else if ($param1 == 'edit') {
$page_data['edit_data'] = $this->db->get_where('transport', array(
'transport_id' => $param2
))->result_array();
}
if ($param1 == 'delete') {
$this->db->where('transport_id', $param2);
$this->db->delete('transport');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/transport', 'refresh');
}
$page_data['transports'] = $this->db->get('transport')->result_array();
$page_data['page_name'] = 'transport';
$page_data['page_title'] = get_phrase('manage_transport');
$this->load->view('backend/index', $page_data);
}
/**********MANAGE DORMITORY / HOSTELS / ROOMS ********************/
function dormitory($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
$data['number_of_room'] = $this->input->post('number_of_room');
if ($this->input->post('description') != null) {
$data['description'] = $this->input->post('description');
}
$this->db->insert('dormitory', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
redirect(base_url() . 'index.php?admin/dormitory', 'refresh');
}
if ($param1 == 'do_update') {
$data['name'] = $this->input->post('name');
$data['number_of_room'] = $this->input->post('number_of_room');
if ($this->input->post('description') != null) {
$data['description'] = $this->input->post('description');
}
else{
$data['description'] = null;
}
$this->db->where('dormitory_id', $param2);
$this->db->update('dormitory', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/dormitory', 'refresh');
} else if ($param1 == 'edit') {
$page_data['edit_data'] = $this->db->get_where('dormitory', array(
'dormitory_id' => $param2
))->result_array();
}
if ($param1 == 'delete') {
$this->db->where('dormitory_id', $param2);
$this->db->delete('dormitory');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/dormitory', 'refresh');
}
$page_data['dormitories'] = $this->db->get('dormitory')->result_array();
$page_data['page_name'] = 'dormitory';
$page_data['page_title'] = get_phrase('manage_dormitory');
$this->load->view('backend/index', $page_data);
}
/***MANAGE EVENT / NOTICEBOARD, WILL BE SEEN BY ALL ACCOUNTS DASHBOARD**/
function noticeboard($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($param1 == 'create') {
$data['notice_title'] = $this->input->post('notice_title');
$data['notice'] = $this->input->post('notice');
$data['show_on_website'] = $this->input->post('show_on_website');
$data['create_timestamp'] = strtotime($this->input->post('create_timestamp'));
if ($_FILES['image']['name'] != '') {
$data['image'] = $_FILES['image']['name'];
move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/frontend/noticeboard/'. $_FILES['image']['name']);
}
$this->db->insert('noticeboard', $data);
$check_sms_send = $this->input->post('check_sms');
if ($check_sms_send == 1) {
// sms sending configurations
$parents = $this->db->get('parent')->result_array();
$students = $this->db->get('student')->result_array();
$teachers = $this->db->get('teacher')->result_array();
$date = $this->input->post('create_timestamp');
$message = $data['notice_title'] . ' ';
$message .= get_phrase('on') . ' ' . $date;
foreach($parents as $row) {
$reciever_phone = $row['phone'];
$this->sms_model->send_sms($message , $reciever_phone);
}
foreach($students as $row) {
$reciever_phone = $row['phone'];
$this->sms_model->send_sms($message , $reciever_phone);
}
foreach($teachers as $row) {
$reciever_phone = $row['phone'];
$this->sms_model->send_sms($message , $reciever_phone);
}
}
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
redirect(base_url() . 'index.php?admin/noticeboard/', 'refresh');
}
if ($param1 == 'do_update') {
$image = $this->db->get_where('noticeboard', array('notice_id' => $param2))->row()->image;
$data['notice_title'] = $this->input->post('notice_title');
$data['notice'] = $this->input->post('notice');
$data['show_on_website'] = $this->input->post('show_on_website');
$data['create_timestamp'] = strtotime($this->input->post('create_timestamp'));
if ($_FILES['image']['name'] != '') {
$data['image'] = $_FILES['image']['name'];
move_uploaded_file($_FILES['image']['tmp_name'], 'uploads/frontend/noticeboard/'. $_FILES['image']['name']);
} else {
$data['image'] = $image;
}
$this->db->where('notice_id', $param2);
$this->db->update('noticeboard', $data);
$check_sms_send = $this->input->post('check_sms');
if ($check_sms_send == 1) {
// sms sending configurations
$parents = $this->db->get('parent')->result_array();
$students = $this->db->get('student')->result_array();
$teachers = $this->db->get('teacher')->result_array();
$date = $this->input->post('create_timestamp');
$message = $data['notice_title'] . ' ';
$message .= get_phrase('on') . ' ' . $date;
foreach($parents as $row) {
$reciever_phone = $row['phone'];
//$this->sms_model->send_sms($message , $reciever_phone);
}
foreach($students as $row) {
$reciever_phone = $row['phone'];
//$this->sms_model->send_sms($message , $reciever_phone);
}
foreach($teachers as $row) {
$reciever_phone = $row['phone'];
//$this->sms_model->send_sms($message , $reciever_phone);
}
}
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/noticeboard/', 'refresh');
} else if ($param1 == 'edit') {
$page_data['edit_data'] = $this->db->get_where('noticeboard', array(
'notice_id' => $param2
))->result_array();
}
if ($param1 == 'delete') {
$this->db->where('notice_id', $param2);
$this->db->delete('noticeboard');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/noticeboard/', 'refresh');
}
if ($param1 == 'mark_as_archive') {
$this->db->where('notice_id' , $param2);
$this->db->update('noticeboard' , array('status' => 0));
redirect(base_url() . 'index.php?admin/noticeboard/', 'refresh');
}
if ($param1 == 'remove_from_archived') {
$this->db->where('notice_id' , $param2);
$this->db->update('noticeboard' , array('status' => 1));
redirect(base_url() . 'index.php?admin/noticeboard/', 'refresh');
}
$page_data['page_name'] = 'noticeboard';
$page_data['page_title'] = get_phrase('manage_noticeboard');
$this->load->view('backend/index', $page_data);
}
function noticeboard_edit($notice_id) {
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$page_data['page_name'] = 'noticeboard_edit';
$page_data['notice_id'] = $notice_id;
$page_data['page_title'] = get_phrase('edit_notice');
$this->load->view('backend/index', $page_data);
}
function reload_noticeboard() {
$this->load->view('backend/admin/noticeboard');
}
/* private messaging */
function message($param1 = 'message_home', $param2 = '', $param3 = '') {
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$max_size = 2097152;
if ($param1 == 'send_new') {
if((!empty($_POST['course_id']) || !empty($_POST['student_id']) || !empty($_POST['teacher_id'])) && count($_POST['reciever'])>0)
{
$this->session->set_flashdata('error_message' , 'You need to select course,student teacher or recipents');
redirect(base_url() . 'index.php?admin/message/message_new/', 'refresh');
}
else {
if (!file_exists('uploads/private_messaging_attached_file/')) {
$oldmask = umask(0); // helpful when used in linux server
mkdir ('uploads/private_messaging_attached_file/', 0777);
}
if ($_FILES['attached_file_on_messaging']['name'] != "") {
if($_FILES['attached_file_on_messaging']['size'] > $max_size){
$this->session->set_flashdata('error_message' , get_phrase('file_size_can_not_be_larger_that_2_Megabyte'));
redirect(base_url() . 'index.php?admin/message/message_new/', 'refresh');
}
else{
$file_path = 'uploads/private_messaging_attached_file/'.$_FILES['attached_file_on_messaging']['name'];
move_uploaded_file($_FILES['attached_file_on_messaging']['tmp_name'], $file_path);
}
}
$message_thread_code = $this->crud_model->send_new_private_message();
$this->session->set_flashdata('flash_message', get_phrase('message_sent!'));
}
// redirect(base_url() . 'index.php?admin/message/message_read/' . $message_thread_code, 'refresh');
}
if ($param1 == 'send_reply') {
if (!file_exists('uploads/private_messaging_attached_file/')) {
$oldmask = umask(0); // helpful when used in linux server
mkdir ('uploads/private_messaging_attached_file/', 0777);
}
if ($_FILES['attached_file_on_messaging']['name'] != "") {
if($_FILES['attached_file_on_messaging']['size'] > $max_size){
$this->session->set_flashdata('error_message' , get_phrase('file_size_can_not_be_larger_that_2_Megabyte'));
redirect(base_url() . 'index.php?admin/message/message_read/' . $param2, 'refresh');
}
else{
$file_path = 'uploads/private_messaging_attached_file/'.$_FILES['attached_file_on_messaging']['name'];
move_uploaded_file($_FILES['attached_file_on_messaging']['tmp_name'], $file_path);
}
}
$this->crud_model->send_reply_message($param2); //$param2 = message_thread_code
$this->session->set_flashdata('flash_message', get_phrase('message_sent!'));
redirect(base_url() . 'index.php?admin/message/message_read/' . $param2, 'refresh');
}
if ($param1 == 'message_read') {
$page_data['current_message_thread_code'] = $param2; // $param2 = message_thread_code
$this->crud_model->mark_thread_messages_read($param2);
}
$page_data['message_inner_page_name'] = $param1;
$page_data['page_name'] = 'message';
$page_data['page_title'] = get_phrase('private_messaging');
$this->load->view('backend/index', $page_data);
}
/*****SITE/SYSTEM SETTINGS*********/
function system_settings($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url() . 'index.php?login', 'refresh');
if ($param1 == 'do_update') {
$data['description'] = $this->input->post('system_name');
$this->db->where('type' , 'system_name');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('system_title');
$this->db->where('type' , 'system_title');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('address');
$this->db->where('type' , 'address');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('phone');
$this->db->where('type' , 'phone');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('paypal_email');
$this->db->where('type' , 'paypal_email');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('payumoney_merchant_key');
$this->db->where('type' , 'payumoney_merchant_key');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('payumoney_salt_id');
$this->db->where('type' , 'payumoney_salt_id');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('currency');
$this->db->where('type' , 'currency');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('system_email');
$this->db->where('type' , 'system_email');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('system_name');
$this->db->where('type' , 'system_name');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('language');
$this->db->where('type' , 'language');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('text_align');
$this->db->where('type' , 'text_align');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('running_year');
$this->db->where('type' , 'running_year');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('purchase_code');
$this->db->where('type' , 'purchase_code');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('confirmstudent_enable');
$this->db->where('type' , 'confirmstudent_enable');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('smtp_host');
$this->db->where('type' , 'smtp_host');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('smtp_username');
$this->db->where('type' , 'smtp_username');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('smtp_password');
$this->db->where('type' , 'smtp_password');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('smtp_port');
$this->db->where('type' , 'smtp_port');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('smtp_from');
$this->db->where('type' , 'smtp_from');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('smtp_fromname');
$this->db->where('type' , 'smtp_fromname');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('smtp_tls');
$this->db->where('type' , 'smtp_tls');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('facebook_appid');
$this->db->where('type' , 'facebook_appid');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('facebook_appsecret');
$this->db->where('type' , 'facebook_appsecret');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('google_appid');
$this->db->where('type' , 'google_appid');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('google_appsecret');
$this->db->where('type' , 'google_appsecret');
$this->db->update('settings' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/system_settings/', 'refresh');
}
if ($param1 == 'upload_logo') {
move_uploaded_file($_FILES['userfile']['tmp_name'], 'uploads/logo.png');
$this->session->set_flashdata('flash_message', get_phrase('settings_updated'));
redirect(base_url() . 'index.php?admin/system_settings/', 'refresh');
}
if ($param1 == 'change_skin') {
$data['description'] = $param2;
$this->db->where('type' , 'skin_colour');
$this->db->update('settings' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('theme_selected'));
redirect(base_url() . 'index.php?admin/system_settings/', 'refresh');
}
$page_data['page_name'] = 'system_settings';
$page_data['page_title'] = get_phrase('system_settings');
$page_data['settings'] = $this->db->get('settings')->result_array();
$this->load->view('backend/index', $page_data);
}
// FRONTEND
function frontend_pages($param1 = '', $param2 = '', $param3 = '') {
if ($this->session->userdata('admin_login') != 1) {
redirect(base_url() , 'refresh');
}
if ($param1 == 'events') {
$page_data['page_content'] = 'frontend_events';
}
if ($param1 == 'gallery') {
$page_data['page_content'] = 'frontend_gallery';
}
if ($param1 == 'privacy_policy') {
$page_data['page_content'] = 'frontend_privacy_policy';
}
if ($param1 == 'about_us') {
$page_data['page_content'] = 'frontend_about_us';
}
if ($param1 == 'terms_conditions') {
$page_data['page_content'] = 'frontend_terms_conditions';
}
if ($param1 == 'homepage_slider') {
$page_data['page_content'] = 'frontend_slider';
}
if ($param1 == '' || $param1 == 'general') {
$page_data['page_content'] = 'frontend_general_settings';
}
if ($param1 == 'gallery_image') {
$page_data['page_content'] = 'frontend_gallery_image';
$page_data['gallery_id'] = $param2;
}
$page_data['page_name'] = 'frontend_pages';
$page_data['page_title'] = get_phrase('pages');
$this->load->view('backend/index', $page_data);
}
function frontend_events($param1 = '', $param2 = '') {
if ($param1 == 'add_event') {
$this->frontend_model->add_event();
$this->session->set_flashdata('flash_message' , get_phrase('event_added_successfully'));
redirect(base_url() . 'index.php?admin/frontend_pages/events', 'refresh');
}
if ($param1 == 'edit_event') {
$this->frontend_model->edit_event($param2);
$this->session->set_flashdata('flash_message' , get_phrase('event_updated_successfully'));
redirect(base_url() . 'index.php?admin/frontend_pages/events', 'refresh');
}
if ($param1 == 'delete') {
$this->frontend_model->delete_event($param2);
$this->session->set_flashdata('flash_message' , get_phrase('event_deleted'));
redirect(base_url() . 'index.php?admin/frontend_pages/events', 'refresh');
}
}
function frontend_gallery($param1 = '', $param2 = '', $param3 = '') {
if ($param1 == 'add_gallery') {
$this->frontend_model->add_gallery();
$this->session->set_flashdata('flash_message' , get_phrase('gallery_added_successfully'));
redirect(base_url() . 'index.php?admin/frontend_pages/gallery', 'refresh');
}
if ($param1 == 'edit_gallery') {
$this->frontend_model->edit_gallery($param2);
$this->session->set_flashdata('flash_message' , get_phrase('gallery_updated_successfully'));
redirect(base_url() . 'index.php?admin/frontend_pages/gallery', 'refresh');
}
if ($param1 == 'upload_images') {
$this->frontend_model->add_gallery_images($param2);
$this->session->set_flashdata('flash_message' , get_phrase('images_uploaded'));
redirect(base_url().'index.php?admin/frontend_pages/gallery_image/'.$param2, 'refresh');
}
if ($param1 == 'delete_image') {
$this->frontend_model->delete_gallery_image($param2);
$this->session->set_flashdata('flash_message' , get_phrase('images_deleted'));
redirect(base_url().'index.php?admin/frontend_pages/gallery_image/'.$param3, 'refresh');
}
// if ($param1 == 'delete') {
// $this->frontend_model->delete_gallery($param2);
// $this->session->set_flashdata('flash_message' , get_phrase('gallery_deleted'));
// redirect(base_url() . 'index.php?admin/frontend_pages/gallery', 'refresh');
// }
}
function frontend_news($param1 = '', $param2 = '') {
if ($param1 == 'add_news') {
$this->frontend_model->add_news();
$this->session->set_flashdata('flash_message' , get_phrase('news_added_successfully'));
redirect(base_url() . 'index.php?admin/frontend_pages/news', 'refresh');
}
if ($param1 == 'edit_news') {
}
if ($param1 == 'delete') {
$this->frontend_model->delete_news($param2);
$this->session->set_flashdata('flash_message' , get_phrase('news_was_deleted'));
redirect(base_url() . 'index.php?admin/frontend_pages/news', 'refresh');
}
}
function frontend_settings($task) {
if ($task == 'update_terms_conditions') {
$this->frontend_model->update_terms_conditions();
$this->session->set_flashdata('flash_message' , get_phrase('terms_updated'));
redirect(base_url() . 'index.php?admin/frontend_pages/terms_conditions', 'refresh');
}
if ($task == 'update_about_us') {
$this->frontend_model->update_about_us();
$this->session->set_flashdata('flash_message' , get_phrase('about_us_updated'));
redirect(base_url() . 'index.php?admin/frontend_pages/about_us', 'refresh');
}
if ($task == 'update_privacy_policy') {
$this->frontend_model->update_privacy_policy();
$this->session->set_flashdata('flash_message' , get_phrase('privacy_policy_updated'));
redirect(base_url() . 'index.php?admin/frontend_pages/privacy_policy', 'refresh');
}
if ($task == 'update_general_settings') {
$this->frontend_model->update_frontend_general_settings();
$this->session->set_flashdata('flash_message' , get_phrase('general_settings_updated'));
redirect(base_url() . 'index.php?admin/frontend_pages/general', 'refresh');
}
if ($task == 'update_slider_images') {
$this->frontend_model->update_slider_images();
$this->session->set_flashdata('flash_message' , get_phrase('slider_images_updated'));
redirect(base_url() . 'index.php?admin/frontend_pages/homepage_slider', 'refresh');
}
}
function frontend_themes() {
if ($this->session->userdata('admin_login') != 1) {
redirect(base_url() , 'refresh');
}
$page_data['page_name'] = 'frontend_themes';
$page_data['page_title'] = get_phrase('themes');
$this->load->view('backend/index', $page_data);
}
// FRONTEND
function get_session_changer()
{
$this->load->view('backend/admin/change_session');
}
function change_session()
{
$data['description'] = $this->input->post('running_year');
$this->db->where('type' , 'running_year');
$this->db->update('settings' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('session_changed'));
redirect(base_url() . 'index.php?admin/dashboard/', 'refresh');
}
/***** UPDATE PRODUCT *****/
function update( $task = '', $purchase_code = '' ) {
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
// Create update directory.
$dir = 'update';
if ( !is_dir($dir) )
mkdir($dir, 0777, true);
$zipped_file_name = $_FILES["file_name"]["name"];
$path = 'update/' . $zipped_file_name;
move_uploaded_file($_FILES["file_name"]["tmp_name"], $path);
// Unzip uploaded update file and remove zip file.
$zip = new ZipArchive;
$res = $zip->open($path);
if ($res === TRUE) {
$zip->extractTo('update');
$zip->close();
unlink($path);
}
$unzipped_file_name = substr($zipped_file_name, 0, -4);
$str = file_get_contents('./update/' . $unzipped_file_name . '/update_config.json');
$json = json_decode($str, true);
// Run php modifications
require './update/' . $unzipped_file_name . '/update_script.php';
// Create new directories.
if(!empty($json['directory'])) {
foreach($json['directory'] as $directory) {
if ( !is_dir( $directory['name']) )
mkdir( $directory['name'], 0777, true );
}
}
// Create/Replace new files.
if(!empty($json['files'])) {
foreach($json['files'] as $file)
copy($file['root_directory'], $file['update_directory']);
}
$this->session->set_flashdata('flash_message' , get_phrase('product_updated_successfully'));
redirect(base_url() . 'index.php?admin/system_settings');
}
/*****SMS SETTINGS*********/
function sms_settings($param1 = '' , $param2 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url() . 'index.php?login', 'refresh');
if ($param1 == 'clickatell') {
$data['description'] = $this->input->post('clickatell_user');
$this->db->where('type' , 'clickatell_user');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('clickatell_password');
$this->db->where('type' , 'clickatell_password');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('clickatell_api_id');
$this->db->where('type' , 'clickatell_api_id');
$this->db->update('settings' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/sms_settings/', 'refresh');
}
if ($param1 == 'twilio') {
$data['description'] = $this->input->post('twilio_account_sid');
$this->db->where('type' , 'twilio_account_sid');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('twilio_auth_token');
$this->db->where('type' , 'twilio_auth_token');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('twilio_sender_phone_number');
$this->db->where('type' , 'twilio_sender_phone_number');
$this->db->update('settings' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/sms_settings/', 'refresh');
}
if ($param1 == 'msg91') {
$data['description'] = $this->input->post('authentication_key');
$this->db->where('type' , 'msg91_authentication_key');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('sender_ID');
$this->db->where('type' , 'msg91_sender_ID');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('msg91_route');
$this->db->where('type' , 'msg91_route');
$this->db->update('settings' , $data);
$data['description'] = $this->input->post('msg91_country_code');
$this->db->where('type' , 'msg91_country_code');
$this->db->update('settings' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/sms_settings/', 'refresh');
}
if ($param1 == 'active_service') {
$data['description'] = $this->input->post('active_sms_service');
$this->db->where('type' , 'active_sms_service');
$this->db->update('settings' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
redirect(base_url() . 'index.php?admin/sms_settings/', 'refresh');
}
$page_data['page_name'] = 'sms_settings';
$page_data['page_title'] = get_phrase('sms_settings');
$page_data['settings'] = $this->db->get('settings')->result_array();
$this->load->view('backend/index', $page_data);
}
/*****LANGUAGE SETTINGS*********/
function manage_language($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url() . 'index.php?login', 'refresh');
if ($param1 == 'edit_phrase') {
$page_data['edit_profile'] = $param2;
}
if ($param1 == 'update_phrase') {
$language = $param2;
$total_phrase = $this->input->post('total_phrase');
for($i = 1 ; $i < $total_phrase ; $i++)
{
//$data[$language] = $this->input->post('phrase').$i;
$this->db->where('phrase_id' , $i);
$this->db->update('language' , array($language => $this->input->post('phrase'.$i)));
}
redirect(base_url() . 'index.php?admin/manage_language/edit_phrase/'.$language, 'refresh');
}
if ($param1 == 'do_update') {
$language = $this->input->post('language');
$data[$language] = $this->input->post('phrase');
$this->db->where('phrase_id', $param2);
$this->db->update('language', $data);
$this->session->set_flashdata('flash_message', get_phrase('settings_updated'));
redirect(base_url() . 'index.php?admin/manage_language/', 'refresh');
}
if ($param1 == 'add_phrase') {
$data['phrase'] = $this->input->post('phrase');
$this->db->insert('language', $data);
$this->session->set_flashdata('flash_message', get_phrase('settings_updated'));
redirect(base_url() . 'index.php?admin/manage_language/', 'refresh');
}
if ($param1 == 'add_language') {
$language = $this->input->post('language');
$this->load->dbforge();
$fields = array(
$language => array(
'type' => 'LONGTEXT'
)
);
$this->dbforge->add_column('language', $fields);
$this->session->set_flashdata('flash_message', get_phrase('settings_updated'));
redirect(base_url() . 'index.php?admin/manage_language/', 'refresh');
}
if ($param1 == 'delete_language') {
$language = $param2;
$this->load->dbforge();
$this->dbforge->drop_column('language', $language);
$this->session->set_flashdata('flash_message', get_phrase('settings_updated'));
redirect(base_url() . 'index.php?admin/manage_language/', 'refresh');
}
$page_data['page_name'] = 'manage_language';
$page_data['page_title'] = get_phrase('manage_language');
//$page_data['language_phrases'] = $this->db->get('language')->result_array();
$this->load->view('backend/index', $page_data);
}
/*****BACKUP / RESTORE / DELETE DATA PAGE**********/
function backup_restore($operation = '', $type = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($operation == 'create') {
$this->crud_model->create_backup($type);
}
if ($operation == 'restore') {
$this->crud_model->restore_backup();
$this->session->set_flashdata('backup_message', 'Backup Restored');
redirect(base_url() . 'index.php?admin/backup_restore/', 'refresh');
}
if ($operation == 'delete') {
$this->crud_model->truncate($type);
$this->session->set_flashdata('backup_message', 'Data removed');
redirect(base_url() . 'index.php?admin/backup_restore/', 'refresh');
}
$page_data['page_info'] = 'Create backup / restore from backup';
$page_data['page_name'] = 'backup_restore';
$page_data['page_title'] = get_phrase('manage_backup_restore');
$this->load->view('backend/index', $page_data);
}
/******MANAGE OWN PROFILE AND CHANGE PASSWORD***/
function manage_profile($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url() . 'index.php?login', 'refresh');
if ($param1 == 'update_profile_info') {
$data['name'] = $this->input->post('name');
$data['email'] = $this->input->post('email');
$admin_id = $param2;
$validation = email_validation_for_edit($data['email'], $admin_id, 'admin');
if($validation == 1){
$this->db->where('admin_id', $this->session->userdata('admin_id'));
$this->db->update('admin', $data);
move_uploaded_file($_FILES['userfile']['tmp_name'], 'uploads/admin_image/' . $this->session->userdata('admin_id') . '.jpg');
$this->session->set_flashdata('flash_message', get_phrase('account_updated'));
}
else{
$this->session->set_flashdata('error_message', get_phrase('this_email_id_is_not_available'));
}
redirect(base_url() . 'index.php?admin/manage_profile/', 'refresh');
}
if ($param1 == 'change_password') {
$data['password'] = sha1($this->input->post('password'));
$data['new_password'] = sha1($this->input->post('new_password'));
$data['confirm_new_password'] = sha1($this->input->post('confirm_new_password'));
$current_password = $this->db->get_where('admin', array(
'admin_id' => $this->session->userdata('admin_id')
))->row()->password;
if ($current_password == $data['password'] && $data['new_password'] == $data['confirm_new_password']) {
$this->db->where('admin_id', $this->session->userdata('admin_id'));
$this->db->update('admin', array(
'password' => $data['new_password']
));
$this->session->set_flashdata('flash_message', get_phrase('password_updated'));
} else {
$this->session->set_flashdata('error_message', get_phrase('password_mismatch'));
}
redirect(base_url() . 'index.php?admin/manage_profile/', 'refresh');
}
$page_data['page_name'] = 'manage_profile';
$page_data['page_title'] = get_phrase('manage_profile');
$page_data['edit_data'] = $this->db->get_where('admin', array(
'admin_id' => $this->session->userdata('admin_id')
))->result_array();
$this->load->view('backend/index', $page_data);
}
// VIEW QUESTION PAPERS
function question_paper($param1 = "", $param2 = "")
{
if ($this->session->userdata('admin_login') != 1)
{
$this->session->set_userdata('last_page', current_url());
redirect(base_url(), 'refresh');
}
$data['page_name'] = 'question_paper';
$data['page_title'] = get_phrase('question_paper');
$this->load->view('backend/index', $data);
}
// MANAGE LIBRARIANS
function librarian($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
$data['email'] = $this->input->post('email');
$data['password'] = sha1($this->input->post('password'));
$validation = email_validation($data['email']);
if ($validation == 1) {
$this->db->insert('librarian', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
$this->email_model->account_opening_email('librarian', $data['email'], $this->input->post('password')); //SEND EMAIL ACCOUNT OPENING EMAIL
}
else{
$this->session->set_flashdata('error_message' , get_phrase('this_email_id_is_not_available'));
}
redirect(base_url() . 'index.php?admin/librarian/', 'refresh');
}
if ($param1 == 'edit') {
$data['name'] = $this->input->post('name');
$data['email'] = $this->input->post('email');
$validation = email_validation_for_edit($data['email'], $param2, 'librarian');
if ($validation == 1) {
$this->db->where('librarian_id' , $param2);
$this->db->update('librarian' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
}
else{
$this->session->set_flashdata('error_message' , get_phrase('this_email_id_is_not_available'));
}
redirect(base_url() . 'index.php?admin/librarian/', 'refresh');
}
if ($param1 == 'delete') {
$this->db->where('librarian_id' , $param2);
$this->db->delete('librarian');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/librarian/', 'refresh');
}
$page_data['page_title'] = get_phrase('all_librarians');
$page_data['page_name'] = 'librarian';
$this->load->view('backend/index', $page_data);
}
// MANAGE ACCOUNTANTS
function accountant($param1 = '', $param2 = '', $param3 = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect('login', 'refresh');
if ($param1 == 'create') {
$data['name'] = $this->input->post('name');
$data['email'] = $this->input->post('email');
$data['password'] = sha1($this->input->post('password'));
$validation = email_validation($data['email']);
if ($validation == 1) {
$this->db->insert('accountant', $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_added_successfully'));
$this->email_model->account_opening_email('accountant', $data['email'], $this->input->post('password')); //SEND EMAIL ACCOUNT OPENING EMAIL
}
else{
$this->session->set_flashdata('error_message' , get_phrase('this_email_id_is_not_available'));
}
redirect(base_url() . 'index.php?admin/accountant', 'refresh');
}
if ($param1 == 'edit') {
$data['name'] = $this->input->post('name');
$data['email'] = $this->input->post('email');
$validation = email_validation_for_edit($data['email'], $param2, 'accountant');
if($validation == 1){
$this->db->where('accountant_id' , $param2);
$this->db->update('accountant' , $data);
$this->session->set_flashdata('flash_message' , get_phrase('data_updated'));
}
else{
$this->session->set_flashdata('error_message' , get_phrase('this_email_id_is_not_available'));
}
redirect(base_url() . 'index.php?admin/accountant', 'refresh');
}
if ($param1 == 'delete') {
$this->db->where('accountant_id' , $param2);
$this->db->delete('accountant');
$this->session->set_flashdata('flash_message' , get_phrase('data_deleted'));
redirect(base_url() . 'index.php?admin/accountant', 'refresh');
}
$page_data['page_title'] = get_phrase('all_accountants');
$page_data['page_name'] = 'accountant';
$this->load->view('backend/index', $page_data);
}
// bulk student_add using CSV
function generate_bulk_student_csv($course_id = '', $section_id = '')
{
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$data['course_id'] = $course_id;
$data['section_id'] = $section_id;
$data['year'] = $this->db->get_where('settings', array('type'=>'running_year'))->row()->description;
$file = fopen("uploads/bulk_student.csv", "w");
$line = array('StudentName', 'Id', 'Email', 'Password', 'Phone', 'Address', 'ParentID', 'Gender');
fputcsv($file, $line, ',');
echo $file_path = base_url() . 'uploads/bulk_student.csv';
}
// CSV IMPORT
function bulk_student_add_using_csv($param1 = '') {
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
if ($param1 == 'import') {
if ($this->input->post('course_id') != '' && $this->input->post('section_id') != '') {
move_uploaded_file($_FILES['userfile']['tmp_name'], 'uploads/bulk_student.csv');
$csv = array_map('str_getcsv', file('uploads/bulk_student.csv'));
$count = 1;
$array_size = sizeof($csv);
foreach ($csv as $row) {
if ($count == 1) {
$count++;
continue;
}
$password = $row[3];
$data['name'] = $row[0];
$data['student_code'] = $row[1];
$data['email'] = $row[2];
$data['password'] = sha1($row[3]);
$data['phone'] = $row[4];
$data['address'] = $row[5];
$data['parent_id'] = $row[6];
$data['sex'] = strtolower($row[7]);
//student id (code) validation
$code_validation = code_validation_insert($data['student_code']);
if(!$code_validation){
$this->session->set_flashdata('error_message' , get_phrase('this_id_no_is_not_available'));
redirect(base_url() . 'index.php?admin/student_add/', 'refresh');
}
//student id validation ends
$validation = email_validation($data['email']);
if ($validation == 1) {
$this->db->insert('student', $data);
$student_id = $this->db->insert_id();
$data2['student_id'] = $student_id;
$data2['course_id'] = $this->input->post('course_id');
$data2['section_id'] = $this->input->post('section_id');
// $data2['roll'] = $row[1];
$data2['enroll_code'] = substr(md5(rand(0, 1000000)), 0, 7);
$data2['date_added'] = strtotime(date("Y-m-d H:i:s"));
$data2['year'] = $this->db->get_where('settings' , array('type' => 'running_year'))->row()->description;
$this->db->insert('enroll' , $data2);
}
else{
if ($array_size == 2) {
$this->session->set_flashdata('error_message', get_phrase('this_email_id_"').$data['email'].get_phrase('"_is_not_available'));
redirect(base_url() . 'index.php?admin/student_bulk_add', 'refresh');
}
elseif($array_size > 2){
$this->session->set_flashdata('error_message', get_phrase('some_email_IDs_are_not_available'));
}
}
}
$this->session->set_flashdata('flash_message', get_phrase('student_imported'));
redirect(base_url() . 'index.php?admin/student_bulk_add', 'refresh');
}
else{
$this->session->set_flashdata('error_message', get_phrase('please_make_sure_course_and_section_is_selected'));
redirect(base_url() . 'index.php?admin/student_bulk_add', 'refresh');
}
}
$page_data['page_name'] = 'student_bulk_add';
$page_data['page_title'] = get_phrase('add_bulk_student');
$this->load->view('backend/index', $page_data);
}
function study_material($task = "", $document_id = "")
{
if ($this->session->userdata('admin_login') != 1)
{
$this->session->set_userdata('last_page' , current_url());
redirect(base_url(), 'refresh');
}
if ($task == "create")
{
$this->crud_model->save_study_material_info();
$this->session->set_flashdata('flash_message' , get_phrase('study_material_info_saved_successfuly'));
redirect(base_url() . 'index.php?admin/study_material' , 'refresh');
}
if ($task == "update")
{
$this->crud_model->update_study_material_info($document_id);
$this->session->set_flashdata('flash_message' , get_phrase('study_material_info_updated_successfuly'));
redirect(base_url() . 'index.php?admin/study_material' , 'refresh');
}
if ($task == "delete")
{
$this->crud_model->delete_study_material_info($document_id);
redirect(base_url() . 'index.php?admin/study_material');
}
$data['study_material_info'] = $this->crud_model->select_study_material_info();
$data['page_name'] = 'study_material';
$data['page_title'] = get_phrase('study_material');
$this->load->view('backend/index', $data);
}
//new code
function print_id($id){
if ($this->session->userdata('admin_login') != 1)
redirect(base_url(), 'refresh');
$data['id'] = $id;
$this->load->view('backend/admin/print_id', $data);
}
function create_barcode($student_id)
{
return $this->Barcode_model->create_barcode($student_id);
}
}