mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Menus laterales
This commit is contained in:
@ -24,68 +24,72 @@ namespace Config;
|
||||
|
||||
use CodeIgniter\Config\BaseConfig;
|
||||
|
||||
class Basics extends BaseConfig {
|
||||
class Basics extends BaseConfig
|
||||
{
|
||||
|
||||
public $appName = 'Safekat';
|
||||
public $appName = 'Safekat';
|
||||
|
||||
public $i18n = 'es-ES';
|
||||
|
||||
public $languages = [
|
||||
'en' => 'English',
|
||||
'es' => 'Spanish',
|
||||
];
|
||||
public $i18n = 'es-ES';
|
||||
|
||||
|
||||
public $languageFlags = [
|
||||
'en' => 'us',
|
||||
'es' => 'es',
|
||||
];
|
||||
public $vista_impresion = 'impresion';
|
||||
public $vista_maquetacion = 'maquetacion';
|
||||
public $vista_digitalizacion = 'digitalizacion';
|
||||
|
||||
public $languages = [
|
||||
'en' => 'English',
|
||||
'es' => 'Spanish',
|
||||
];
|
||||
|
||||
|
||||
public $authImplemented = false;
|
||||
public $languageFlags = [
|
||||
'en' => 'us',
|
||||
'es' => 'es',
|
||||
];
|
||||
|
||||
|
||||
public $authImplemented = false;
|
||||
|
||||
|
||||
public $theme = [
|
||||
'name' => 'vuexy',
|
||||
'body-sm' => false,
|
||||
'navbar' => [
|
||||
'bg' => 'gray',
|
||||
'type' => 'dark',
|
||||
'border' => true,
|
||||
'user' => [
|
||||
'visible' => true,
|
||||
'shadow' => 0,
|
||||
],
|
||||
],
|
||||
'sidebar' => [
|
||||
'type' => 'dark',
|
||||
'shadow' => 4,
|
||||
'border' => false,
|
||||
'compact' => true,
|
||||
'links' => [
|
||||
'bg' => 'black', // only works with AdminLTE theme
|
||||
'shadow' => 1,
|
||||
],
|
||||
'brand' => [
|
||||
'bg' => 'gray-dark',
|
||||
'logo' => [
|
||||
'icon' => 'favicon.ico', // path to image | this example icon on public root folder.
|
||||
'text' => 'sk_test',
|
||||
'shadow' => 2,
|
||||
],
|
||||
],
|
||||
'user' => [
|
||||
'visible' => true,
|
||||
'shadow' => 2,
|
||||
],
|
||||
],
|
||||
'footer' => [
|
||||
'fixed' => false,
|
||||
'organization' => 'Your Awesome Company',
|
||||
'orglink' => 'https://www.ozar.net/',
|
||||
],
|
||||
];
|
||||
public $theme = [
|
||||
'name' => 'vuexy',
|
||||
'body-sm' => false,
|
||||
'navbar' => [
|
||||
'bg' => 'gray',
|
||||
'type' => 'dark',
|
||||
'border' => true,
|
||||
'user' => [
|
||||
'visible' => true,
|
||||
'shadow' => 0,
|
||||
],
|
||||
],
|
||||
'sidebar' => [
|
||||
'type' => 'dark',
|
||||
'shadow' => 4,
|
||||
'border' => false,
|
||||
'compact' => true,
|
||||
'links' => [
|
||||
'bg' => 'black', // only works with AdminLTE theme
|
||||
'shadow' => 1,
|
||||
],
|
||||
'brand' => [
|
||||
'bg' => 'gray-dark',
|
||||
'logo' => [
|
||||
'icon' => 'favicon.ico', // path to image | this example icon on public root folder.
|
||||
'text' => 'sk_test',
|
||||
'shadow' => 2,
|
||||
],
|
||||
],
|
||||
'user' => [
|
||||
'visible' => true,
|
||||
'shadow' => 2,
|
||||
],
|
||||
],
|
||||
'footer' => [
|
||||
'fixed' => false,
|
||||
'organization' => 'Your Awesome Company',
|
||||
'orglink' => 'https://www.ozar.net/',
|
||||
],
|
||||
];
|
||||
|
||||
}
|
||||
|
||||
@ -29,6 +29,7 @@ $routes->setAutoRoute(true);
|
||||
//------------------------------------------------------------------
|
||||
$routes->get('/', 'Home::index');
|
||||
$routes->get('lang/{locale}', 'Language::index');
|
||||
$routes->get('viewmode/(:alpha)', 'Viewmode::index/$1');
|
||||
|
||||
//API ROUTER ------------------------------------------------------
|
||||
//------------------------------------------------------------------
|
||||
@ -75,7 +76,7 @@ $routes->group('tarifaacabado', ['namespace' => 'App\Controllers\Tarifas'], func
|
||||
$routes->post('menuitems', 'Tarifaacabado::menuItems', ['as' => 'menuItemsOfTarifasacabado']);
|
||||
});
|
||||
|
||||
$routes->group('users', ['namespace' => 'App\Controllers\Usuarios'], function ($routes) {
|
||||
$routes->group('users', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) {
|
||||
$routes->get('', 'Users::index', ['as' => 'userList']);
|
||||
$routes->get('index', 'Users::index', ['as' => 'userIndex']);
|
||||
$routes->get('list', 'Users::index', ['as' => 'userList2']);
|
||||
@ -88,7 +89,7 @@ $routes->group('users', ['namespace' => 'App\Controllers\Usuarios'], function ($
|
||||
$routes->post('menuitems', 'Users::menuItems', ['as' => 'menuItemsOfUsers']);
|
||||
});
|
||||
|
||||
$routes->group('group', ['namespace' => 'App\Controllers\Usuarios'], function ($routes) {
|
||||
$routes->group('group', ['namespace' => 'App\Controllers\Configuracion'], function ($routes) {
|
||||
$routes->get('', 'Group::index', ['as' => 'userGroupList']);
|
||||
$routes->get('index', 'Group::index', ['as' => 'groupIndex']);
|
||||
$routes->post('edit/(:num)', 'Group::edit/$1', ['as' => 'updateGroup']);
|
||||
|
||||
@ -1,21 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Configuracion;
|
||||
use App\Controllers\BaseController;
|
||||
|
||||
|
||||
class Correo extends BaseController
|
||||
{
|
||||
function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
echo 'Correo';
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<?php namespace App\Controllers\Usuarios;
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
use App\Entities\Usuarios\UserGroupEntity;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<?php namespace App\Controllers\Usuarios;
|
||||
<?php namespace App\Controllers\Configuracion;
|
||||
|
||||
|
||||
use App\Entities\Usuarios\UserEntity;
|
||||
@ -12,7 +12,7 @@ class Language extends BaseController
|
||||
$locale = $this->request->getLocale();
|
||||
$session->remove('lang');
|
||||
$session->set('lang', $locale);
|
||||
$url = base_url();
|
||||
$url = previous_url();
|
||||
return redirect()->to($url);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Compras;
|
||||
namespace App\Controllers\Servicioscompras;
|
||||
use App\Controllers\BaseController;
|
||||
|
||||
|
||||
@ -16,7 +16,7 @@ class Compras extends BaseController
|
||||
echo 'Compras';
|
||||
}
|
||||
|
||||
public function configuracion()
|
||||
public function ajustes()
|
||||
{
|
||||
echo 'Compras';
|
||||
}
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Compras;
|
||||
namespace App\Controllers\Servicioscompras;
|
||||
use App\Controllers\BaseController;
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Compras;
|
||||
namespace App\Controllers\Servicioscompras;
|
||||
use App\Controllers\BaseController;
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\ServiciosDigitalizacion;
|
||||
namespace App\Controllers\Serviciosdigitalizacion;
|
||||
use App\Controllers\BaseController;
|
||||
|
||||
|
||||
@ -13,10 +13,7 @@ class Digitalizacion extends BaseController
|
||||
|
||||
public function index()
|
||||
{
|
||||
$uri = service('uri');
|
||||
$data['page_name'] = "Digitalizacion";
|
||||
$data['url'] = base_url() . $uri->getSegment(1) . '/' . $uri->getSegment(2);
|
||||
echo view(getenv('theme.path').'main/demo_view', $data);
|
||||
echo 'Digitalización';
|
||||
|
||||
}
|
||||
|
||||
|
||||
24
ci4/app/Controllers/Serviciosmaquetacion/Maquetacion.php
Normal file
24
ci4/app/Controllers/Serviciosmaquetacion/Maquetacion.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Serviciosmaquetacion;
|
||||
use App\Controllers\BaseController;
|
||||
use function App\Controllers\ServiciosDigitalizacion\base_url;
|
||||
use function App\Controllers\ServiciosDigitalizacion\service;
|
||||
use function App\Controllers\ServiciosDigitalizacion\view;
|
||||
|
||||
|
||||
class Maquetacion extends BaseController
|
||||
{
|
||||
function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
echo 'Maquetacion';
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
24
ci4/app/Controllers/Serviciosmensajeria/Mensajes.php
Normal file
24
ci4/app/Controllers/Serviciosmensajeria/Mensajes.php
Normal file
@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers\Serviciosmensajeria;
|
||||
use App\Controllers\BaseController;
|
||||
use function App\Controllers\ServiciosDigitalizacion\base_url;
|
||||
use function App\Controllers\ServiciosDigitalizacion\service;
|
||||
use function App\Controllers\ServiciosDigitalizacion\view;
|
||||
|
||||
|
||||
class Mensajes extends BaseController
|
||||
{
|
||||
function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
echo 'Mensajes';
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
313
ci4/app/Controllers/Usuarios/Groupold.php
Normal file
313
ci4/app/Controllers/Usuarios/Groupold.php
Normal file
@ -0,0 +1,313 @@
|
||||
<?php namespace App\Controllers\Usuarios;
|
||||
|
||||
use App\Entities\Usuarios\UserGroupEntity;
|
||||
|
||||
use App\Controllers\GoBaseResourceController;
|
||||
use App\Models\Usuarios\UserGroupModel;
|
||||
use App\Models\Usuarios\GroupUserModel;
|
||||
|
||||
class Groupold extends \App\Controllers\GoBaseController
|
||||
{
|
||||
use \CodeIgniter\API\ResponseTrait;
|
||||
|
||||
protected static $primaryModelName = 'App\Models\Usuarios\UserGroupModel';
|
||||
protected $modelName = UserGroupModel::class;
|
||||
|
||||
protected static $singularObjectNameCc = 'userGroup';
|
||||
protected static $singularObjectName = 'Group';
|
||||
protected static $pluralObjectName = 'Groups';
|
||||
protected static $controllerSlug = 'groups';
|
||||
|
||||
static $viewPath = '';
|
||||
|
||||
protected $indexRoute = 'userGroupList';
|
||||
|
||||
private $group_user_model;
|
||||
|
||||
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger) {
|
||||
$this->viewData['pageTitle'] = lang('Group.moduleTitle');
|
||||
self::$viewPath = getenv('theme.path').'form/group/';
|
||||
|
||||
parent::initController($request, $response, $logger);
|
||||
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$this->viewData['usingClientSideDataTable'] = true;
|
||||
$this->viewData['pageSubTitle'] = lang('Basic.global.ManageAllRecords', [lang('Groups.group')]);
|
||||
// IMN
|
||||
$this->group_user_model = new GroupUserModel();
|
||||
$this->viewData['model'] = $this->group_user_model;
|
||||
|
||||
parent::index();
|
||||
}
|
||||
|
||||
public function add()
|
||||
{
|
||||
|
||||
$requestMethod = $this->request->getMethod();
|
||||
|
||||
if ($requestMethod === 'post') :
|
||||
|
||||
$nullIfEmpty = true; // !(phpversion() >= '8.1');
|
||||
|
||||
$postData = $this->request->getPost();
|
||||
|
||||
|
||||
|
||||
$title = $postData['title'];
|
||||
$dashboard = $postData['dashboard'];
|
||||
unset($postData['title']);
|
||||
unset($postData['dashboard']);
|
||||
unset($postData['id_group']);
|
||||
unset($postData['save']);
|
||||
|
||||
$controller = null;
|
||||
$rules_access = null;
|
||||
|
||||
foreach ($postData as $key=>$value){
|
||||
$exp = explode('_',$key);
|
||||
$controller[] = $exp[0];
|
||||
}
|
||||
|
||||
if($controller != null){
|
||||
foreach (array_unique($controller) as $item){
|
||||
$rules_access[$item] = [];
|
||||
|
||||
foreach ($postData as $key=>$value){
|
||||
$exp = explode('_',$key);
|
||||
if($exp[0] == $item){
|
||||
array_push($rules_access[$item],str_replace($exp[0].'_','',$key)) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
$temp_data['rules'] = json_encode($rules_access??'{}');
|
||||
$temp_data['token'] = md5(uniqid(rand(), true));;
|
||||
$temp_data['title'] = $title;
|
||||
$temp_data['dashboard'] = $dashboard;
|
||||
|
||||
$sanitizedData = $this->sanitized($temp_data, $nullIfEmpty);
|
||||
|
||||
$noException = true;
|
||||
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
|
||||
|
||||
|
||||
if ($this->canValidate()) :
|
||||
try {
|
||||
$successfulResult = $this->model->skipValidation(true)->save($sanitizedData);
|
||||
} catch (\Exception $e) {
|
||||
$noException = false;
|
||||
$this->dealWithException($e);
|
||||
}
|
||||
else:
|
||||
$this->viewData['errorMessage'] = lang('Basic.global.formErr1', [mb_strtolower(lang('Group.userGroup'))]);
|
||||
$this->session->setFlashdata('formErrors', $this->model->errors());
|
||||
endif;
|
||||
|
||||
$thenRedirect = true; // Change this to false if you want your user to stay on the form after submission
|
||||
endif;
|
||||
if ($noException && $successfulResult) :
|
||||
|
||||
$id = $this->model->db->insertID();
|
||||
|
||||
$message = lang('Basic.global.saveSuccess', [mb_strtolower(lang('Group.userGroup'))]).'.';
|
||||
$message .= anchor( "admin/user-groups/{$id}/edit" , lang('Basic.global.continueEditing').'?');
|
||||
$message = ucfirst(str_replace("'", "\'", $message));
|
||||
|
||||
if ($thenRedirect) :
|
||||
if (!empty($this->indexRoute)) :
|
||||
return redirect()->to(route_to( $this->indexRoute ) )->with('sweet-success', $message);
|
||||
else:
|
||||
return $this->redirect2listView('sweet-success', $message);
|
||||
endif;
|
||||
else:
|
||||
$this->viewData['successMessage'] = $message;
|
||||
endif;
|
||||
|
||||
endif; // $noException && $successfulResult
|
||||
|
||||
endif; // ($requestMethod === 'post')
|
||||
|
||||
$this->viewData['group'] = isset($sanitizedData) ? new UserGroupModel($sanitizedData) : new UserGroupModel();
|
||||
|
||||
$this->viewData['formAction'] = route_to('createGroup');
|
||||
|
||||
$this->viewData['boxTitle'] = lang('Basic.global.addNew').' '.lang('Group.moduleTitle').' '.lang('Basic.global.addNewSuffix');
|
||||
|
||||
|
||||
return $this->displayForm(__METHOD__);
|
||||
}
|
||||
|
||||
|
||||
public function edit($requestedId = null) {
|
||||
|
||||
helper('general');
|
||||
$session = session();
|
||||
|
||||
if ($requestedId == null) :
|
||||
return $this->redirect2listView();
|
||||
endif;
|
||||
$id = filter_var($requestedId, FILTER_SANITIZE_URL);
|
||||
$groupEntity = $this->model->find($id);
|
||||
|
||||
if ($groupEntity == false) :
|
||||
$message = lang('Basic.global.notFoundWithIdErr', [mb_strtolower(lang('Group.userGroup')), $id]);
|
||||
return $this->redirect2listView('errorMessage', $message);
|
||||
endif;
|
||||
|
||||
$requestMethod = $this->request->getMethod();
|
||||
|
||||
if ($requestMethod === 'post') :
|
||||
|
||||
$nullIfEmpty = true; // !(phpversion() >= '8.1');
|
||||
|
||||
$postData = $this->request->getPost();
|
||||
|
||||
$id_group = $groupEntity->id_group;
|
||||
$token = $groupEntity->token;
|
||||
$title = $postData['title'];
|
||||
$dashboard = $postData['dashboard'];
|
||||
|
||||
unset($postData['id_group']);
|
||||
unset($postData['title']);
|
||||
unset($postData['dashboard']);
|
||||
|
||||
$controller = null;
|
||||
$rules_access = null;
|
||||
|
||||
foreach ($postData as $key=>$value){
|
||||
$exp = explode('_',$key);
|
||||
$controller[] = $exp[0];
|
||||
}
|
||||
|
||||
if($controller != null){
|
||||
foreach (array_unique($controller) as $item){
|
||||
$rules_access[$item] = [];
|
||||
|
||||
foreach ($postData as $key=>$value){
|
||||
$exp = explode('_',$key);
|
||||
if($exp[0] == $item){
|
||||
array_push($rules_access[$item],str_replace($exp[0].'_','',$key)) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$temp_data['id_group'] = $id_group;
|
||||
$temp_data['rules'] = json_encode($rules_access??'{}');
|
||||
$temp_data['token'] = $token;
|
||||
$temp_data['title'] = $title;
|
||||
$temp_data['dashboard'] = $dashboard;
|
||||
|
||||
$sanitizedData = $this->sanitized($temp_data, $nullIfEmpty);
|
||||
|
||||
|
||||
$noException = true;
|
||||
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
|
||||
|
||||
|
||||
|
||||
if ($this->canValidate()) :
|
||||
try {
|
||||
$successfulResult = $this->model->skipValidation(true)->update($id, $sanitizedData);
|
||||
} catch (\Exception $e) {
|
||||
$noException = false;
|
||||
$this->dealWithException($e);
|
||||
}
|
||||
else:
|
||||
$this->viewData['warningMessage'] = lang('Basic.global.formErr1', [mb_strtolower(lang('Group.userGroup'))]);
|
||||
$this->session->setFlashdata('formErrors', $this->model->errors());
|
||||
|
||||
endif;
|
||||
|
||||
$groupEntity->fill($sanitizedData);
|
||||
|
||||
$thenRedirect = true;
|
||||
endif;
|
||||
if ($noException && $successfulResult) :
|
||||
$id = $groupEntity->id ?? $id;
|
||||
$message = lang('Basic.global.updateSuccess', [mb_strtolower(lang('Group.userGroup'))]).'.';
|
||||
$message .= anchor(route_to('editGroup', $id), lang('Basic.global.continueEditing').'?');
|
||||
$message = ucfirst(str_replace("'", "\'", $message));
|
||||
|
||||
if($session->get('group') == $this->request->getPost('token')){
|
||||
$session->set('rules', $temp_data['rules']);
|
||||
}
|
||||
if ($thenRedirect) :
|
||||
if (!empty($this->indexRoute)) :
|
||||
return redirect()->to(route_to($this->indexRoute))->with('successMessage', $message);
|
||||
else:
|
||||
return $this->redirect2listView('successMessage', $message);
|
||||
endif;
|
||||
else:
|
||||
$this->viewData['successMessage'] = $message;
|
||||
endif;
|
||||
|
||||
endif; // $noException && $successfulResult
|
||||
endif; // ($requestMethod === 'post')
|
||||
|
||||
$this->viewData['group'] = $groupEntity;
|
||||
|
||||
$this->viewData['formAction'] = route_to('updateGroup', $id);
|
||||
|
||||
$this->viewData['boxTitle'] = lang('Basic.global.edit2').' '.lang('Group.userGroup').' '.lang('Basic.global.edit3');
|
||||
|
||||
|
||||
return $this->displayForm(__METHOD__, $id);
|
||||
} // end function edit(...)
|
||||
|
||||
|
||||
|
||||
public function allItemsSelect() {
|
||||
if ($this->request->isAJAX()) {
|
||||
$onlyActiveOnes = true;
|
||||
$reqVal = $this->request->getPost('val') ?? 'id';
|
||||
$menu = $this->model->getAllForMenu($reqVal.', nombre', 'nombre', $onlyActiveOnes, false);
|
||||
$nonItem = new \stdClass;
|
||||
$nonItem->id = '';
|
||||
$nonItem->nombre = '- '.lang('Basic.global.None').' -';
|
||||
array_unshift($menu , $nonItem);
|
||||
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
$data = [
|
||||
'menu' => $menu,
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
return $this->respond($data);
|
||||
} else {
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
}
|
||||
|
||||
public function menuItems() {
|
||||
if ($this->request->isAJAX()) {
|
||||
$searchStr = goSanitize($this->request->getPost('searchTerm'))[0];
|
||||
$reqId = goSanitize($this->request->getPost('id'))[0];
|
||||
$reqText = goSanitize($this->request->getPost('text'))[0];
|
||||
$onlyActiveOnes = false;
|
||||
$columns2select = [$reqId ?? 'id', $reqText ?? 'nombre'];
|
||||
$onlyActiveOnes = false;
|
||||
$menu = $this->model->getSelect2MenuItems($columns2select, $columns2select[1], $onlyActiveOnes, $searchStr);
|
||||
$nonItem = new \stdClass;
|
||||
$nonItem->id = '';
|
||||
$nonItem->text = '- '.lang('Basic.global.None').' -';
|
||||
array_unshift($menu , $nonItem);
|
||||
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
$data = [
|
||||
'menu' => $menu,
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
return $this->respond($data);
|
||||
} else {
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
}
|
||||
}
|
||||
310
ci4/app/Controllers/Usuarios/Usersold.php
Normal file
310
ci4/app/Controllers/Usuarios/Usersold.php
Normal file
@ -0,0 +1,310 @@
|
||||
<?php namespace App\Controllers\Usuarios;
|
||||
|
||||
|
||||
use App\Entities\Usuarios\UserEntity;
|
||||
|
||||
use App\Models\Usuarios\UserGroupModel;
|
||||
use App\Models\Usuarios\GroupUserModel;
|
||||
use App\Models\Usuarios\UserModel;
|
||||
|
||||
use App\Libraries\PasswordHash;
|
||||
|
||||
class Usersold extends \App\Controllers\GoBaseController {
|
||||
|
||||
private $group_model;
|
||||
private $group_user_model;
|
||||
private $user_model;
|
||||
|
||||
|
||||
use \CodeIgniter\API\ResponseTrait;
|
||||
|
||||
protected static $primaryModelName = 'App\Models\Usuarios\UserModel';
|
||||
|
||||
protected static $singularObjectNameCc = 'user';
|
||||
protected static $singularObjectName = 'User';
|
||||
protected static $pluralObjectName = 'Users';
|
||||
protected static $controllerSlug = 'users';
|
||||
|
||||
protected static $viewPath = 'themes/backend/vuexy/form/user/';
|
||||
|
||||
protected $indexRoute = 'userList';
|
||||
|
||||
|
||||
|
||||
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger) {
|
||||
|
||||
$this->group_model = new UserGroupModel();
|
||||
$this->group_user_model = new GroupUserModel();
|
||||
$this->user_model = new UserModel();
|
||||
|
||||
$this->viewData['pageTitle'] = lang('Users.moduleTitle');
|
||||
parent::initController($request, $response, $logger);
|
||||
|
||||
}
|
||||
|
||||
public function index() {
|
||||
|
||||
$this->viewData['usingClientSideDataTable'] = true;
|
||||
|
||||
$this->viewData['pageSubTitle'] = lang('Basic.global.ManageAllRecords', [lang('Users.user')]);
|
||||
|
||||
$this->viewData['user_model'] = $this->user_model;
|
||||
|
||||
parent::index();
|
||||
|
||||
}
|
||||
|
||||
public function add() {
|
||||
|
||||
$requestMethod = $this->request->getMethod();
|
||||
|
||||
if ($requestMethod === 'post') :
|
||||
|
||||
$nullIfEmpty = true; // !(phpversion() >= '8.1');
|
||||
|
||||
$postData = $this->request->getPost();
|
||||
|
||||
if(!empty($postData['password'])){
|
||||
$phpass = new PasswordHash(8, true);
|
||||
$postData['password'] = $phpass->HashPassword($this->request->getPost('password'));
|
||||
}
|
||||
|
||||
$currentGroups = $postData['group'];
|
||||
unset($postData['group']);
|
||||
|
||||
$sanitizedData = $this->sanitized($postData, $nullIfEmpty);
|
||||
|
||||
if ($this->request->getPost('last_ip') == null ) {
|
||||
$sanitizedData['last_ip'] = '::1';
|
||||
}
|
||||
|
||||
$sanitizedData['token'] = md5(uniqid(rand(), true));
|
||||
|
||||
$noException = true;
|
||||
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
|
||||
|
||||
|
||||
if ($this->canValidate()) :
|
||||
try {
|
||||
$successfulResult = $this->model->skipValidation(true)->save($sanitizedData);
|
||||
} catch (\Exception $e) {
|
||||
$noException = false;
|
||||
$this->dealWithException($e);
|
||||
}
|
||||
else:
|
||||
$this->viewData['errorMessage'] = lang('Basic.global.formErr1', [mb_strtolower(lang('Users.user'))]);
|
||||
$this->session->setFlashdata('formErrors', $this->model->errors());
|
||||
endif;
|
||||
|
||||
$thenRedirect = true; // Change this to false if you want your user to stay on the form after submission
|
||||
endif;
|
||||
if ($noException && $successfulResult) :
|
||||
|
||||
$id = $this->model->db->insertID();
|
||||
foreach($currentGroups as $group){
|
||||
$group_user_data = [
|
||||
'token_user' => $sanitizedData['token'],
|
||||
'token_group' => $group
|
||||
];
|
||||
$this->group_user_model->insert($group_user_data);
|
||||
}
|
||||
|
||||
$message = lang('Basic.global.saveSuccess', [mb_strtolower(lang('Users.user'))]) . 'Downloads';
|
||||
$message .= anchor(route_to('editUser', $id), lang('Basic.global.continueEditing').'?');
|
||||
$message = ucfirst(str_replace("'", "\'", $message));
|
||||
|
||||
if ($thenRedirect) :
|
||||
if (!empty($this->indexRoute)) :
|
||||
return redirect()->to(route_to($this->indexRoute))->with('successMessage', $message);
|
||||
else:
|
||||
return $this->redirect2listView('successMessage', $message);
|
||||
endif;
|
||||
else:
|
||||
$this->viewData['successMessage'] = $message;
|
||||
endif;
|
||||
|
||||
endif; // $noException && $successfulResult
|
||||
|
||||
endif; // ($requestMethod === 'post')
|
||||
|
||||
$this->viewData['user'] = isset($sanitizedData) ? new UserEntity($sanitizedData) : new UserEntity();
|
||||
$this->viewData['paisList'] = $this->getPaisListItems();
|
||||
|
||||
$this->viewData['formAction'] = route_to('createUser');
|
||||
$this->viewData['groups'] = $this->group_model->select('token,title')->findAll();
|
||||
|
||||
$this->viewData['boxTitle'] = lang('Basic.global.addNew') . ' Users.php' .lang('Users.user').' '.lang('Basic.global.addNewSuffix');
|
||||
|
||||
|
||||
return $this->displayForm(__METHOD__);
|
||||
} // end function add()
|
||||
|
||||
public function edit($requestedId = null) {
|
||||
|
||||
if ($requestedId == null) :
|
||||
return $this->redirect2listView();
|
||||
endif;
|
||||
$id = filter_var($requestedId, FILTER_SANITIZE_URL);
|
||||
$user = $this->model->find($id);
|
||||
|
||||
if ($user == false) :
|
||||
$message = lang('Basic.global.notFoundWithIdErr', [mb_strtolower(lang('Users.user')), $id]);
|
||||
return $this->redirect2listView('errorMessage', $message);
|
||||
endif;
|
||||
|
||||
$requestMethod = $this->request->getMethod();
|
||||
|
||||
if ($requestMethod === 'post') :
|
||||
|
||||
$nullIfEmpty = true; // !(phpversion() >= '8.1');
|
||||
|
||||
$postData = $this->request->getPost();
|
||||
$currentGroups = $postData['group'];
|
||||
unset($postData['group']);
|
||||
|
||||
if(!empty($postData['password'])){
|
||||
$phpass = new PasswordHash(8, true);
|
||||
$postData['password'] = $phpass->HashPassword($this->request->getPost('password'));
|
||||
}
|
||||
|
||||
$sanitizedData = $this->sanitized($postData, $nullIfEmpty);
|
||||
if ($this->request->getPost('tfa') == null ) {
|
||||
$sanitizedData['tfa'] = false;
|
||||
}
|
||||
if ($this->request->getPost('blocked') == null ) {
|
||||
$sanitizedData['blocked'] = false;
|
||||
}
|
||||
if ($this->request->getPost('last_ip') == null ) {
|
||||
$sanitizedData['last_ip'] = '::1';
|
||||
}
|
||||
|
||||
$noException = true;
|
||||
if ($successfulResult = $this->canValidate()) : // if ($successfulResult = $this->validate($this->formValidationRules) ) :
|
||||
|
||||
|
||||
|
||||
if ($this->canValidate()) :
|
||||
try {
|
||||
$successfulResult = $this->model->skipValidation(true)->update($id, $sanitizedData);
|
||||
} catch (\Exception $e) {
|
||||
$noException = false;
|
||||
$this->dealWithException($e);
|
||||
}
|
||||
else:
|
||||
$this->viewData['warningMessage'] = lang('Basic.global.formErr1', [mb_strtolower(lang('Users.user'))]);
|
||||
$this->session->setFlashdata('formErrors', $this->model->errors());
|
||||
|
||||
endif;
|
||||
|
||||
|
||||
$user->fill($sanitizedData);
|
||||
|
||||
|
||||
|
||||
$thenRedirect = true;
|
||||
endif;
|
||||
if ($noException && $successfulResult) :
|
||||
$postData = $this->request->getPost();
|
||||
|
||||
$this->group_user_model->where('token_user', $user->token)->delete();
|
||||
foreach($currentGroups as $group){
|
||||
$group_user_data = [
|
||||
'token_user' => $user->token,
|
||||
'token_group' => $group
|
||||
];
|
||||
$this->group_user_model->insert($group_user_data);
|
||||
}
|
||||
|
||||
$id = $user->id_user ?? $id;
|
||||
$message = lang('Basic.global.updateSuccess', [mb_strtolower(lang('Users.user'))]) . 'Downloads';
|
||||
$message .= anchor(route_to('editUser', $id), lang('Basic.global.continueEditing').'?');
|
||||
$message = ucfirst(str_replace("'", "\'", $message));
|
||||
|
||||
if ($thenRedirect) :
|
||||
if (!empty($this->indexRoute)) :
|
||||
return redirect()->to(route_to($this->indexRoute))->with('successMessage', $message);
|
||||
else:
|
||||
return $this->redirect2listView('successMessage', $message);
|
||||
endif;
|
||||
else:
|
||||
$this->viewData['successMessage'] = $message;
|
||||
endif;
|
||||
|
||||
endif; // $noException && $successfulResult
|
||||
endif; // ($requestMethod === 'post')
|
||||
|
||||
$this->viewData['user'] = $user;
|
||||
$this->viewData['paisList'] = $this->getPaisListItems();
|
||||
|
||||
$this->viewData['formAction'] = route_to('updateUser', $id);
|
||||
|
||||
$this->viewData['selectedGroups'] = $this->group_user_model->select('token_group')->where('token_user', $user->token)->findAll();
|
||||
$this->viewData['groups'] = $this->group_model->select('token,title')->findAll();
|
||||
|
||||
$this->viewData['boxTitle'] = lang('Basic.global.edit2') . ' Users.php' .lang('Users.user').' '.lang('Basic.global.edit3');
|
||||
|
||||
|
||||
return $this->displayForm(__METHOD__, $id);
|
||||
} // end function edit(...)
|
||||
|
||||
|
||||
|
||||
public function allItemsSelect() {
|
||||
if ($this->request->isAJAX()) {
|
||||
$onlyActiveOnes = true;
|
||||
$reqVal = $this->request->getPost('val') ?? 'id_user';
|
||||
$menu = $this->model->getAllForMenu($reqVal.', first_name', 'first_name', $onlyActiveOnes, false);
|
||||
$nonItem = new \stdClass;
|
||||
$nonItem->id_user = '';
|
||||
$nonItem->first_name = '- '.lang('Basic.global.None').' -';
|
||||
array_unshift($menu , $nonItem);
|
||||
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
$data = [
|
||||
'menu' => $menu,
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
return $this->respond($data);
|
||||
} else {
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
}
|
||||
|
||||
public function menuItems() {
|
||||
if ($this->request->isAJAX()) {
|
||||
$searchStr = goSanitize($this->request->getPost('searchTerm'))[0];
|
||||
$reqId = goSanitize($this->request->getPost('id'))[0];
|
||||
$reqText = goSanitize($this->request->getPost('text'))[0];
|
||||
$onlyActiveOnes = false;
|
||||
$columns2select = [$reqId ?? 'id_user', $reqText ?? 'first_name'];
|
||||
$onlyActiveOnes = false;
|
||||
$menu = $this->model->getSelect2MenuItems($columns2select, $columns2select[1], $onlyActiveOnes, $searchStr);
|
||||
$nonItem = new \stdClass;
|
||||
$nonItem->id = '';
|
||||
$nonItem->text = '- '.lang('Basic.global.None').' -';
|
||||
array_unshift($menu , $nonItem);
|
||||
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
$data = [
|
||||
'menu' => $menu,
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
return $this->respond($data);
|
||||
} else {
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected function getPaisListItems() {
|
||||
$data = [''=>lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Pais.pais'))])];
|
||||
$paisModel = model('App\Models\Configuracion\PaisModel');
|
||||
|
||||
$registers = $paisModel->findAll();
|
||||
|
||||
return $registers;
|
||||
}
|
||||
|
||||
}
|
||||
18
ci4/app/Controllers/Viewmode.php
Normal file
18
ci4/app/Controllers/Viewmode.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controllers;
|
||||
|
||||
use App\Controllers\BaseController;
|
||||
|
||||
class Viewmode extends BaseController
|
||||
{
|
||||
public function index($view_mode = VIEW_MODE_IMPRESION)
|
||||
{
|
||||
$session = session();
|
||||
$viewMode = $view_mode;
|
||||
$session->remove('view_mode');
|
||||
$session->set('view_mode', $viewMode);
|
||||
$url = previous_url();
|
||||
return redirect()->to($url);
|
||||
}
|
||||
}
|
||||
@ -107,15 +107,18 @@ class LoginAuthFilter implements FilterInterface
|
||||
'Clientes',
|
||||
'Compras',
|
||||
'Configuracion',
|
||||
'ServiciosDigitalizacion',
|
||||
'EnviosLogistica',
|
||||
'Facturacion',
|
||||
'Informes',
|
||||
'Importacion',
|
||||
'EnviosLogistica',
|
||||
'Pedidos',
|
||||
'Presupuestos',
|
||||
'Produccion',
|
||||
'Proveedores',
|
||||
'ServiciosCompras',
|
||||
'ServiciosMaquetacion',
|
||||
'ServiciosMensajeria',
|
||||
'ServiciosDigitalizacion',
|
||||
'Tarifas',
|
||||
'Usuarios',
|
||||
];
|
||||
@ -141,9 +144,10 @@ class LoginAuthFilter implements FilterInterface
|
||||
'Integration',
|
||||
'Migrate',
|
||||
'Test',
|
||||
'Viewmode',
|
||||
'GoBaseController',
|
||||
'GoBaseResourceController',
|
||||
'My', 'Activity', 'Notification' // PARA LA DEMO
|
||||
'My', 'Usuarios', 'Notification' // PARA LA DEMO
|
||||
|
||||
];
|
||||
}
|
||||
|
||||
@ -692,6 +692,10 @@ return [
|
||||
"menu_trabajo" => "Works",
|
||||
"menu_trabajo" => "Tipologies",
|
||||
|
||||
"menu_mensajes" => "Messages",
|
||||
|
||||
"menu_maquetacion" => "Maquetación",
|
||||
|
||||
"menu_digitalizacion" => "Digitalisation",
|
||||
|
||||
"menu_importacion" => "Import",
|
||||
@ -708,6 +712,12 @@ return [
|
||||
"menu_logistica_tracking" => "Tracking",
|
||||
|
||||
|
||||
"menu_compras" => "Procurement",
|
||||
"menu_compras_ajustes" => "Settings",
|
||||
"menu_productos" => "Products",
|
||||
"menu_proveedores" => "Providers",
|
||||
|
||||
|
||||
"menu_facturación" => "Billing",
|
||||
"menu_albaran" => "Delivery notes",
|
||||
"menu_facturas" => "Invoices",
|
||||
|
||||
@ -691,7 +691,11 @@ return [
|
||||
"menu_tiposimpresion" => "Tipos de impresion",
|
||||
"menu_trabajo" => "Trabajos",
|
||||
"menu_tipologias" => "Tipologías",
|
||||
|
||||
|
||||
"menu_mensajes" => "Mensajes",
|
||||
|
||||
"menu_maquetacion" => "Maquetación",
|
||||
|
||||
"menu_digitalizacion" => "Digitalización",
|
||||
|
||||
"menu_importacion" => "Importación",
|
||||
@ -709,6 +713,11 @@ return [
|
||||
"menu_logistica_tracking" => "Tracking",
|
||||
|
||||
|
||||
"menu_compras" => "Compras",
|
||||
"menu_compras_ajustes" => "Ajustes",
|
||||
"menu_productos" => "Productos",
|
||||
"menu_proveedores" => "Proveedores",
|
||||
|
||||
|
||||
"menu_facturación" => "Facturación",
|
||||
"menu_albaran" => "Albaranes",
|
||||
@ -739,8 +748,6 @@ return [
|
||||
"menu_pedidoproduccion" => "Pedidos",
|
||||
"menu_ordentrabajo" => "Orden de trabajo",
|
||||
|
||||
"menu_proveedores" => "Proveedores",
|
||||
|
||||
"menu_tarifas" => "Tarifas",
|
||||
"menu_tarifapreimpresion" => "Preimpresión",
|
||||
"menu_tarifamanipulado" => "Manipulado",
|
||||
@ -758,7 +765,7 @@ return [
|
||||
"menu_general" => "General",
|
||||
"menu_logout" => "Salir",
|
||||
"menu_profile" => "Mi Perfil",
|
||||
"menu_activity" => "Ocupaciones",
|
||||
"menu_activity" => "Actividad",
|
||||
"menu_notification" => "Notificaciones",
|
||||
"menu_list" => "Lista",
|
||||
"menu_add" => "Agregar",
|
||||
|
||||
@ -96,7 +96,7 @@ if (!empty($token) && $tfa == false) {
|
||||
<div class="layout-wrapper layout-content-navbar">
|
||||
<div class="layout-container">
|
||||
|
||||
<?php include "menu_impresion.php" ?>
|
||||
<?php include "selector_menu.php" ?>
|
||||
|
||||
<!-- Layout container -->
|
||||
<div class="layout-page">
|
||||
@ -153,7 +153,8 @@ if (!empty($token) && $tfa == false) {
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<img src="../../assets/img/avatars/1.png" alt class="h-auto rounded-circle" />
|
||||
<img src="../../assets/img/avatars/1.png" alt
|
||||
class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
@ -197,7 +198,8 @@ if (!empty($token) && $tfa == false) {
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<img src="../../assets/img/avatars/2.png" alt class="h-auto rounded-circle" />
|
||||
<img src="../../assets/img/avatars/2.png" alt
|
||||
class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
@ -243,7 +245,8 @@ if (!empty($token) && $tfa == false) {
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<img src="../../assets/img/avatars/9.png" alt class="h-auto rounded-circle" />
|
||||
<img src="../../assets/img/avatars/9.png" alt
|
||||
class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
@ -289,7 +292,8 @@ if (!empty($token) && $tfa == false) {
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<img src="../../assets/img/avatars/5.png" alt class="h-auto rounded-circle" />
|
||||
<img src="../../assets/img/avatars/5.png" alt
|
||||
class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
@ -311,7 +315,8 @@ if (!empty($token) && $tfa == false) {
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<img src="../../assets/img/avatars/6.png" alt class="h-auto rounded-circle" />
|
||||
<img src="../../assets/img/avatars/6.png" alt
|
||||
class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
@ -367,9 +372,60 @@ if (!empty($token) && $tfa == false) {
|
||||
</li>
|
||||
<!--/ Notification -->
|
||||
|
||||
<!-- Quick links -->
|
||||
<li class="nav-item dropdown-shortcuts navbar-dropdown dropdown me-2 me-xl-0">
|
||||
<a
|
||||
class="nav-link dropdown-toggle hide-arrow"
|
||||
href="javascript:void(0);"
|
||||
data-bs-toggle="dropdown"
|
||||
data-bs-auto-close="outside"
|
||||
aria-expanded="false"
|
||||
>
|
||||
<i class="ti ti-eye ti-md"></i>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-end py-0">
|
||||
<div class="dropdown-menu-header border-bottom">
|
||||
<div class="dropdown-header d-flex align-items-center py-3">
|
||||
<h5 class="text-body mb-0 me-auto">Vistas</h5>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="dropdown-shortcuts-list scrollable-container">
|
||||
|
||||
<div class="row row-bordered overflow-visible g-0">
|
||||
<div class="dropdown-shortcuts-item col">
|
||||
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
|
||||
<i class="ti ti-printer fs-4"></i>
|
||||
</span>
|
||||
<small class="text-muted mb-0">Vista</small>
|
||||
<a href="<?= site_url('viewmode/' . config("Basics")->vista_impresion); ?>" class="stretched-link">Impresión</a>
|
||||
</div>
|
||||
<div class="dropdown-shortcuts-item col">
|
||||
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
|
||||
<i class="ti ti-ruler-2 fs-4"></i>
|
||||
</span>
|
||||
<small class="text-muted mb-0">Vista</small>
|
||||
<a href="<?= site_url('viewmode/' . config("Basics")->vista_maquetacion); ?>" class="stretched-link">Maquetación</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row row-bordered overflow-visible g-0">
|
||||
<div class="dropdown-shortcuts-item col">
|
||||
<span class="dropdown-shortcuts-icon rounded-circle mb-2">
|
||||
<i class="ti ti-file-code-2 fs-4"></i>
|
||||
</span>
|
||||
<small class="text-muted mb-0">Vista</small>
|
||||
<a href="<?= site_url('viewmode/' . config("Basics")->vista_digitalizacion); ?>" class="stretched-link">Digitalización</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<!-- Quick links -->
|
||||
|
||||
<!-- Language -->
|
||||
<li class="nav-item dropdown-language dropdown me-2 me-xl-0">
|
||||
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);" data-bs-toggle="dropdown">
|
||||
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);"
|
||||
data-bs-toggle="dropdown">
|
||||
<i class="fi <?= getCurrentLanguageFlag(); ?> fis rounded-circle me-1 fs-3"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end">
|
||||
@ -422,12 +478,12 @@ if (!empty($token) && $tfa == false) {
|
||||
<span class="align-middle"><?= lang("App.menu_profile") ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<!-- <li>-->
|
||||
<!-- <a class="dropdown-item" href="#">-->
|
||||
<!-- <i class="ti ti-settings me-2 ti-sm"></i>-->
|
||||
<!-- <span class="align-middle">Settings</span>-->
|
||||
<!-- </a>-->
|
||||
<!-- </li>-->
|
||||
<!-- <li>-->
|
||||
<!-- <a class="dropdown-item" href="#">-->
|
||||
<!-- <i class="ti ti-settings me-2 ti-sm"></i>-->
|
||||
<!-- <span class="align-middle">Settings</span>-->
|
||||
<!-- </a>-->
|
||||
<!-- </li>-->
|
||||
|
||||
<li>
|
||||
<div class="dropdown-divider"></div>
|
||||
|
||||
@ -1,436 +0,0 @@
|
||||
<?php
|
||||
$session = session();
|
||||
$token = $session->get('token') ?? '';
|
||||
$tfa = $session->get('tfa') ?? false;
|
||||
$settings = $session->get('settings');
|
||||
|
||||
$picture = session()->get('picture');
|
||||
$pulse = session()->get('pulse');
|
||||
$notification = session()->get('notification');
|
||||
|
||||
if (!empty($token) && $tfa == false) {
|
||||
//echo "<script>window.location.href = '/'; </script>";
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html
|
||||
lang="<?= $session->get('lang') ?>"
|
||||
class="h-100 light-style layout-navbar-fixed layout-menu-fixed"
|
||||
dir="ltr"
|
||||
data-theme="theme-default"
|
||||
data-assets-path="<?= site_url('themes/vuexy/') ?>"
|
||||
data-template="vertical-menu-template-no-customizer"
|
||||
>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"
|
||||
/>
|
||||
|
||||
<title><?= lang("App.dashboard_title") ?> - <?= $settings['title'] ?? '' ?></title>
|
||||
|
||||
<meta name="description" content=""/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/x-icon" href="<?= site_url('themes/vuexy/img/favicon/favicon.ico') ?>"/>
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-57x57.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-60x60.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-72x72.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-76x76.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="114x114"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-114x114.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="120x120"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-120x120.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="144x144"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-144x144.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="152x152"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-152x152.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="180x180"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-180x180.png') ?>">
|
||||
<link rel="icon" type="image/png" sizes="192x192"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/android-icon-192x192.png') ?>">
|
||||
<link rel="icon" type="image/png" sizes="32x32"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/favicon-32x32.png') ?>">
|
||||
<link rel="icon" type="image/png" sizes="96x96"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/favicon-96x96.png') ?>">
|
||||
<link rel="icon" type="image/png" sizes="16x16"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/favicon-16x16.png') ?>">
|
||||
<link rel="manifest" href="<?= site_url('themes/vuexy/img/favicon/manifest.json') ?>">
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com"/>
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
|
||||
<!-- Icons -->
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/fonts/fontawesome.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/fonts/tabler-icons.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/fonts/flag-icons.css') ?>"/>
|
||||
|
||||
<!-- Core CSS -->
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/css/rtl/core.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/css/rtl/theme-semi-dark.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/demo.css') ?>"/>
|
||||
|
||||
<!-- Vendors CSS -->
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') ?>"/>
|
||||
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/select2/select2.css') ?>"/>
|
||||
|
||||
<!-- Page CSS -->
|
||||
|
||||
<!-- Helpers -->
|
||||
<script src="<?= site_url('themes/vuexy/vendor/js/helpers.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/js/config.js') ?>"></script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- Layout wrapper -->
|
||||
<div class="layout-wrapper layout-content-navbar">
|
||||
<div class="layout-container">
|
||||
|
||||
<?php include "menu.php" ?>
|
||||
|
||||
<!-- Layout container -->
|
||||
<div class="layout-page">
|
||||
|
||||
<!-- Navbar -->
|
||||
<nav
|
||||
class="layout-navbar container-xxl navbar navbar-expand-xl navbar-detached align-items-center bg-navbar-theme"
|
||||
id="layout-navbar"
|
||||
>
|
||||
<div class="layout-menu-toggle navbar-nav align-items-xl-center me-3 me-xl-0 d-xl-none">
|
||||
<a class="nav-item nav-link px-0 me-xl-4" href="javascript:void(0)">
|
||||
<i class="ti ti-menu-2 ti-sm"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="navbar-nav-right d-flex align-items-center" id="navbar-collapse">
|
||||
<div class="navbar-nav align-items-center">
|
||||
<a class="nav-link style-switcher-toggle hide-arrow" href="javascript:void(0);">
|
||||
<i class="ti ti-sm"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<ul class="navbar-nav flex-row align-items-center ms-auto">
|
||||
|
||||
<!-- Notification -->
|
||||
<li class="nav-item dropdown-notifications navbar-dropdown dropdown me-3 me-xl-1">
|
||||
<a
|
||||
class="nav-link dropdown-toggle hide-arrow"
|
||||
href="javascript:void(0);"
|
||||
data-bs-toggle="dropdown"
|
||||
data-bs-auto-close="outside"
|
||||
aria-expanded="false"
|
||||
>
|
||||
<i class="ti ti-bell ti-md"></i>
|
||||
<span class="badge bg-danger rounded-pill badge-notifications">5</span>
|
||||
</a>
|
||||
|
||||
</li>
|
||||
<!--/ Notification -->
|
||||
|
||||
<!-- Language -->
|
||||
<li class="nav-item dropdown-language dropdown me-2 me-xl-0">
|
||||
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);" data-bs-toggle="dropdown">
|
||||
<i class="fi fi-es fis rounded-circle me-1 fs-3"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end">
|
||||
<li>
|
||||
<a class="dropdown-item" href="<?= site_url('lang/es'); ?>" data-language="es">
|
||||
<i class="fi fi-es fis rounded-circle me-1 fs-3"></i>
|
||||
<span class="align-middle"><?= lang("App.lang_es") ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="<?= site_url('lang/en'); ?>" data-language="en">
|
||||
<i class="fi fi-gb fis rounded-circle me-1 fs-3"></i>
|
||||
<span class="align-middle"><?= lang("App.lang_en") ?></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<!--/ Language -->
|
||||
|
||||
<!-- User -->
|
||||
<li class="nav-item navbar-dropdown dropdown-user dropdown">
|
||||
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);"
|
||||
data-bs-toggle="dropdown">
|
||||
<div class="avatar">
|
||||
<img src="<?= $picture ?? '' ?>" alt class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end">
|
||||
<li>
|
||||
<a class="dropdown-item" href="#">
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar avatar-online">
|
||||
<img src="<?= $picture ?? '' ?>" alt class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<span class="fw-semibold d-block"><?= $session->get('first_name') . ' ' . $session->get('first_name') ?></span>
|
||||
<small class="text-muted">Admin</small>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<div class="dropdown-divider"></div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="<?= site_url('profile'); ?>">
|
||||
<i class="ti ti-user-check me-2 ti-sm"></i>
|
||||
<span class="align-middle"><?= lang("App.menu_profile") ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="ti ti-settings me-2 ti-sm"></i>
|
||||
<span class="align-middle">Settings</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="dropdown-divider"></div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="<?= site_url("login/logout") ?>">
|
||||
<i class="ti ti-logout me-2 ti-sm"></i>
|
||||
<span class="align-middle"><?= lang("App.menu_logout") ?></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<!--/ User -->
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- / Navbar -->
|
||||
|
||||
<!-- Content wrapper -->
|
||||
<div class="content-wrapper">
|
||||
<!-- Content -->
|
||||
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
<h4 class="fw-bold py-3 mb-4">Page 1</h4>
|
||||
<div class="row">
|
||||
<!-- Select2 -->
|
||||
<div class="col-12">
|
||||
<div class="card mb-4">
|
||||
<h5 class="card-header">Select2</h5>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<!-- Basic -->
|
||||
<div class="col-md-6 mb-4">
|
||||
<label for="select2Basic" class="form-label">Basic</label>
|
||||
<select id="select2Basic" class="select2 form-select form-select-lg" data-allow-clear="true">
|
||||
<option value="AK">Alaska</option>
|
||||
<option value="HI">Hawaii</option>
|
||||
<option value="CA">California</option>
|
||||
<option value="NV">Nevada</option>
|
||||
<option value="OR">Oregon</option>
|
||||
<option value="WA">Washington</option>
|
||||
<option value="AZ">Arizona</option>
|
||||
<option value="CO">Colorado</option>
|
||||
<option value="ID">Idaho</option>
|
||||
<option value="MT">Montana</option>
|
||||
<option value="NE">Nebraska</option>
|
||||
<option value="NM">New Mexico</option>
|
||||
<option value="ND">North Dakota</option>
|
||||
<option value="UT">Utah</option>
|
||||
<option value="WY">Wyoming</option>
|
||||
<option value="AL">Alabama</option>
|
||||
<option value="AR">Arkansas</option>
|
||||
<option value="IL">Illinois</option>
|
||||
<option value="IA">Iowa</option>
|
||||
<option value="KS">Kansas</option>
|
||||
<option value="KY">Kentucky</option>
|
||||
<option value="LA">Louisiana</option>
|
||||
<option value="MN">Minnesota</option>
|
||||
<option value="MS">Mississippi</option>
|
||||
<option value="MO">Missouri</option>
|
||||
<option value="OK">Oklahoma</option>
|
||||
<option value="SD">South Dakota</option>
|
||||
<option value="TX">Texas</option>
|
||||
<option value="TN">Tennessee</option>
|
||||
<option value="WI">Wisconsin</option>
|
||||
<option value="CT">Connecticut</option>
|
||||
<option value="DE">Delaware</option>
|
||||
<option value="FL">Florida</option>
|
||||
<option value="GA">Georgia</option>
|
||||
<option value="IN">Indiana</option>
|
||||
<option value="ME">Maine</option>
|
||||
<option value="MD">Maryland</option>
|
||||
<option value="MA">Massachusetts</option>
|
||||
<option value="MI">Michigan</option>
|
||||
<option value="NH">New Hampshire</option>
|
||||
<option value="NJ">New Jersey</option>
|
||||
<option value="NY">New York</option>
|
||||
<option value="NC">North Carolina</option>
|
||||
<option value="OH">Ohio</option>
|
||||
<option value="PA">Pennsylvania</option>
|
||||
<option value="RI">Rhode Island</option>
|
||||
<option value="SC">South Carolina</option>
|
||||
<option value="VT">Vermont</option>
|
||||
<option value="VA">Virginia</option>
|
||||
<option value="WV">West Virginia</option>
|
||||
</select>
|
||||
</div>
|
||||
<!-- Multiple -->
|
||||
<div class="col-md-6 mb-4">
|
||||
<label for="select2Multiple" class="form-label">Multiple</label>
|
||||
<select id="select2Multiple" class="select2 form-select" multiple>
|
||||
<optgroup label="Alaskan/Hawaiian Time Zone">
|
||||
<option value="AK">Alaska</option>
|
||||
<option value="HI">Hawaii</option>
|
||||
</optgroup>
|
||||
<optgroup label="Pacific Time Zone">
|
||||
<option value="CA">California</option>
|
||||
<option value="NV">Nevada</option>
|
||||
<option value="OR">Oregon</option>
|
||||
<option value="WA">Washington</option>
|
||||
</optgroup>
|
||||
<optgroup label="Mountain Time Zone">
|
||||
<option value="AZ">Arizona</option>
|
||||
<option value="CO" selected>Colorado</option>
|
||||
<option value="ID">Idaho</option>
|
||||
<option value="MT">Montana</option>
|
||||
<option value="NE">Nebraska</option>
|
||||
<option value="NM">New Mexico</option>
|
||||
<option value="ND">North Dakota</option>
|
||||
<option value="UT">Utah</option>
|
||||
<option value="WY">Wyoming</option>
|
||||
</optgroup>
|
||||
<optgroup label="Central Time Zone">
|
||||
<option value="AL">Alabama</option>
|
||||
<option value="AR">Arkansas</option>
|
||||
<option value="IL">Illinois</option>
|
||||
<option value="IA">Iowa</option>
|
||||
<option value="KS">Kansas</option>
|
||||
<option value="KY">Kentucky</option>
|
||||
<option value="LA">Louisiana</option>
|
||||
<option value="MN">Minnesota</option>
|
||||
<option value="MS">Mississippi</option>
|
||||
<option value="MO">Missouri</option>
|
||||
<option value="OK">Oklahoma</option>
|
||||
<option value="SD">South Dakota</option>
|
||||
<option value="TX">Texas</option>
|
||||
<option value="TN">Tennessee</option>
|
||||
<option value="WI">Wisconsin</option>
|
||||
</optgroup>
|
||||
<optgroup label="Eastern Time Zone">
|
||||
<option value="CT">Connecticut</option>
|
||||
<option value="DE">Delaware</option>
|
||||
<option value="FL" selected>Florida</option>
|
||||
<option value="GA">Georgia</option>
|
||||
<option value="IN">Indiana</option>
|
||||
<option value="ME">Maine</option>
|
||||
<option value="MD">Maryland</option>
|
||||
<option value="MA">Massachusetts</option>
|
||||
<option value="MI">Michigan</option>
|
||||
<option value="NH">New Hampshire</option>
|
||||
<option value="NJ">New Jersey</option>
|
||||
<option value="NY">New York</option>
|
||||
<option value="NC">North Carolina</option>
|
||||
<option value="OH">Ohio</option>
|
||||
<option value="PA">Pennsylvania</option>
|
||||
<option value="RI">Rhode Island</option>
|
||||
<option value="SC">South Carolina</option>
|
||||
<option value="VT">Vermont</option>
|
||||
<option value="VA">Virginia</option>
|
||||
<option value="WV">West Virginia</option>
|
||||
</optgroup>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Select2 -->
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- / Content -->
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="content-footer footer bg-footer-theme">
|
||||
<div class="container-xxl">
|
||||
<div class="footer-container d-flex align-items-center justify-content-between py-2 flex-md-row flex-column">
|
||||
<div>
|
||||
<a href="#" target="_blank" class="fw-semibold">Safekat</a> © <?= date('Y'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- / Footer -->
|
||||
|
||||
<div class="content-backdrop fade"></div>
|
||||
</div>
|
||||
<!-- Content wrapper -->
|
||||
</div>
|
||||
<!-- / Layout page -->
|
||||
</div>
|
||||
|
||||
<!-- Overlay -->
|
||||
<div class="layout-overlay layout-menu-toggle"></div>
|
||||
|
||||
<!-- Drag Target Area To SlideIn Menu On Small Screens -->
|
||||
<div class="drag-target"></div>
|
||||
</div>
|
||||
<!-- / Layout wrapper -->
|
||||
|
||||
<!-- Core JS -->
|
||||
<!-- build:js assets/vendor/js/core.js -->
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/jquery/jquery.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/popper/popper.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/js/bootstrap.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/hammer/hammer.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/js/menu.js') ?>"></script>
|
||||
<!-- endbuild -->
|
||||
|
||||
<!-- Vendors JS -->
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/select2/select2.js') ?>"></script>
|
||||
|
||||
<!-- Main JS -->
|
||||
<script src="<?= site_url('themes/vuexy/js/main.js') ?>"></script>
|
||||
|
||||
<!-- Page JS -->
|
||||
<script>
|
||||
'use strict';
|
||||
|
||||
$(function () {
|
||||
const select2 = $('.select2');
|
||||
|
||||
// Select2
|
||||
// --------------------------------------------------------------------
|
||||
if (select2.length) {
|
||||
select2.each(function () {
|
||||
var $this = $(this);
|
||||
$this.wrap('<div class="position-relative"></div>').select2({
|
||||
placeholder: 'Select value',
|
||||
dropdownParent: $this.parent()
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -1,594 +0,0 @@
|
||||
<?php
|
||||
$session = session();
|
||||
$token = $session->get('token') ?? '';
|
||||
$tfa = $session->get('tfa') ?? false;
|
||||
$settings = $session->get('settings');
|
||||
|
||||
$picture = session()->get('picture');
|
||||
$pulse = session()->get('pulse');
|
||||
$notification = session()->get('notification');
|
||||
|
||||
if (!empty($token) && $tfa == false) {
|
||||
//echo "<script>window.location.href = '/'; </script>";
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html
|
||||
lang="<?= $session->get('lang') ?>"
|
||||
class="h-100"
|
||||
class="semi-dark-style customizer-hide"
|
||||
dir="ltr"
|
||||
data-theme="theme-default"
|
||||
data-assets-path="<?= site_url('themes/vuexy/') ?>"
|
||||
data-template="vertical-menu-template-no-customizer"
|
||||
>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta
|
||||
name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"
|
||||
/>
|
||||
|
||||
<title><?= lang("App.dashboard_title") ?> - <?= $settings['title'] ?? '' ?></title>
|
||||
|
||||
<meta name="description" content=""/>
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/x-icon" href="<?= site_url('themes/vuexy/img/favicon/favicon.ico') ?>"/>
|
||||
<link rel="apple-touch-icon" sizes="57x57" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-57x57.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="60x60" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-60x60.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="72x72" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-72x72.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="76x76" href="<?= site_url('themes/vuexy/img/favicon/apple-icon-76x76.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="114x114"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-114x114.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="120x120"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-120x120.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="144x144"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-144x144.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="152x152"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-152x152.png') ?>">
|
||||
<link rel="apple-touch-icon" sizes="180x180"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/apple-icon-180x180.png') ?>">
|
||||
<link rel="icon" type="image/png" sizes="192x192"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/android-icon-192x192.png') ?>">
|
||||
<link rel="icon" type="image/png" sizes="32x32"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/favicon-32x32.png') ?>">
|
||||
<link rel="icon" type="image/png" sizes="96x96"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/favicon-96x96.png') ?>">
|
||||
<link rel="icon" type="image/png" sizes="16x16"
|
||||
href="<?= site_url('themes/vuexy/img/favicon/favicon-16x16.png') ?>">
|
||||
<link rel="manifest" href="<?= site_url('themes/vuexy/img/favicon/manifest.json') ?>">
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="preconnect" href="https:/fonts.googleapis.com"/>
|
||||
<link rel="preconnect" href="https:/fonts.gstatic.com" crossorigin/>
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
|
||||
<!-- Icons -->
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/fonts/fontawesome.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/fonts/tabler-icons.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/fonts/flag-icons.css') ?>"/>
|
||||
|
||||
<!-- Core CSS -->
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/css/rtl/core.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/css/rtl/theme-semi-dark.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/demo.css') ?>"/>
|
||||
|
||||
<!-- Vendors CSS -->
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') ?>"/>
|
||||
<link rel="stylesheet" href="<?= site_url('themes/vuexy/vendor/libs/node-waves/node-waves.css') ?>"/>
|
||||
|
||||
<!-- Page CSS -->
|
||||
<?= $this->renderSection('css') ?>
|
||||
|
||||
|
||||
<!-- Helpers -->
|
||||
<script src="<?= site_url('themes/vuexy/vendor/js/helpers.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/js/config.js') ?>"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Layout wrapper -->
|
||||
<div class="layout-wrapper layout-content-navbar">
|
||||
<div class="layout-container">
|
||||
|
||||
|
||||
<?php include "menu.php" ?>
|
||||
|
||||
<!-- Layout container -->
|
||||
<div class="layout-page">
|
||||
|
||||
<!-- Navbar -->
|
||||
<nav
|
||||
class="layout-navbar container-xxl navbar navbar-expand-xl navbar-detached align-items-center bg-navbar-theme"
|
||||
id="layout-navbar"
|
||||
>
|
||||
<div class="layout-menu-toggle navbar-nav align-items-xl-center me-3 me-xl-0 d-xl-none">
|
||||
<a class="nav-item nav-link px-0 me-xl-4" href="javascript:void(0)">
|
||||
<i class="ti ti-menu-2 ti-sm"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="navbar-nav-right d-flex align-items-center" id="navbar-collapse">
|
||||
<div class="navbar-nav align-items-center">
|
||||
<a class="nav-link style-switcher-toggle hide-arrow" href="javascript:void(0);">
|
||||
<i class="ti ti-sm"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<ul class="navbar-nav flex-row align-items-center ms-auto">
|
||||
|
||||
<!-- Notification -->
|
||||
<li class="nav-item dropdown-notifications navbar-dropdown dropdown me-3 me-xl-1">
|
||||
<a
|
||||
class="nav-link dropdown-toggle hide-arrow"
|
||||
href="javascript:void(0);"
|
||||
data-bs-toggle="dropdown"
|
||||
data-bs-auto-close="outside"
|
||||
aria-expanded="false"
|
||||
>
|
||||
<i class="ti ti-bell ti-md"></i>
|
||||
<span class="badge bg-danger rounded-pill badge-notifications">5</span>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end py-0">
|
||||
<li class="dropdown-menu-header border-bottom">
|
||||
<div class="dropdown-header d-flex align-items-center py-3">
|
||||
<h5 class="text-body mb-0 me-auto">Notification</h5>
|
||||
<a
|
||||
href="javascript:void(0)"
|
||||
class="dropdown-notifications-all text-body"
|
||||
data-bs-toggle="tooltip"
|
||||
data-bs-placement="top"
|
||||
title="Mark all as read"
|
||||
><i class="ti ti-mail-opened fs-4"></i
|
||||
></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="dropdown-notifications-list scrollable-container">
|
||||
<ul class="list-group list-group-flush">
|
||||
<li class="list-group-item list-group-item-action dropdown-notifications-item">
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<img src="../../assets/img/avatars/1.png" alt
|
||||
class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-1">Congratulation Lettie 🎉</h6>
|
||||
<p class="mb-0">Won the monthly best seller gold badge</p>
|
||||
<small class="text-muted">1h ago</small>
|
||||
</div>
|
||||
<div class="flex-shrink-0 dropdown-notifications-actions">
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-read"
|
||||
><span class="badge badge-dot"></span
|
||||
></a>
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-archive"
|
||||
><span class="ti ti-x"></span
|
||||
></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item list-group-item-action dropdown-notifications-item">
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<span class="avatar-initial rounded-circle bg-label-danger">CF</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-1">Charles Franklin</h6>
|
||||
<p class="mb-0">Accepted your connection</p>
|
||||
<small class="text-muted">12hr ago</small>
|
||||
</div>
|
||||
<div class="flex-shrink-0 dropdown-notifications-actions">
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-read"
|
||||
><span class="badge badge-dot"></span
|
||||
></a>
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-archive"
|
||||
><span class="ti ti-x"></span
|
||||
></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<img src="../../assets/img/avatars/2.png" alt
|
||||
class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-1">New Message ✉️</h6>
|
||||
<p class="mb-0">You have new message from Natalie</p>
|
||||
<small class="text-muted">1h ago</small>
|
||||
</div>
|
||||
<div class="flex-shrink-0 dropdown-notifications-actions">
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-read"
|
||||
><span class="badge badge-dot"></span
|
||||
></a>
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-archive"
|
||||
><span class="ti ti-x"></span
|
||||
></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item list-group-item-action dropdown-notifications-item">
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<span class="avatar-initial rounded-circle bg-label-success"
|
||||
><i class="ti ti-shopping-cart"></i
|
||||
></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-1">Whoo! You have new order 🛒</h6>
|
||||
<p class="mb-0">ACME Inc. made new order $1,154</p>
|
||||
<small class="text-muted">1 day ago</small>
|
||||
</div>
|
||||
<div class="flex-shrink-0 dropdown-notifications-actions">
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-read"
|
||||
><span class="badge badge-dot"></span
|
||||
></a>
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-archive"
|
||||
><span class="ti ti-x"></span
|
||||
></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<img src="../../assets/img/avatars/9.png" alt
|
||||
class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-1">Application has been approved 🚀</h6>
|
||||
<p class="mb-0">Your ABC project application has been approved.</p>
|
||||
<small class="text-muted">2 days ago</small>
|
||||
</div>
|
||||
<div class="flex-shrink-0 dropdown-notifications-actions">
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-read"
|
||||
><span class="badge badge-dot"></span
|
||||
></a>
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-archive"
|
||||
><span class="ti ti-x"></span
|
||||
></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<span class="avatar-initial rounded-circle bg-label-success"
|
||||
><i class="ti ti-chart-pie"></i
|
||||
></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-1">Monthly report is generated</h6>
|
||||
<p class="mb-0">July monthly financial report is generated</p>
|
||||
<small class="text-muted">3 days ago</small>
|
||||
</div>
|
||||
<div class="flex-shrink-0 dropdown-notifications-actions">
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-read"
|
||||
><span class="badge badge-dot"></span
|
||||
></a>
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-archive"
|
||||
><span class="ti ti-x"></span
|
||||
></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<img src="../../assets/img/avatars/5.png" alt
|
||||
class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-1">Send connection request</h6>
|
||||
<p class="mb-0">Peter sent you connection request</p>
|
||||
<small class="text-muted">4 days ago</small>
|
||||
</div>
|
||||
<div class="flex-shrink-0 dropdown-notifications-actions">
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-read"
|
||||
><span class="badge badge-dot"></span
|
||||
></a>
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-archive"
|
||||
><span class="ti ti-x"></span
|
||||
></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item list-group-item-action dropdown-notifications-item">
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<img src="../../assets/img/avatars/6.png" alt
|
||||
class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-1">New message from Jane</h6>
|
||||
<p class="mb-0">Your have new message from Jane</p>
|
||||
<small class="text-muted">5 days ago</small>
|
||||
</div>
|
||||
<div class="flex-shrink-0 dropdown-notifications-actions">
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-read"
|
||||
><span class="badge badge-dot"></span
|
||||
></a>
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-archive"
|
||||
><span class="ti ti-x"></span
|
||||
></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item list-group-item-action dropdown-notifications-item marked-as-read">
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar">
|
||||
<span class="avatar-initial rounded-circle bg-label-warning"
|
||||
><i class="ti ti-alert-triangle"></i
|
||||
></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<h6 class="mb-1">CPU is running high</h6>
|
||||
<p class="mb-0">CPU Utilization Percent is currently at 88.63%,</p>
|
||||
<small class="text-muted">5 days ago</small>
|
||||
</div>
|
||||
<div class="flex-shrink-0 dropdown-notifications-actions">
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-read"
|
||||
><span class="badge badge-dot"></span
|
||||
></a>
|
||||
<a href="javascript:void(0)" class="dropdown-notifications-archive"
|
||||
><span class="ti ti-x"></span
|
||||
></a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown-menu-footer border-top">
|
||||
<a
|
||||
href="javascript:void(0);"
|
||||
class="dropdown-item d-flex justify-content-center text-primary p-2 h-px-40 mb-1 align-items-center"
|
||||
>
|
||||
View all notifications
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<!--/ Notification -->
|
||||
|
||||
<!-- Language -->
|
||||
<li class="nav-item dropdown-language dropdown me-2 me-xl-0">
|
||||
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);"
|
||||
data-bs-toggle="dropdown">
|
||||
<i class="fi fi-es fis rounded-circle me-1 fs-3"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end">
|
||||
<li>
|
||||
<a class="dropdown-item" href="<?= site_url('lang/es'); ?>" data-language="es">
|
||||
<i class="fi fi-es fis rounded-circle me-1 fs-3"></i>
|
||||
<span class="align-middle"><?= lang("App.lang_es") ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="<?= site_url('lang/en'); ?>" data-language="en">
|
||||
<i class="fi fi-gb fis rounded-circle me-1 fs-3"></i>
|
||||
<span class="align-middle"><?= lang("App.lang_en") ?></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<!--/ Language -->
|
||||
|
||||
<!-- User -->
|
||||
<li class="nav-item navbar-dropdown dropdown-user dropdown">
|
||||
<a class="nav-link dropdown-toggle hide-arrow" href="javascript:void(0);"
|
||||
data-bs-toggle="dropdown">
|
||||
<div class="avatar">
|
||||
<img src="<?= $picture ?? '' ?>" alt class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end">
|
||||
<li>
|
||||
<a class="dropdown-item" href="#">
|
||||
<div class="d-flex">
|
||||
<div class="flex-shrink-0 me-3">
|
||||
<div class="avatar avatar-online">
|
||||
<img src="<?= $picture ?? '' ?>" alt class="h-auto rounded-circle"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow-1">
|
||||
<span class="fw-semibold d-block"><?= $session->get('first_name') . ' ' . $session->get('first_name') ?></span>
|
||||
<small class="text-muted">Admin</small>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<div class="dropdown-divider"></div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="<?= site_url('profile'); ?>">
|
||||
<i class="ti ti-user-check me-2 ti-sm"></i>
|
||||
<span class="align-middle"><?= lang("App.menu_profile") ?></span>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="ti ti-settings me-2 ti-sm"></i>
|
||||
<span class="align-middle">Settings</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<div class="dropdown-divider"></div>
|
||||
</li>
|
||||
<li>
|
||||
<a class="dropdown-item" href="<?= site_url("login/logout") ?>">
|
||||
<i class="ti ti-logout me-2 ti-sm"></i>
|
||||
<span class="align-middle"><?= lang("App.menu_logout") ?></span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<!--/ User -->
|
||||
</ul>
|
||||
</div>
|
||||
</nav>
|
||||
<!-- / Navbar -->
|
||||
|
||||
<!-- Content wrapper -->
|
||||
<div class="content-wrapper">
|
||||
<!-- Content -->
|
||||
<div class="container-xxl flex-grow-1 container-p-y">
|
||||
<h4 class="fw-bold py-3 mb-4">Page 1</h4>
|
||||
<?= $this->renderSection('content') ?>
|
||||
</div>
|
||||
<!-- / Content -->
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="content-footer footer bg-footer-theme">
|
||||
<div class="container-xxl">
|
||||
<div class="footer-container d-flex align-items-center justify-content-between py-2 flex-md-row flex-column">
|
||||
<div>
|
||||
<a href="#" target="_blank" class="fw-semibold">Safekat</a> © <?= date('Y'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- / Footer -->
|
||||
|
||||
<div class="content-backdrop fade"></div>
|
||||
</div>
|
||||
<!-- Content wrapper -->
|
||||
</div>
|
||||
<!-- / Layout page -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Overlay -->
|
||||
<div class="layout-overlay layout-menu-toggle"></div>
|
||||
|
||||
<!-- Drag Target Area To SlideIn Menu On Small Screens -->
|
||||
<div class="drag-target"></div>
|
||||
</div>
|
||||
<!-- / Layout wrapper -->
|
||||
|
||||
<?= $this->renderSection('footerAdditions') ?>
|
||||
|
||||
|
||||
<!-- Core JS -->
|
||||
<!-- build:js assets/vendor/js/core.js -->
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/jquery/jquery.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/popper/popper.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/js/bootstrap.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/node-waves/node-waves.js') ?>"></script>
|
||||
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/hammer/hammer.js') ?>"></script>
|
||||
|
||||
<script src="<?= site_url('themes/vuexy/vendor/js/menu.js') ?>"></script>
|
||||
<!-- endbuild -->
|
||||
|
||||
<!-- Vendors JS -->
|
||||
<?php /*
|
||||
<script src="<?= site_url("themes/vuexy/vendor/global/global.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/js/quixnav-init.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/js/custom.min.js") ?>"></script>
|
||||
|
||||
*/
|
||||
?>
|
||||
|
||||
<?= $this->renderSection('additionalExternalJs') ?>
|
||||
|
||||
<!-- Custom -->
|
||||
<script src="<?= site_url("assets/js/main.js") ?>"></script>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
</script>
|
||||
|
||||
<?= sweetAlert() ?>
|
||||
|
||||
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
var theTable;
|
||||
var <?=csrf_token() ?? 'token'?>v = '<?= csrf_hash() ?>';
|
||||
|
||||
function yeniden(andac = null) {
|
||||
if (andac == null) {
|
||||
andac = <?= csrf_token() ?>v;
|
||||
} else {
|
||||
<?= csrf_token() ?>v = andac;
|
||||
}
|
||||
$('input[name="<?= csrf_token() ?>"]').val(andac);
|
||||
$('meta[name="<?= config('Security')->tokenName ?>"]').attr('content', andac)
|
||||
$.ajaxSetup({
|
||||
headers: {'<?= config('Security')->headerName ?>': andac, 'X-Requested-With': 'XMLHttpRequest'},
|
||||
<?=csrf_token()?>: andac
|
||||
});
|
||||
}
|
||||
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
|
||||
function adjustSidebar4ContentWrapper() {
|
||||
if ($('#sidebar').hasClass('d-none') && $(window).width() <= 768) {
|
||||
$('#contentWrapper').addClass('full-width');
|
||||
} else {
|
||||
if (!$('#sidebar').hasClass('inactive')) {
|
||||
$('#contentWrapper').removeClass('full-width');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
adjustSidebar4ContentWrapper();
|
||||
|
||||
$('#sidebarCollapse').on('click', function () {
|
||||
|
||||
if ($('#sidebar').hasClass('d-none') && $(window).width() <= 768) {
|
||||
$('#sidebar').removeClass('d-none d-sm-none d-md-block');
|
||||
|
||||
$('#contentWrapper').removeClass('full-width');
|
||||
} else {
|
||||
$('#sidebar').toggleClass('inactive');
|
||||
$('#contentWrapper').toggleClass('full-width');
|
||||
$('.collapse.in').toggleClass('in');
|
||||
$('a[aria-expanded=true]').attr('aria-expanded', 'false');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$(window).resize(function () {
|
||||
adjustSidebar4ContentWrapper();
|
||||
});
|
||||
|
||||
<?= $this->renderSection('additionalInlineJs') ?>
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
|
||||
<li class="menu-item active">
|
||||
<a href="<?= site_url("") ?>" class="menu-link">
|
||||
<i class="menu-icon tf-icons ti ti-smart-home"></i>
|
||||
<i class="menu-icon tf-icons ti ti-dashboard"></i>
|
||||
<div data-i18n="<?= lang("App.menu_dashboard") ?>"><?= lang("App.menu_dashboard") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
@ -63,7 +63,7 @@
|
||||
|
||||
<?php
|
||||
/**
|
||||
* MENU PRESUPUESTO
|
||||
* MENU PRESUPUESTOS
|
||||
*/
|
||||
if (allowMenuSection($menus, ['Presupuesto'], 'index')): ?>
|
||||
<!-- Budgets -->
|
||||
@ -202,6 +202,7 @@
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
<?php
|
||||
/**
|
||||
* MENU CATALOGO
|
||||
@ -248,6 +249,7 @@
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
<?php
|
||||
/**
|
||||
* MENU FACTURACION
|
||||
@ -343,45 +345,99 @@
|
||||
*/
|
||||
if (allowMenuSection($menus,
|
||||
['Tarifapreimpresion', 'Tarifamanipulado', 'Tarifaacabado', 'Tarifaenvio'], 'index')): ?>
|
||||
<!-- Prices -->
|
||||
<!-- Prices -->
|
||||
<li class="menu-item">
|
||||
<a href="javascript:void(0);" class="menu-link menu-toggle">
|
||||
<i class="menu-icon tf-icons ti ti-receipt"></i>
|
||||
<div data-i18n="<?= lang("App.menu_tarifas") ?>"><?= lang("App.menu_tarifas") ?></div>
|
||||
</a>
|
||||
<ul class="menu-sub">
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifapreimpresion')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("tarifas/tarifapreimpresion") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tarifapreimpresion") ?>"><?= lang("App.menu_tarifapreimpresion") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifamanipulado')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("tarifas/tarifamanipulado") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tarifamanipulado") ?>"><?= lang("App.menu_tarifamanipulado") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifaacabado')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("tarifas/tarifaacabado") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tarifaacabado") ?>"><?= lang("App.menu_tarifaacabado") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifaenvio')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("tarifas/tarifaenvio") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tarifaenvio") ?>"><?= lang("App.menu_tarifaenvio") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</ul>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
<?php
|
||||
/**
|
||||
* MENU COMPRAS
|
||||
*/
|
||||
if (allowMenuSection($menus,
|
||||
['Compras', 'Productos', 'Proveedor'], 'index')): ?>
|
||||
<!-- BUY -->
|
||||
<li class="menu-item">
|
||||
<a href="javascript:void(0);" class="menu-link menu-toggle">
|
||||
<i class="menu-icon tf-icons ti ti-receipt"></i>
|
||||
<div data-i18n="<?= lang("App.menu_tarifas") ?>"><?= lang("App.menu_tarifas") ?></div>
|
||||
<i class="menu-icon tf-icons ti ti-shopping-cart"></i>
|
||||
<div data-i18n="<?= lang("App.menu_compras") ?>"><?= lang("App.menu_compras") ?></div>
|
||||
</a>
|
||||
<ul class="menu-sub">
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifapreimpresion')) > 0): ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Compras')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("tarifas/tarifapreimpresion") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tarifapreimpresion") ?>"><?= lang("App.menu_tarifapreimpresion") ?></div>
|
||||
<a href="<?= site_url("servicioscompras/compras") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_compras") ?>"><?= lang("App.menu_compras") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifamanipulado')) > 0): ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Productos')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("tarifas/tarifamanipulado") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tarifamanipulado") ?>"><?= lang("App.menu_tarifamanipulado") ?></div>
|
||||
<a href="<?= site_url("servicioscompras/productos") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_productos") ?>"><?= lang("App.menu_productos") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifaacabado')) > 0): ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Proveedor')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("tarifas/tarifaacabado") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tarifaacabado") ?>"><?= lang("App.menu_tarifaacabado") ?></div>
|
||||
<a href="<?= site_url("servicioscompras/proveedor") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_proveedores") ?>"><?= lang("App.menu_proveedores") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifaenvio')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Compras')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'ajustes', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("tarifas/tarifaenvio") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tarifaenvio") ?>"><?= lang("App.menu_tarifaenvio") ?></div>
|
||||
<a href="<?= site_url("servicioscompras/compras/ajustes") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_compras_ajustes") ?>"><?= lang("App.menu_compras_ajustes") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
@ -395,14 +451,10 @@
|
||||
* MENU CONFIGURACION
|
||||
*/
|
||||
if (allowMenuSection($menus,
|
||||
['Calendario', 'Correo', 'Formaspago', 'Imposiciones', 'Tipologias',
|
||||
'Maquina', 'Papelesgenerico', 'Papelesimpresion', 'Seriefactura', 'Serviciocliente',
|
||||
'Tamanioformatos', 'Tamaniolibros', 'Tareaservicio', 'Tiposimpresion', 'Trabajo'
|
||||
],
|
||||
'index')): ?>
|
||||
['Calendario', 'Paises', 'Users', 'Group'], 'index')): ?>
|
||||
<li class="menu-item">
|
||||
<a href="javascript:void(0);" class="menu-link menu-toggle">
|
||||
<i class="menu-icon tf-icons ti ti-users"></i>
|
||||
<i class="menu-icon tf-icons ti ti-adjustments-horizontal"></i>
|
||||
<div data-i18n="<?= lang("App.menu_configuration") ?>"><?= lang("App.menu_configuration") ?></div>
|
||||
</a>
|
||||
<ul class="menu-sub">
|
||||
@ -415,128 +467,29 @@
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Correo')) > 0): ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Paises')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/correo") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_correo") ?>"><?= lang("App.menu_correo") ?></div>
|
||||
<a href="<?= site_url("configuracion/paises") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_paises") ?>"><?= lang("App.menu_paises") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Formaspago')) > 0): ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Users')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/formaspago") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_formaspago") ?>"><?= lang("App.menu_formaspago") ?></div>
|
||||
<a href="<?= site_url("configuracion/users") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_users") ?>"><?= lang("App.menu_users") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Imposiciones')) > 0): ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Group')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/imposiciones") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_imposiciones") ?>"><?= lang("App.menu_imposiciones") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tipologias')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/tipologias") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tipologias") ?>"><?= lang("App.menu_tipologias") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Maquina')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/maquina") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_maquina") ?>"><?= lang("App.menu_maquina") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Papelesgenericos')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/papelesgenericos") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_papelgenerico") ?>"><?= lang("App.menu_papelgenerico") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Papelesimpresion')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/papelesimpresion") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_papelimpresion") ?>"><?= lang("App.menu_papelimpresion") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Seriefactura')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/seriefactura") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_seriefactura") ?>"><?= lang("App.menu_seriefactura") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Serviciocliente')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/serviciocliente") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_serviciocliente") ?>"><?= lang("App.menu_serviciocliente") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tamanioformatos')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/tamanioformatos") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tamanioformatos") ?>"><?= lang("App.menu_tamanioformatos") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tamaniolibros')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/tamaniolibros") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tamaniolibros") ?>"><?= lang("App.menu_tamaniolibros") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tareasservicio')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/tareasservicio") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tareasservicio") ?>"><?= lang("App.menu_tareasservicio") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Tiposimpresion')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/tiposimpresion") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_tiposimpresion") ?>"><?= lang("App.menu_tiposimpresion") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Trabajo')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("configuracion/trabajo") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_trabajo") ?>"><?= lang("App.menu_trabajo") ?></div>
|
||||
<a href="<?= site_url("configuracion/group") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_permission_group") ?>"><?= lang("App.menu_permission_group") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
@ -545,6 +498,37 @@
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
<?php
|
||||
/**
|
||||
* MENU MENSAJES
|
||||
*/
|
||||
if (count(getArrayItem($menus, 'name', 'Mensajes')) > 0): ?>
|
||||
<!-- Messages -->
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("serviciosmensajeria/mensajes") ?>" class="menu-link">
|
||||
<i class="menu-icon tf-icons ti ti-message"></i>
|
||||
<div data-i18n="<?= lang("App.menu_mensajes") ?>"><?= lang("App.menu_mensajes") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
<?php
|
||||
/**
|
||||
* MENU MAQUETACION
|
||||
*/
|
||||
if (count(getArrayItem($menus, 'name', 'Maquetacion')) > 0): ?>
|
||||
<!-- Maquetacion -->
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("serviciosmaquetacion/maquetacion") ?>" class="menu-link">
|
||||
<i class="menu-icon tf-icons ti ti-ruler-2"></i>
|
||||
<div data-i18n="<?= lang("App.menu_maquetacion") ?>"><?= lang("App.menu_maquetacion") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
<?php
|
||||
/**
|
||||
* MENU DIGITALIZACIÓN
|
||||
@ -553,7 +537,7 @@
|
||||
<!-- Digitalization -->
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("serviciosdigitalizacion/digitalizacion") ?>" class="menu-link">
|
||||
<i class="menu-icon tf-icons ti ti-file-dollar"></i>
|
||||
<i class="menu-icon tf-icons ti ti-file-code-2"></i>
|
||||
<div data-i18n="<?= lang("App.menu_digitalizacion") ?>"><?= lang("App.menu_digitalizacion") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
@ -561,63 +545,24 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="menu-header small text-uppercase">
|
||||
<span class="menu-header-text">Ajustes del Sistema</span>
|
||||
</li>
|
||||
|
||||
<?php
|
||||
/**
|
||||
* MENU PROVEEDORES
|
||||
* MENU AJUSTES
|
||||
*/
|
||||
if (count(getArrayItem($menus, 'name', 'Proveedor')) > 0): ?>
|
||||
<!-- Providers -->
|
||||
if (count(getArrayItem($menus, 'name', 'Settings')) > 0): ?>
|
||||
<!-- Settings -->
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("proveedores/proveedor") ?>" class="menu-link">
|
||||
<i class="menu-icon tf-icons ti ti-file-dollar"></i>
|
||||
<div data-i18n="<?= lang("App.menu_proveedores") ?>"><?= lang("App.menu_proveedores") ?></div>
|
||||
<a href="<?= site_url("settings")?>" class="menu-link">
|
||||
<i class="menu-icon tf-icons ti ti-settings""></i>
|
||||
<div data-i18n="<?= lang("App.menu_settings") ?>"><?= lang("App.menu_settings") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
/**
|
||||
* MENU USUARIOS
|
||||
*/
|
||||
if (allowMenuSection($menus, ['Users', 'Group'], 'index')): ?>
|
||||
<!-- Users -->
|
||||
<li class="menu-item">
|
||||
<a href="javascript:void(0);" class="menu-link menu-toggle">
|
||||
<i class="menu-icon tf-icons ti ti-file-dollar"></i>
|
||||
<div data-i18n="<?= lang("App.menu_users") ?>"><?= lang("App.menu_users") ?></div>
|
||||
</a>
|
||||
<ul class="menu-sub">
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Users')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("usuarios/users") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_users") ?>"><?= lang("App.menu_users") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<?php if (count($temp = getArrayItem($menus, 'name', 'Group')) > 0): ?>
|
||||
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("usuarios/group") ?>" class="menu-link">
|
||||
<div data-i18n="<?= lang("App.menu_permission_group") ?>"><?= lang("App.menu_permission_group") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</ul>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php
|
||||
/**
|
||||
* MENU ACTIVIDAD
|
||||
@ -626,72 +571,13 @@
|
||||
<!-- Activity -->
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("activity") ?>" class="menu-link">
|
||||
<i class="menu-icon tf-icons ti ti-article""></i>
|
||||
<i class="menu-icon tf-icons ti ti-fingerprint""></i>
|
||||
<div data-i18n="<?= lang("App.menu_activity") ?>"><?= lang("App.menu_activity") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php
|
||||
/**
|
||||
* MENU AJUSTES
|
||||
*/
|
||||
if (count(getArrayItem($menus, 'name', 'Settings')) > 0): ?>
|
||||
<!-- Settings -->
|
||||
<li class="menu-header small text-uppercase">
|
||||
<span class="menu-header-text">Ajustes del Sistema</span>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="<?= site_url("settings")?>" class="menu-link">
|
||||
<i class="menu-icon tf-icons ti ti-settings""></i>
|
||||
<div data-i18n="<?= lang("App.menu_settings") ?>"><?= lang("App.menu_settings") ?></div>
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
</ul>
|
||||
</aside>
|
||||
<!-- / Menu -->
|
||||
|
||||
<?php /*
|
||||
|
||||
|
||||
<!--Sidebar-->
|
||||
<div class="quixnav">
|
||||
<div class="quixnav-scroll">
|
||||
<ul class="metismenu" id="menu">
|
||||
|
||||
<!---
|
||||
<?php if (count(getArrayItem($menus,'name','Notification')) > 0): ?>
|
||||
<li><a class="has-arrow" href="Javascript:void()" aria-expanded="false"><i class="fas fa-bell"></i><span class="nav-text"><?= lang("App.menu_notification") ?></span></a>
|
||||
<ul aria-expanded="false">
|
||||
<?php if (count(getArrayItem($menus,'methods','index',true)) > 0): ?>
|
||||
<li><a href="<?= site_url("notification")?>"><?= lang("App.menu_list") ?></a></li>
|
||||
<?php endif; ?>
|
||||
<?php if (count(getArrayItem($menus,'methods','add',true)) > 0): ?>
|
||||
<li><a href="<?= site_url("notification/add")?>"><?= lang("App.menu_add") ?></a></li>
|
||||
<?php endif; ?>
|
||||
</ul>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php if (count(getArrayItem($menus,'name','Settings')) > 0): ?>
|
||||
<li class="nav-label"><?= lang("App.menu_settings") ?></li>
|
||||
<?php if (count(getArrayItem($menus,'methods','index',true)) > 0): ?>
|
||||
<li><a href="<?= site_url("settings")?>" aria-expanded="false"><i class="fas fa-sliders-h"></i><span class="nav-text"><?= lang("App.menu_general") ?></span></a></li>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php if (count(getArrayItem($menus,'methods','template',true)) > 0): ?>
|
||||
<li><a href="<?= site_url("settings/template")?>" aria-expanded="false"><i class="fas fa-mail-bulk"></i><span class="nav-text"><?= lang("App.menu_template") ?></span></a></li>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
<li class="nav-label"></li>
|
||||
--->
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
*/
|
||||
?>
|
||||
<!-- / Menu -->
|
||||
15
ci4/app/Views/themes/backend/vuexy/main/selector_menu.php
Normal file
15
ci4/app/Views/themes/backend/vuexy/main/selector_menu.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
|
||||
$session = session();
|
||||
$viewMode = $session->get('view_mode');
|
||||
|
||||
if ($viewMode == config("Basics")->vista_impresion) {
|
||||
|
||||
include "menu_impresion.php";
|
||||
|
||||
}else{
|
||||
include "menu.php";
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user