|
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 Lecture extends Admin_Controller
{
public function __construct()
{
parent::__construct();
$this->load->library('form_builder');
$this->load->model(['lecture_model']);
if (empty($this->session->userdata('user_id'))) {
redirect('admin/panel/logout');
}
}
public function read_duration_csv()
{
$rows = array();
$file = $_FILES['file']['tmp_name'];
if (($handle = fopen($file, 'r')) !== FALSE) {
$i = 1;
while (($lineArray = fgetcsv($handle, 4000)) !== FALSE) {
if ($i != 1) {
array_push($rows, $lineArray);
}
$i++;
}
fclose($handle);
}
$updateArray = array();
foreach ($rows as $row) {
$updateArray[] = array(
'name' => trim($row[0]),
'duration' => trim($row[1])
);
}
$this->db->update_batch('lectures', $updateArray, 'name');
if ($this->db->affected_rows() > 0) {
$this->session->set_flashdata('message', '<div class="alert alert-success">CSV Updated In Lectures successfully!</div>');
} else {
$this->session->set_flashdata('message', '<div class="alert alert-danger">CSV updation failed!</div>');
}
redirect('admin/lecture/durationcsv');
}
public function durationcsv()
{
$this->mViewData['message'] = $this->session->flashdata('upload_success');
$this->mTitle .= ' | Upload Lectures List';
$this->render('lecture/durationcsv');
}
public function index()
{
$this->mViewData['p_type'] = "list";
$this->mViewData['message'] = $this->session->flashdata('upload_success');
$admin_id = $this->session->userdata('user_id');
$query_c = $this->db->where('admin_id', $admin_id)->get('courses');
$courses = [];
if ($query_c->num_rows() > 0) {
$courses = $query_c->result();
}
$this->mViewData['courses'] = $courses;
$this->mTitle .= ' | Upload Lectures List';
$this->render('lecture/list');
}
public function index2()
{
$crud = $this->generate_crud('lectures');
if ($this->session->userdata('user_id') == 1) {
//$crud->where('admin_id',$this->session->userdata('user_id'));
} else {
$crud->where('lectures.admin_id', $this->session->userdata('user_id'));
}
$crud->columns('file_name', 'name', 'admin_id', 'pos', 'chapter_id', 'uploaded_at', 'last_update');
$crud->display_as('admin_id', 'Admin');
$crud->display_as('chapter_id', 'Chapter');
$crud->display_as('name', 'Orignal Name');
$crud->set_relation('chapter_id', 'chapters', 'chapter');
$crud->set_relation('admin_id', 'admin_users', 'username');
$crud->field_type('name', 'readonly');
$crud->field_type('chapter_id', 'readonly');
$crud->field_type('admin_id', 'readonly');
$crud->field_type('uploaded_at', 'readonly');
$crud->unset_add();
$crud->callback_edit_field('last_update', function () {
return '<input name="last_update" type="text" value="' . uniqid() . '" readonly />';
});
$crud->callback_before_insert(array($this, 'chapter_callback'));
$this->mTitle = 'Lectures';
$this->render_crud();
}
function chapter_callback($post_array)
{
$post_array['last_update'] = $post_array['last_update'];
return $post_array;
}
public function get_chapter()
{
if ($this->input->post('subject_id') != '') {
$sid = $this->input->post('subject_id');
$this->db->where('subject_id', $sid);
$this->db->where('admin_id', $this->session->userdata('user_id'));
$query = $this->db->get('chapters');
foreach ($query->result() as $result) {
echo '<option value="' . $result->id . '">' . $result->chapter . '</option>';
}
}
}
public function get_subject()
{
if ($this->input->post('course_id') != '') {
$cid = $this->input->post('course_id');
$this->db->where('course_id', $cid);
$this->db->where('admin_id', $this->session->userdata('user_id'));
$query = $this->db->get('subjects');
foreach ($query->result() as $result) {
echo '<option value="' . $result->id . '">' . $result->subject . '</option>';
}
}
}
function delete_selection()
{
$id_array = array();
$selection = $this->input->post("selection", TRUE);
$id_array = explode("|", $selection);
foreach ($id_array as $item) :
if ($item != '') :
//DELETE ROW
$this->db->where('id', $item);
$this->db->delete('lectures');
endif;
endforeach;
}
public function upload1()
{
$arr = $this->input->post('upload_file');
$chapter = $this->input->post('chapter');
$e_type = $this->input->post('e_type');
$storage_type = $this->input->post('storage_type');
$this->db->order_by("id", "desc");
$query = $this->db->get('lectures', 1);
if (isset($query->result_array()[0])) {
$pos = $query->result_array()[0]['pos'] + 0;
} else {
$pos = 0;
}
foreach ($arr as $r) {
$name = $this->get_file_name_storage($r, $storage_type);
// print_r($name);
// exit;
$pos = $pos + 1;
$data = array(
'file_name' => $this->input->post('file_name') . '_' . $pos,
'name' => $name,
'chapter_id' => $chapter,
'pos' => $pos,
'last_update' => uniqid(),
'admin_id' => $this->session->userdata('user_id'),
'e_type' => $e_type,
'drobbox_video_id' => $r,
'dropbox_file_name' => $name,
'storage' => $storage_type
);
$result = $this->db->insert('lectures', $data);
}
if ($this->db->affected_rows()) {
$this->session->set_flashdata('e_message', '<div class="alert alert-success">Files Added Successfully!</div>');
redirect('admin/lecture/upload');
// echo true;
}
}
public function get_dropbox_filename($id)
{
$this->db->select('name,id');
$this->db->where('id=BINARY', $id);
$query = $this->db->get('dropbox_album');
if ($query->num_rows() > 0) {
$result = $query->row();
$name = $result->name;
// print_r($name);exit;
return $name;
}
return false;
}
public function get_file_name_storage($id, $storage_type)
{
if ($storage_type == 'bb') {
$this->db->select('name,id');
$this->db->where('id=BINARY', $id);
$query = $this->db->get('dropbox_album');
if ($query->num_rows() > 0) {
$result = $query->row();
$name = $result->name;
return $name;
}
return false;
} else {
$this->db->select('s3bucket.filename as name, s3bucket.path as id');
$this->db->where('s3bucket.path', $id);
$query = $this->db->get('s3bucket');
if ($query->num_rows() > 0) {
$result = $query->row();
$name = $result->name;
return $name;
}
return false;
}
return false;
}
public function get_storage_files()
{
$storage = $_POST['storage'];
if (!empty($storage)) {
if ($storage == 'do') {
$query = $this->db->select('s3bucket.filename as name,s3bucket.path as id')->where('type', 'video')->where('size>0')->get('s3bucket');
if ($query->num_rows() > 0) {
echo json_encode($query->result());
exit;
}
echo 0;
exit;
} else {
$query = $this->db->select('dropbox_album.name as name,dropbox_album.id as id')->where('type', 'video')->get('dropbox_album');
if ($query->num_rows() > 0) {
echo json_encode($query->result());
exit;
}
echo 0;
exit;
}
}
echo 0;
exit;
}
public function get_storage_pdf_files()
{
$storage = $_POST['storage'];
if (!empty($storage)) {
if ($storage == 'do') {
$query = $this->db->select('s3bucket.filename as name,s3bucket.path as id')->where('type', 'pdf')->where('size>0')->get('s3bucket');
if ($query->num_rows() > 0) {
echo json_encode($query->result());
exit;
}
echo 0;
exit;
} else {
$query = $this->db->select('dropbox_album.name as name,dropbox_album.id as id')->where('type', 'pdf')->get('dropbox_album');
if ($query->num_rows() > 0) {
echo json_encode($query->result());
exit;
}
echo 0;
exit;
}
}
echo 0;
exit;
}
// Dropbox
public function upload()
{
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$total_file = count($_FILES['upload_file']['name']);
$chapter = $this->input->post('chapter');
$this->db->order_by("id", "desc");
$query = $this->db->get('lectures', 1);
if (isset($query->result_array()[0])) {
$pos = $query->result_array()[0]['pos'] + 0;
} else {
$pos = 0;
}
for ($i = 0; $i < $total_file; $i++) {
$name = preg_replace('/\s+/', '', $_FILES['upload_file']['name'][$i]);
$pos = $pos + 1;
$data = array(
'file_name' => $this->input->post('file_name') . '_' . $pos,
'name' => $name,
'chapter_id' => $chapter,
'pos' => $pos,
'last_update' => uniqid(),
'e_type' => 'video',
'admin_id' => $this->session->userdata('user_id')
);
$result = $this->db->insert('lectures', $data);
}
if ($result) {
$this->session->set_flashdata('upload_success', 'Well done! You successfully Uploaded Files.');
redirect('admin/lecture/upload');
}
} else {
$this->mViewData['message'] = $this->session->flashdata('upload_success');
$courses = $this->db->where('admin_id', $this->session->userdata('user_id'))->get('courses');
$this->mViewData['course'] = $courses->result();
$drobbox_album = $this->db->where('type', 'video')->get('dropbox_album');
$this->mViewData['dropbox_album'] = $drobbox_album->result();
$this->mTitle .= 'Upload Lectures';
$this->render('lecture/upload');
}
}
// Dropbox
public function pdf_upload_box()
{
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$total_file = count($_FILES['upload_file']['name']);
$chapter = $this->input->post('chapter');
$this->db->order_by("id", "desc");
$query = $this->db->get('lectures', 1);
if (isset($query->result_array()[0])) {
$pos = $query->result_array()[0]['pos'] + 0;
} else {
$pos = 0;
}
for ($i = 0; $i < $total_file; $i++) {
$name = preg_replace('/\s+/', '', $_FILES['upload_file']['name'][$i]);
$pos = $pos + 1;
$data = array(
'file_name' => $this->input->post('file_name') . '_' . $pos,
'name' => $name,
'chapter_id' => $chapter,
'pos' => $pos,
'last_update' => uniqid(),
'e_type' => 'pdf',
'admin_id' => $this->session->userdata('user_id')
);
$result = $this->db->insert('lectures', $data);
}
if ($result) {
$this->session->set_flashdata('upload_success', 'Well done! You successfully Uploaded Files.');
redirect('admin/lecture/pdf_upload_box');
}
} else {
$this->mViewData['message'] = $this->session->flashdata('upload_success');
$courses = $this->db->where('admin_id', $this->session->userdata('user_id'))->get('courses');
$this->mViewData['course'] = $courses->result();
$drobbox_album = $this->db->where('type', 'pdf')->get('dropbox_album');
$this->mViewData['dropbox_album'] = $drobbox_album->result();
$this->mTitle .= 'Upload PDF';
$this->render('lecture/pdf_upload_box');
}
}
public function lecture_posts()
{
$columns = array(
0 => 'id',
1 => 'pos',
2 => 'file_name',
3 => 'name',
4 => 'type',
5 => 'duration',
6 => 'course',
7 => 'subject',
8 => 'chapter',
9 => 'uploaded_at',
10 => 'action',
);
if ($this->session->userdata('user_id') == 1) {
$admin_id = null;
} else {
$admin_id = $this->session->userdata('user_id');
}
$course_id = $this->input->post('course_id');
$subject_id = $this->input->post('subject_id');
$chapter_id = $this->input->post('chapter_id');
$limit = $this->input->post('length');
$start = $this->input->post('start');
$order = $columns[$this->input->post('order')[0]['column']];
$dir = $this->input->post('order')[0]['dir'];
$totalData = $this->lecture_model->lecture_posts_count($course_id, $subject_id, $chapter_id, $admin_id);
$totalFiltered = $totalData;
if (empty($this->input->post('search')['value'])) {
$posts = $this->lecture_model->lecture_posts($limit, $start, $order, $dir, $course_id, $subject_id, $chapter_id, $admin_id);
} else {
$search = $this->input->post('search')['value'];
$posts = $this->lecture_model->lecture_posts_search($limit, $start, $search, $order, $dir, $course_id, $subject_id, $chapter_id, $admin_id);
$totalFiltered = $this->lecture_model->lecture_posts_search_count($search, $course_id, $subject_id, $chapter_id, $admin_id);
}
$data = array();
if (!empty($posts)) {
$i = 1;
foreach ($posts as $post) {
$nestedData['id'] = '<input type="checkbox" class="_check_in" value="' . $post->id . '">';
$i++;
if ($post->e_type == 'video') {
$nestedData['file_name'] = '<span style="font-size: 12px;">' . $post->file_name . '</span>';
} else {
$nestedData['file_name'] = ($post->file_name) ? '<span style="font-size: 12px;">' . $post->file_name . '</span>' : '<span style="font-size: 12px;">' . $post->name . '</span>';
}
$nestedData['name'] = '<span style="font-size: 12px;">' . $post->name . '</span>';
// $nestedData['admin'] = '<span style="font-size: 12px;">' . $post->admin . '</span>';
$nestedData['pos'] = '<span style="font-size: 12px;">' . $post->pos . '</span>';
$nestedData['course'] = '<span style="font-size: 12px;">' . $post->course . '</span>';
$nestedData['subject'] = '<span style="font-size: 12px;">' . $post->subject . '</span>';
$nestedData['chapter'] = '<span style="font-size: 12px;">' . $post->chapter . '</span>';
$nestedData['type'] = '<span style="font-size: 12px;">' . $post->e_type . '</span>';
$nestedData['duration'] = '<span style="font-size: 12px;">' . $post->duration . '</span>';
$nestedData['uploaded'] = '<span style="font-size: 12px;">' . date('m F Y', strtotime($post->uploaded_at)) . '</span>';
// $nestedData['last_update'] = '<span style="font-size: 12px;">' . $post->last_update . '</span>';
$nestedData['Actions'] = "<a class='btn btn-primary btn-sm' href='" . base_url('admin/lecture/edit_lecture/' . $post->id) . "' title='Delete'>Edit</a> ";
$nestedData['Actions'] .= "<a class='btn btn-danger btn-sm' href='" . base_url('admin/lecture/delete_lecture/' . $post->id) . "' title='Delete'>Trash</a>";
$data[] = $nestedData;
}
}
$json_data = array(
"draw" => intval($this->input->post('draw')),
"recordsTotal" => intval($totalData),
"recordsFiltered" => intval($totalFiltered),
"data" => $data
);
echo json_encode($json_data);
}
public function delete_lecture($lec_id = null)
{
if (empty($lec_id)) {
redirect('admin/lecture/index', 'refresh');
}
if ($this->session->userdata('user_id') == 1) {
$admin_id = null;
} else {
$admin_id = $this->session->userdata('user_id');
}
$this->db->where('lectures.id', $lec_id);
if (!empty($admin_id)) {
$this->db->where('lectures.admin_id', $admin_id);
}
$query = $this->db->get('lectures', 1);
if ($query->num_rows() > 0) {
$this->db->where('lectures.id', $lec_id);
if (!empty($admin_id)) {
$this->db->where('lectures.admin_id', $admin_id);
}
$this->db->delete('lectures');
if ($this->db->affected_rows() > 0) {
$this->session->set_flashdata('message', '<div class="alert alert-success" role="alert">Record deleted!</div>');
redirect('admin/lecture/index', 'refresh');
}
}
$this->session->set_flashdata('message', '<div class="alert alert-danger" role="alert">Record did not found!</div>');
redirect('admin/lecture/index', 'refresh');
}
public function delete_lecture_all()
{
$arr = [];
if (empty($this->session->userdata('user_id'))) {
$arr['status'] = 0;
$arr['message'] = '<div class="alert alert-danger" role="alert">You session has expired!,/div>';
$arr['redirect_to'] = base_url('admin/login');
goto D_L_A;
}
if ($this->session->userdata('user_id') == 1) {
$admin_id = null;
} else {
$admin_id = $this->session->userdata('user_id');
}
$lectures = $this->input->post('lectures');
if ($lectures) {
$affected_rows = 0;
foreach ($lectures as $lecture) {
$this->db->where('lectures.id', $lecture);
if (!empty($admin_id)) {
$this->db->where('lectures.admin_id', $admin_id);
}
$this->db->delete('lectures');
$affected_rows += $this->db->affected_rows();
}
if ($affected_rows > 0) {
$arr['status'] = 1;
$arr['message'] = '';
$this->session->set_flashdata('message', '<div class="alert alert-success" role="alert">' . $affected_rows . ' record successfully deleted!</div>');
goto D_L_A;
}
$arr['status'] = 0;
$arr['message'] = '<div class="alert alert-danger" role="alert">Something went wrong!/div>';
}
D_L_A:
echo json_encode($arr);
}
public function edit_lecture($lec_id)
{
if (empty($lec_id)) {
redirect('admin/lecture/index', 'refresh');
}
$admin_id = $this->session->userdata('user_id');
if (isset($_POST) && !empty($_POST)) {
$file_name = $this->input->post('file_name');
$duration = $this->input->post('duration');
$u_data['file_name'] = $file_name;
$u_data['duration'] = $duration;
$u_data['last_update'] = uniqid();
$this->db->where('lectures.id', $lec_id);
if (!empty($admin_id)) {
$this->db->where('lectures.admin_id', $admin_id);
}
$this->db->set($u_data);
$this->db->update('lectures');
if ($this->db->affected_rows() > 0) {
$this->session->set_flashdata('message', '<div class="alert alert-success" role="alert">Record updated successfully!</div>');
redirect('admin/lecture/edit_lecture/' . $lec_id, 'refresh');
} else {
$this->session->set_flashdata('message', '<div class="alert alert-info" role="alert">You have made no changes!</div>');
redirect('admin/lecture/edit_lecture/' . $lec_id, 'refresh');
}
} else {
$this->db->select('lectures.*, chapters.chapter, subjects.subject, courses.course');
$this->db->where('lectures.id', $lec_id);
$this->db->join('chapters', 'chapters.id = lectures.chapter_id');
$this->db->join('subjects', 'subjects.id = chapters.subject_id');
$this->db->join('courses', 'courses.id = subjects.course_id');
if (!empty($admin_id)) {
$this->db->where('lectures.admin_id', $admin_id);
}
$query = $this->db->get('lectures', 1);
if ($query->num_rows() > 0) {
$this->mViewData['p_type'] = "edit";
$this->mViewData['lecture'] = $query->row();
$this->mTitle .= 'Edit Lecture';
$this->render('lecture/edit');
} else {
$this->session->set_flashdata('message', '<div class="alert alert-danger" role="alert">Record did not found!</div>');
redirect('admin/lecture/edit_lecture/' . $lec_id, 'refresh');
}
}
}
public function get_subject_by_id()
{
$arr = [];
if (empty($this->session->userdata('user_id'))) {
$arr['status'] = 0;
$arr['message'] = '<span class="text-danger">You session has expired!,</span>';
$arr['redirect_to'] = base_url('admin/login');
goto GSBI;
}
if ($this->session->userdata('user_id') == 1) {
$admin_id = null;
} else {
$admin_id = $this->session->userdata('user_id');
}
$course_id = $this->input->post('course_id');
if ($course_id) {
$this->db->select('subjects.id, subjects.subject');
$this->db->where('subjects.course_id', $course_id);
if (!empty($admin_id)) {
$this->db->where('subjects.admin_id', $admin_id);
}
$query_c = $this->db->get('subjects');
if ($query_c->num_rows() > 0) {
$results = $query_c->result();
$arr['status'] = 1;
$arr['return_data'] = $results;
$arr['message'] = '<span class="text-success">Subjects feched successfully!</span>';
goto GSBI;
}
$arr['status'] = 1;
$arr['message'] = '<span class="text-danger">Records did not found!</span>';
$arr['return_data'] = [];
}
GSBI:
echo json_encode($arr);
}
public function get_chapter_by_id()
{
$arr = [];
if (empty($this->session->userdata('user_id'))) {
$arr['status'] = 0;
$arr['message'] = '<span class="text-danger">You session has expired!,</span>';
$arr['redirect_to'] = base_url('admin/login');
goto GCBI;
}
if ($this->session->userdata('user_id') == 1) {
$admin_id = null;
} else {
$admin_id = $this->session->userdata('user_id');
}
$subject_id = $this->input->post('subject_id');
if ($subject_id) {
$this->db->select('chapters.id, chapters.chapter');
$this->db->where('chapters.subject_id', $subject_id);
if (!empty($admin_id)) {
$this->db->where('chapters.admin_id', $admin_id);
}
$query_c = $this->db->get('chapters');
if ($query_c->num_rows() > 0) {
$results = $query_c->result();
$arr['status'] = 1;
$arr['return_data'] = $results;
$arr['message'] = '<span class="text-success">Chapters feched successfully!</span>';
goto GCBI;
}
$arr['status'] = 0;
$arr['message'] = '<span class="text-danger">Records did not found!</span>';
$arr['return_data'] = [];
}
GCBI:
echo json_encode($arr);
}
public function csv_upload()
{
if ($_SERVER['REQUEST_METHOD'] == 'POST' && $_FILES['csv']['error'] == 0) {
$chapter = $this->input->post('chapter');
$csv = array();
$name = $_FILES['csv']['name'];
$type = $_FILES['csv']['type'];
$tmpName = $_FILES['csv']['tmp_name'];
// check the file is a csv
if (($handle = fopen($tmpName, 'r')) !== FALSE) {
// necessary if a large csv file
set_time_limit(0);
$row = 0;
while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
// get the values from the csv
if (!empty($data[0]) && !empty($data[1])) {
// number of fields in the csv
$col_count = count($data);
$csv[$row]['col1'] = $data[0];
$csv[$row]['col2'] = $data[1];
}
// inc the row
$row++;
}
fclose($handle);
}
if (count($csv) >= 2) {
$datas = array();
$i = 1;
$this->db->order_by("id", "desc");
$query = $this->db->get('lectures', 1);
if (isset($query->result_array()[0])) {
$pos = $query->result_array()[0]['pos'] + 0;
} else {
$pos = 0;
}
foreach ($csv as $cv) {
$pos++;
if ($i > 1 && !empty($cv['col1']) && !empty($cv['col2'])) {
$data = array(
"file_name" => $cv['col1'],
"name" => $cv['col2'],
'chapter_id' => $chapter,
'pos' => $pos,
'last_update' => uniqid(),
'admin_id' => $this->session->userdata('user_id'),
'e_type' => 'doc'
);
array_push($datas, $data);
}
$i++;
}
$this->db->insert_batch('lectures', $datas);
if ($this->db->affected_rows()) {
$this->session->set_flashdata('e_message', '<div class="alert alert-success">Total ' . (count($csv) - 1) . ' PDF Records successfully Inserted</div>');
redirect('admin/lecture/csv_upload');
}
} else {
$this->session->set_flashdata('e_message', '<div class="alert alert-danger">Blank CSV found!</div>');
redirect('admin/lecture/csv_upload');
}
} else {
$this->mViewData['message'] = $this->session->flashdata('upload_success');
$courses = $this->db->where('admin_id', $this->session->userdata('user_id'))->get('courses');
$this->mViewData['course'] = $courses->result();
$quiz = $this->db->select('id, title')->where('admin_id', $this->session->userdata('user_id'))->get('mcq');
$this->mViewData['quiz'] = $quiz->result();
$this->mTitle .= 'Upload CSV';
$this->render('lecture/csv_upload');
}
}
public function pdf_upload()
{
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$chapter = $this->input->post('chapter');
$doc_id = $_FILES['doc_id'];
$total_file = count($_FILES['doc_id']['name']);
// echo '<pre>';
// print_r($mcq_id);exit;
if (!$chapter || !$_FILES['doc_id'] || $total_file == 0) {
$this->session->set_flashdata('e_message', '<div class="alert alert-danger">Chapter & MCQ both are required!</div>');
redirect('admin/lecture/pdf_upload');
}
$this->db->order_by("id", "desc");
$query = $this->db->get('lectures', 1);
if (isset($query->result_array()[0])) {
$pos = $query->result_array()[0]['pos'] + 0;
} else {
$pos = 0;
}
$aff_r = 0;
$upload_error = NULL;
for ($i = 0; $i < $total_file; $i++) {
$name = NULL;
$_FILES['userfile']['name'] = $doc_id['name'][$i];
$_FILES['userfile']['type'] = $doc_id['type'][$i];
$_FILES['userfile']['tmp_name'] = $doc_id['tmp_name'][$i];
$_FILES['userfile']['error'] = $doc_id['error'][$i];
$_FILES['userfile']['size'] = $doc_id['size'][$i];
$config['upload_path'] = './assets/uploads/document/';
$config['allowed_types'] = 'pdf';
$this->load->library('upload', $config);
if (!$this->upload->do_upload('userfile')) {
$upload_error = $this->upload->display_errors();
goto R_Error;
} else {
$upload_success = $this->upload->data();
$file_name = $upload_success['raw_name'];
$name = $upload_success['file_name'];
}
$pos = $pos + 1;
$data = array(
'file_name' => $file_name,
'name' => $name,
'chapter_id' => $chapter,
'pos' => $pos,
'last_update' => uniqid(),
'admin_id' => $this->session->userdata('user_id'),
'e_type' => 'doc'
);
$result = $this->db->insert('lectures', $data);
$aff_r += $this->db->affected_rows();
}
if ($result) {
$this->session->set_flashdata('e_message', '<div class="alert alert-success">Total ' . $aff_r . ' PDF file successfully Uploaded</div>');
redirect('admin/lecture/pdf_upload');
}
R_Error:
if ($upload_error) {
$this->session->set_flashdata('e_message', '<div class="alert alert-danger">Total ' . $aff_r . ' <br/>Error: ' . $upload_error . '</div>');
redirect('admin/lecture/pdf_upload');
}
} else {
$this->mViewData['message'] = $this->session->flashdata('upload_success');
$courses = $this->db->where('admin_id', $this->session->userdata('user_id'))->get('courses');
$this->mViewData['course'] = $courses->result();
$quiz = $this->db->select('id, title')->where('admin_id', $this->session->userdata('user_id'))->get('mcq');
$this->mViewData['quiz'] = $quiz->result();
$this->mTitle .= 'Upload Pdf';
$this->render('lecture/pdf_upload');
}
}
public function quiz_upload()
{
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// $total_file = count($_FILES['upload_file']['name']);
$chapter = $this->input->post('chapter');
$mcq_id = $this->input->post('mcq_id');
if (!$chapter && !$mcq_id) {
$this->session->set_flashdata('upload_success', 'Chapter & MCQ both are required!');
redirect('admin/lecture/quiz_upload');
}
$this->db->order_by("id", "desc");
$query = $this->db->get('lectures', 1);
if (isset($query->result_array()[0])) {
$pos = $query->result_array()[0]['pos'] + 0;
} else {
$pos = 0;
}
// echo '<pre>';
// print_r($mcq_id);exit;
for ($i = 0; $i < count($mcq_id); $i++) {
// $name = preg_replace('/\s+/', '', $_FILES['upload_file']['name'][$i]);
$__exp = explode('|', $mcq_id[$i]);
$quiz_id = $__exp[0];
$name = $__exp[1];
$pos = $pos + 1;
$data = array(
'quiz_id' => $quiz_id,
'file_name' => $name,
'name' => $name,
'chapter_id' => $chapter,
'pos' => $pos,
'last_update' => uniqid(),
'admin_id' => $this->session->userdata('user_id'),
'e_type' => 'mcq'
);
// print_r($data);
// exit;
$result = $this->db->insert('lectures', $data);
}
if ($result) {
$this->session->set_flashdata('upload_success', 'Well done! You successfully Uploaded Files.');
redirect('admin/lecture/quiz_upload');
}
} else {
$this->mViewData['message'] = $this->session->flashdata('upload_success');
$courses = $this->db->where('admin_id', $this->session->userdata('user_id'))->get('courses');
$this->mViewData['course'] = $courses->result();
$quiz = $this->db->select('id, title')->where('admin_id', $this->session->userdata('user_id'))->get('mcq');
$this->mViewData['quiz'] = $quiz->result();
$this->mTitle .= 'Upload Quiz';
$this->render('lecture/quiz_upload');
}
}
}