|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/parasoffline.edukrypt.in/application/modules/admin/controllers/ |
Upload File : |
<?php
defined('BASEPATH') or exit('No direct script access allowed');
class Folder_permission extends Admin_Controller
{
public function __construct()
{
parent::__construct();
$this->load->model(['lecture_model','Main_model']);
}
public function folder_permission()
{
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// print_r($_POST);exit;
$user_id = $this->input->post('users');
$this->db->select('user_id');
$this->db->from('folder_permission');
$this->db->where_in('user_id', $user_id);
// $this->db->limit(1);
$query = $this->db->get();
if (true) {
$totalFile = count($this->input->post('subject'));
if ($totalFile <= 0) {
$this->session->set_flashdata('regfile_err', 'Please select lecture form the list...!');
redirect('admin/folder_permission/folder_permission');
};
$admin_id = $this->session->userdata('user_id');
$file_id = $this->input->post('subject');
$no_of_file = $this->input->post('noofplay');
$str_dt = $this->input->post('str_dt');
$end_dt = $this->input->post('end_dt');
$reg_dt = date('Y-m-d');
$last_updated = uniqid();
// last Position Find
$this->db->order_by("pos", "desc");
$query = $this->db->get('folder_permission', 1);
if (isset($query->result_array()[0])) {
$pos = $query->result_array()[0]['pos'] + 0;
} else {
$pos = 0;
}
// Total File Selected
foreach ($user_id as $user_id2) {
for ($i = 0; $i < $totalFile; $i++) {
$this->db->where("subject_id", $file_id[$i]);
$this->db->where("user_id", $user_id2);
$this->db->where("admin_id", $admin_id);
$query = $this->db->get('folder_permission', 1);
if ($query->num_rows() != 0) {
$id = $query->result_array()[0]['id'];
$data = array(
'subject_id' => $file_id[$i],
'str_dt' => $str_dt,
'end_dt' => $end_dt,
'noofplay' => $no_of_file,
'last_update' => uniqid('', true),
'action' => '1',
);
$this->db->where('id', $id);
$this->db->update('folder_permission', $data);
} else {
$pos = $pos + 1;
$data = array(
'subject_id' => $file_id[$i],
'admin_id' => $admin_id,
'user_id' => $user_id2,
'str_dt' => $str_dt,
'end_dt' => $end_dt,
'noofplay' => $no_of_file,
'reg_dt' => $reg_dt,
'last_update' => uniqid('', true),
'pos' => $pos,
'action' => '0',
);
$result = $this->db->insert('folder_permission', $data);
}
}
}
if ($this->db->affected_rows() > 0) {
$this->session->set_flashdata('regfile_success', 'Well done! You successfully Registred Files.');
redirect('admin/folder_permission/folder_permission');
}
} else {
$this->session->set_flashdata('regfile_err', 'oops !! You Can Not Give Permission Twice To Single User, Student Software Only Accept Single Permission.');
redirect('admin/folder_permission/folder_permission');
}
} else {
// StyleSheets
$this->mStylesheets['datatable'] = array();
// $this->mScripts['foot'] = array(
// 'assets_dt/datatables/jquery.dataTables.min.js',
// 'assets_dt/datatables/dataTables.bootstrap.js'
// );
$this->mViewData['message'] = $this->session->flashdata('regfile_success');
$this->mViewData['err_message'] = $this->session->flashdata('regfile_err');
$clients = $this->db->where('admin_id', $this->session->userdata('user_id'))->get('users');
$this->mViewData['client'] = $clients->result();
$courses = $this->db->where('admin_id', $this->session->userdata('user_id'))->get('courses');
$this->mViewData['course'] = $courses->result();
$this->mTitle = 'Folder Permission';
$this->render('folder_permission/folder_permission');
}
}
public function give_folder_permission()
{
$folder_permission = $this->Main_model->get('folder_permission','*');
if(!empty($folder_permission))
{
foreach($folder_permission as $folder_p)
{
$this->db->select('f.*,c.id as chapter_id,c.chapter,l.id as lecture_id,l.file_name,l.e_type');
// $this->db->select('l.id,f.user_id');
$this->db->from('folder_permission as f');
$this->db->join('chapters as c', 'f.subject_id = c.subject_id');
$this->db->join('lectures as l', 'l.chapter_id = c.id');
$this->db->where('c.subject_id', $folder_p->subject_id);
$query = $this->db->get();
if($query->num_rows()>0)
{
$results = $query->result();
foreach($results as $res)
{
$regfiles = $this->Main_model->get_where_as('regfiles',['lecture_id'=>$res->lecture_id,'admin_id'=>$res->admin_id,'user_id'=>$res->user_id],'id');
if(empty($regfiles))
{
$this->db->order_by("pos", "desc");
$query = $this->db->get('regfiles', 1);
if (isset($query->result_array()[0])) {
$pos = $query->result_array()[0]['pos'] + 0;
} else {
$pos = 0;
}
$data = array(
'lecture_id'=>$res->lecture_id,
'admin_id'=>$res->admin_id,
'user_id'=>$res->user_id,
'str_dt'=>$res->str_dt,
'end_dt'=>$res->end_dt,
'noofplay'=>$res->noofplay,
'reg_dt'=>$res->reg_dt ,
'reg_dt'=>$res->reg_dt ,
'last_update'=>$res->last_update ,
'pos'=>$pos+1,
'action'=>0 ,
);
$this->db->insert('regfiles',$data);
// $this->db->insert_batch('regfiles', $data);
}
}
}
}
}
}
}