Server IP : 103.191.208.50 / Your IP : 216.73.216.53 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, popen, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/celkcksm/ecampus.ncriptech.com/application/controllers/admin/lms/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
<?php defined('BASEPATH') OR exit('No direct script access allowed'); /** * */ class BooksIssue extends BaseAdminController { public $db_group=''; protected $inst_id=''; protected $inst_type=''; protected $ctms_access=''; function __construct() { parent::__construct(); $userdata=$this->data['userdata']; $this->inst_code=$institute_data['inst_code']; $institute_data=check_institute($this->data['userdata']); //print_obj($institute_data);die; $this->inst_id=$institute_data['institute_id']; $this->inst_type=$institute_data['inst_type']; $this->lms_access=$institute_data['lms_access']; // $this->load->model('lms/author_model','lmsam'); $this->load->model(array('lms/book_model'=>'lmsbm','lms/rack_model'=>'rcm','lms/publisher_model'=>'pbm','lms/category_model'=>'cam','lms/author_model'=>'aum','lms/language_model'=>'lsmlm','lms/issues_model'=>'lsmism')); // $this->load->model('lms/publisher_model','lmspm'); } public function indexBooksIssue(){ $books_count=$this->lmsbm->get_total_books(null,null,null,$this->inst_code); if($this->data['userdata']->user_type=='student' || $this->data['userdata']->user_type=='agent' ) { redirect($this->data['base_url']); } if(session_userdata('isAdminLoggedin')){ $this->data['page_title']='Books Issues'; if($this->lms_access=='yes'){ $this->data['books_count']=$books_count; $edit_access= check_access_control($this->data['userdata'],'lms_books_issue','edit'); $add_access= check_access_control($this->data['userdata'],'lms_books_issue','add'); $view_access= check_access_control($this->data['userdata'],'lms_books_issue','view'); if($this->data['userdata']->user_role==1){ $add_access='yes'; $edit_access="yes"; $view_access="yes"; } if($add_access=='yes'){ $this->data['add_option_view_form']=$add_access; } else{ $this->data['add_option_view_form']='no'; } $this->theme->title($this->data['page_title'])->load('lms/vw_books_issues', $this->data); }else{ $this->theme->title($this->data['page_title'])->load('lms/vw_lms_permission_denied', $this->data); } }else{ redirect($this->data['base_url']); } } public function indexBooksIssueAddEdit($issue_id=null){ if(session_userdata('isAdminLoggedin')){ $this->data['page_title']='Issue New Book'; $issue_data=[]; $_sessions=[]; $issued_books=[]; $books_count=$this->lmsbm->get_total_books(null,null,null,$this->inst_code); if($this->lms_access=='yes'){ $edit_access= check_access_control($this->data['userdata'],'lms_books_issue','edit'); $add_access= check_access_control($this->data['userdata'],'lms_books_issue','add'); $view_access= check_access_control($this->data['userdata'],'lms_books_issue','view'); if($this->data['userdata']->user_role==1){ $add_access='yes'; $edit_access="yes"; $view_access="yes"; } if($add_access=='yes' && $edit_access=='yes' && $view_access=='yes'){ if($issue_id!=null){ $issue_id=decode_data($issue_id); $issue_data=$this->lsmism->get_book_issue_data(array('issue_id'=>$issue_id),TRUE,$this->inst_code); if(!empty($issue_data)){ if($issue_data->issue_user_type=='student'){ $sessions=$this->sessm->get_session(array('session_inst_id'=>$this->inst_id,'session_status'=>'active'),FALSE,$this->inst_code); if(!empty($sessions)){ foreach ($sessions as $key => $value) { $_sessions[]=array( 'session_id'=>$value->session_id, 'session_start_year'=>$value->session_start_year, 'session_end_year'=>$value->session_end_year, 'selected'=>($value->session_id==$issue_data->issue_user_session_id)?'selected':'' ); } } }else if($issue_data->issue_user_type=='employee'){ } $books_ids=char_separated(unserialize($issue_data->issue_book_id)); $books_param['book_ids']=$books_ids; $books_param['order'] = array('book_id' => 'ASC'); $issued_books=$this->lmsbm->get_book_data($books_param,$this->inst_code); } //print_obj($issued_books); } $this->data['books_count']=$books_count; $this->data['issue_data']=$issue_data; $this->data['issued_books']=$issued_books; $this->data['sessions']=$_sessions; $this->theme->title($this->data['page_title'])->load('lms/vw_books_issues_add_edit', $this->data); }else{ $this->theme->title($this->data['page_title'])->load('lms/vw_lms_permission_denied', $this->data); } }else{ $this->theme->title($this->data['page_title'])->load('lms/vw_lms_permission_denied', $this->data); } }else{ redirect($this->data['base_url']); } } public function onSearchBooksIssue(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $edit_access= check_access_control($this->data['userdata'],'lms_books_issue','edit'); $delete_access= check_access_control($this->data['userdata'],'lms_books_issue','delete'); if($this->data['userdata']->user_role==1){ $edit_access='yes'; $delete_access="yes"; } $param['inst_id']=$this->inst_id; $param['inst_type']=$this->inst_type; $param['column_order'] = array( null, 'book_name', 'book_isbn' ); $param['column_search'] = array('book_name'); $param['order'] = array('issue_id' => 'ASC'); $posts=$this->input->post(); //$param['created_by']=session_userdata('admin_id'); $list = $this->lsmism->_get_book_issue_data($posts,$param,FALSE,$this->inst_code); $data = array(); $no = 0; $action=''; foreach ($list as $bdata){ $no++; $row = array(); if($bdata->issue_penalty_applied=='yes'){ $penalty=number_format($bdata->issue_penalty); }else if($bdata->issue_penalty_applied=='no'){ $penalty='<span class="badge badge-success">Not Applied</span>'; } $book_ids=unserialize($bdata->issue_book_id); $_book_data='<ol>'; foreach ($book_ids as $key => $value) { $book_data=$this->lmsbm->get_book(array('book_id'=>$value),TRUE,$this->inst_code); $_book_data.='<li>'.$book_data->book_name.'</li>'; } $_book_data.='</ol>'; if(!empty($bdata->stu_mid_name)){ $stu_name=$bdata->stu_first_name.' '.$bdata->stu_mid_name.' '.$bdata->stu_last_name; }else{ $stu_name=$bdata->stu_first_name.' '.$bdata->stu_last_name; } $total_penalty=$this->lsmism->get_book_issue_late_fees_data(array('book_issue_id'=>$bdata->issue_id),TRUE,$this->inst_code); if($bdata->issue_status=='returned'){ $status='<span class="badge badge-success">Returned</span>'; }else if($bdata->issue_status=='renewed'){ $status='<span class="badge badge-warning">Renewed</span>'; }else if($bdata->issue_status=='not_returned'){ $status='<span class="badge badge-info">Not Returned</span>'; }else if($bdata->issue_status=='lost'){ $status='<span class="badge badge-danger">Lost</span>'; } $row[] = $no; $row[] = $stu_name.'<br>'.$bdata->stu_user_code; $row[] = date('d-m-Y',strtotime($bdata->issue_issued_at)).'<br>'.date('d-m-Y',strtotime($bdata->issue_return_last_date)); $row[] = $status; $row[]= (!empty($total_penalty) && $total_penalty->late_fee>0)?'₹ '.number_format($total_penalty->late_fee,2):'N/A'; $row[] = $_book_data; $action='<div class="btn-group btn-group-rounded" role="group" aria-label="Basic example">'; if($edit_access=='yes' && $delete_access=='yes'){ $action.='<a class="btn btn-xs btn-dark" href="'.$this->data['base_url'].'/lms/books/issues/add/'.encode_data($bdata->issue_id ).'" ><i class="fa fa-edit"></i></a><button type="button" class="btn btn-xs btn-danger btn_del_book_issues" data-book_issue_id="'.encode_data($bdata->issue_id).'"><i class="fa fa-trash"></i></button>'; }else if($edit_access=='no' && $delete_access=='yes'){ $action.='<button type="button" class="btn btn-xs btn-danger btn_del_book_issues" data-book_issue_id="'.encode_data($bdata->issue_id).'"><i class="fa fa-trash"></i></button>'; }else if($edit_access=='yes' && $delete_access=='no'){ $action.='<a class="btn btn-xs btn-dark" href="'.$this->data['base_url'].'/lms/books/issues/add/'.encode_data($bdata->issue_id ).'" ><i class="fa fa-edit"></i></a>'; }else if($edit_access=='no' && $delete_access=='no'){ $action.='action not permitted'; } $action.='</div>'; $row[] = $action; $data[] = $row; } $output = array( "draw" => isset($posts['draw'])?$posts['draw']:'', "recordsTotal" => $this->lsmism->_get_book_issue_data($posts,$param,TRUE,$this->inst_code), "recordsFiltered" => $this->lsmism->_get_book_issue_data($posts,$param,TRUE,$this->inst_code), "data" => $data, ); echo json_encode($output); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onLoadIssueableBooks(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $param['inst_id']=$this->inst_id; $param['inst_type']=$this->inst_type; $param['column_order'] = array( null, 'book_name', 'author_name' ); $param['column_search'] = array('book_name'); $param['order'] = array('book_id' => 'ASC'); $param['inst_available']='yes'; $param['book_available_copy']=true; $posts=$this->input->post(); if(isset($posts['issue_id'])){ $issue_id=decode_data($posts['issue_id']); $issued_data=$this->lsmism->get_book_issue_data(array('issue_id'=>$issue_id)); $books_ids=char_separated(unserialize($issued_data->issue_book_id)); $books_param['book_ids']=$books_ids; $books_param['order'] = array('book_id' => 'ASC'); $issued_books=$this->lmsbm->get_book_data($books_param,$this->inst_code); }else{ $issued_books=array(); } $list = $this->lmsbm->_get_book_data($posts,$param,FALSE,FALSE); $data = array(); $no = 0; if(!empty($list)){ foreach ($list as $bdata){ $data[] = array( 'book_id'=>$bdata->book_id, 'book_name'=>$bdata->book_name, 'book_code'=>$bdata->book_code, 'book_author'=>$bdata->author_name, 'book_qty'=>$bdata->book_qty, 'book_is_available'=>$bdata->book_is_available, 'book_available_copy'=>$bdata->book_available_copy, 'book_category'=>$bdata->category_name, 'book_issued'=>(in_array($bdata->book_id, $issued_books))?'checked':'', 'book_disabled'=>(in_array($bdata->book_id, $issued_books))?'disabled':'', ); } } $this->data['data_rows']=$data; $this->data['issued_books']=$issued_books; $return['html']=$this->theme->view('_pages/lms/vw_books_to_issue_dyna',$this->data,true); json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onAddEditBookIssuesData(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $db_group=$this->inst_code; $user_id=$this->data['userdata']->user_id; $issue_id=post_data('_issue_id'); $session_id=post_data('issue_session'); $member_type=post_data('issue_member_type'); $department_id=post_data('issue_department'); $student_id=post_data('issue_member'); $last_date=post_data('issue_return_last_date'); $penalty=post_data('issue_penalty'); $penalty_applicable=post_data('issue_penalty_applicable'); $penalty_type=post_data('issue_penalty_type'); if(empty($issue_id)){ // $this->form_validation->set_rules('issue_session', 'Session', 'trim|required|numeric|greater_than[0]'); // $this->form_validation->set_rules('issue_student', 'Student', 'trim|required|numeric|greater_than[0]'); $this->form_validation->set_rules('issue_return_last_date', 'Last Date', 'trim|required|regex_match[/^\d{2}-\d{2}-\d{4}$/]'); } $issue_book_id=$this->input->post('issue_book_id'); if(empty($issue_id)){ if($penalty_applicable=='yes'){ $this->form_validation->set_rules('issue_penalty', 'Penalty value', 'trim|required|regex_match[/^(?:\d+\.?\d*|\.\d+)$/]'); } if ($this->form_validation->run() == FALSE){ $validation_error_data = strip_tags($this->form_validation->error_string()); $return['error']=$validation_error_data; }else{ if(!empty($issue_book_id)){ foreach ($issue_book_id as $key => $value) { $book_ids[]=$value; } if($member_type=='student'){ $issue_user_id=$student_id; } $d=array( 'issue_user_session_id'=>($member_type=='student')?$session_id:0, 'issue_user_department_id'=>($member_type=='employee')?$department_id:0, 'issue_user_id'=>$issue_user_id, 'issue_user_type'=>$member_type, 'issue_inst_id'=>$this->inst_id, 'issue_inst_type'=>$this->inst_type, 'issue_book_id'=>serialize($book_ids), 'issue_return_last_date'=>date('Y-m-d',strtotime($last_date)), 'issue_penalty'=>$penalty, 'issue_penalty_type'=>$penalty_type, 'issue_penalty_applied'=>$penalty_applicable, 'issue_penalty'=>($penalty_applicable=='yes')?$penalty:0, 'issue_issued_at'=>date('Y,m-d'), 'issue_issued_by'=>$user_id ); $added=$this->lsmism->store_book_issue_data($d,$db_group); if($added){ foreach ($book_ids as $key => $value) { $book_data=$this->lmsbm->get_book(array('book_id'=>$value),TRUE,$db_group); if(!empty($book_data)){ $available_copy=$book_data->book_available_copy-1; $book_is_available=($available_copy==0)?'no':'yes'; $this->lmsbm->update_book_data(array('book_is_available'=>$book_is_available,'book_available_copy'=>$available_copy),array('book_id'=>$value),FALSE,$db_group); } } $return['success']='Book has been issued'; }else{ $return['error']='Book has not been issued'; } }else{ $return['error']='Select at least one book to issue'; } } }else{ if(is_string($issue_id)){ $issue_id=decode_data($issue_id); $issue_return_status=post_data('issue_return_status'); $issue_return_date=post_data('issue_return_date'); $issued_data=$this->lsmism->get_book_issue_data(array('issue_id'=>$issue_id)); if(!empty($issued_data)){ $d['issue_updated_by']=$user_id; $d['issue_updated_at']=date('Y,m-d'); $prev_book_ids=unserialize($issued_data->issue_book_id); //previous book ids foreach ($issue_book_id as $key => $value) { $book_ids[]=$value; } if(!empty($book_ids)){ array_push($prev_book_ids,$book_ids); } if($member_type=='student'){ $issue_user_id=$student_id; } $d['issue_status']=$issue_return_status; if($issue_return_status=='returned'){ $d['issue_return_date']=date('Y-m-d',strtotime($issue_return_date)); } if($issue_return_status=='renewed'){ $d['issue_renew_date']= date('Y-m-d',strtotime($issue_return_date)); } $added=$this->lsmism->update_book_issue_data($d,array('issue_id'=>$issue_id),FALSE,$db_group); if($added){ $stored_book_uids=unserialize($issued_data->issue_book_id); foreach ($stored_book_uids as $key => $value) { $book_data=$this->lmsbm->get_book(array('book_id'=>$value),TRUE,$db_group); if(!empty($book_data)){ $available_copy=$book_data->book_available_copy+1; $book_is_available=($available_copy==0)?'no':'yes'; $this->lmsbm->update_book_data(array('book_is_available'=>$book_is_available,'book_available_copy'=>$available_copy),array('book_id'=>$value),FALSE,$db_group); } } foreach ($book_ids as $key => $value) { $_book_data=$this->lmsbm->get_book(array('book_id'=>$value),FALSE,$db_group); if(!empty($_book_data)){ $_available_copy=$_book_data->book_available_copy-1; $_book_is_available=($_available_copy==0)?'no':'yes'; $this->lmsbm->update_book_data(array('book_is_available'=>$_book_is_available,'book_available_copy'=>$_available_copy),array('book_id'=>$value),FALSE,$db_group); } } if($issue_return_status=='returned'){ $msg='Books has been returned'; }else if($issue_return_status=='renewed'){ $msg='Book has been renewed'; }else if($issue_return_status=='not_returned'){ $msg='Book has not been returned'; } //echo $msg;die; $return['success']=$msg; $return['redirect']=$this->data['base_url'].'/lms/books/issues'; }else{ $return['error']='There has been asn error in updating status'; } }else{ $return['error']='Book issue data not found'; } }else{ $return['error']='Data manipulation is not allowed'; } } json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } public function onDeleteBookIssues(){ if(session_userdata('isAdminLoggedin')==TRUE && session_userdata('admin_id')){ if($this->input->is_ajax_request() && $this->input->server('REQUEST_METHOD')=='POST'){ $issue_id=post_data('_book_issue_id'); if(!empty($issue_id)){ $issue_id=decode_data($issue_id); $issue_data=$this->lsmism->get_book_issue_data(array('issue_id'=>$issue_id)); if(!empty($issue_data)){ $book_ids=unserialize($issue_data->issue_book_id); $deleted=$this->lsmism->delete_book_issue_data(array('issue_id'=>$issue_id)); if($deleted){ foreach ($book_ids as $key => $value) { $book_data=$this->lmsbm->get_book(array('book_id'=>$value)); if(!empty($book_data)){ $available_copy=$book_data->book_available_copy+1; $book_is_available=($available_copy==0)?'no':'yes'; $this->lmsbm->update_book_data(array('book_is_available'=>$book_is_available,'book_available_copy'=>$available_copy),array('book_id'=>$value)); } } $this->lsmism->delete_book_issue_late_fees_data(array('book_issue_id'=>$issue_id)); $return['success']='Book issue has been deleted'; }else{ $return['error']='Data not deleted.Try after sometime'; } }else{ $return['error']='Book issue data not found'; } } json_headers($return); }else{ redirect($this->data['base_url']); } }else{ redirect($this->data['base_url']); } } }