Files
2022-06-30 05:46:02 -04:00

150 lines
3.9 KiB
PHP
Executable File

<?php defined('BASEPATH') OR exit('No direct script access allowed');
/**
* Admin Controller
*
* @copyright 2019 Manaknightdigital Inc.
* @link https://manaknightdigital.com
* @license Proprietary Software licensing
* @author Ryan Wong
*
*/
class Admin_controller extends Manaknight_Controller
{
public $_page_name ='dashboard';
public $_valid_roles = [2];
public function __construct()
{
parent::__construct();
$this->_data['page_name'] = $this->_page_name;
$this->_data['setting'] = $this->_setting;
$this->_data['layout_clean_mode'] = FALSE;
$this->_run_middlewares();
$layout_mode = $this->input->get('layout_clean_mode', TRUE);
if (isset($layout_mode) && $layout_mode === '1')
{
$this->_data['layout_clean_mode'] = TRUE;
}
}
protected function _middleware()
{
return [
'auth', 'acl'
];
}
public function render($template, $data)
{
return (!$this->_test_mode) ? $this->_render($template, $data) : $this->_render_test($template, $data);
}
protected function _render_test($template, $data)
{
return [
'header' => $this->load->view('Layout/AdminHeader', $data, TRUE),
'body' => $this->load->view($template, $data, TRUE),
'footer' => $this->load->view('Layout/AdminFooter', $data, TRUE),
'data' => $data,
];
}
/**
* Function to return the images for media gallery
*/
public function get_all_images()
{
$this->load->model('image_model');
$images = $this->image_model->get_all();
return $images;
}
protected function _render($template, $data)
{
$data['images'] = $this->get_all_images();
$data['page_section'] = $template;
$this->load->view('Layout/AdminHeader', $data);
$this->load->view($template, $data);
$this->load->view('Layout/AdminFooter',$data);
}
/**
* User token invalid
*
* @return string
*/
public function unauthorize_error_message()
{
return $this->output->set_content_type('application/json')
->set_status_header(401)
->set_output(json_encode([
'code' => 401,
'success' => FALSE,
'message' => 'invalid credentials'
]));
}
/**
* User Role invalid
*
* @return string
*/
public function unauthorize_resource_error_message()
{
return $this->output->set_content_type('application/json')
->set_status_header(406)
->set_output(json_encode([
'code' => 406,
'success' => FALSE,
'message' => 'cannot access resource'
]));
}
/**
* Success API Call
*
* @return string
*/
public function success2($success)
{
$success['code'] = 200;
$success['success'] = TRUE;
return $this->output->set_content_type('application/json')
->set_status_header(200)
->set_output(json_encode($success));
}
/**
* Invalid form input
*
* @return string
*/
protected function _render_validation_error ()
{
$data = [];
$data['code'] = 403;
$data['success'] = FALSE;
$data['error'] = $this->form_validation->error_array();
return $this->output->set_content_type('application/json')
->set_status_header(403)
->set_output(json_encode($data));
}
/**
* Render Custom Error
*
* @return string
*/
protected function _render_custom_error ($errors)
{
$data = [];
$data['code'] = 403;
$data['success'] = FALSE;
$data['error'] = $errors;
return $this->output->set_content_type('application/json')
->set_status_header(403)
->set_output(json_encode($data));
}
}