Menus laterales

This commit is contained in:
imnavajas
2023-06-05 15:30:42 +02:00
parent 614487f17f
commit 7a2c4026f1
23 changed files with 998 additions and 1380 deletions

View File

@ -24,68 +24,72 @@ namespace Config;
use CodeIgniter\Config\BaseConfig; use CodeIgniter\Config\BaseConfig;
class Basics extends BaseConfig { class Basics extends BaseConfig
{
public $appName = 'Safekat'; public $appName = 'Safekat';
public $i18n = 'es-ES'; public $i18n = 'es-ES';
public $languages = [
'en' => 'English',
'es' => 'Spanish',
];
public $languageFlags = [ public $vista_impresion = 'impresion';
'en' => 'us', public $vista_maquetacion = 'maquetacion';
'es' => 'es', public $vista_digitalizacion = 'digitalizacion';
];
public $languages = [
'en' => 'English',
'es' => 'Spanish',
];
public $authImplemented = false; public $languageFlags = [
'en' => 'us',
'es' => 'es',
];
public $authImplemented = false;
public $theme = [ public $theme = [
'name' => 'vuexy', 'name' => 'vuexy',
'body-sm' => false, 'body-sm' => false,
'navbar' => [ 'navbar' => [
'bg' => 'gray', 'bg' => 'gray',
'type' => 'dark', 'type' => 'dark',
'border' => true, 'border' => true,
'user' => [ 'user' => [
'visible' => true, 'visible' => true,
'shadow' => 0, 'shadow' => 0,
], ],
], ],
'sidebar' => [ 'sidebar' => [
'type' => 'dark', 'type' => 'dark',
'shadow' => 4, 'shadow' => 4,
'border' => false, 'border' => false,
'compact' => true, 'compact' => true,
'links' => [ 'links' => [
'bg' => 'black', // only works with AdminLTE theme 'bg' => 'black', // only works with AdminLTE theme
'shadow' => 1, 'shadow' => 1,
], ],
'brand' => [ 'brand' => [
'bg' => 'gray-dark', 'bg' => 'gray-dark',
'logo' => [ 'logo' => [
'icon' => 'favicon.ico', // path to image | this example icon on public root folder. 'icon' => 'favicon.ico', // path to image | this example icon on public root folder.
'text' => 'sk_test', 'text' => 'sk_test',
'shadow' => 2, 'shadow' => 2,
], ],
], ],
'user' => [ 'user' => [
'visible' => true, 'visible' => true,
'shadow' => 2, 'shadow' => 2,
], ],
], ],
'footer' => [ 'footer' => [
'fixed' => false, 'fixed' => false,
'organization' => 'Your Awesome Company', 'organization' => 'Your Awesome Company',
'orglink' => 'https://www.ozar.net/', 'orglink' => 'https://www.ozar.net/',
], ],
]; ];
} }

View File

@ -29,6 +29,7 @@ $routes->setAutoRoute(true);
//------------------------------------------------------------------ //------------------------------------------------------------------
$routes->get('/', 'Home::index'); $routes->get('/', 'Home::index');
$routes->get('lang/{locale}', 'Language::index'); $routes->get('lang/{locale}', 'Language::index');
$routes->get('viewmode/(:alpha)', 'Viewmode::index/$1');
//API ROUTER ------------------------------------------------------ //API ROUTER ------------------------------------------------------
//------------------------------------------------------------------ //------------------------------------------------------------------
@ -75,7 +76,7 @@ $routes->group('tarifaacabado', ['namespace' => 'App\Controllers\Tarifas'], func
$routes->post('menuitems', 'Tarifaacabado::menuItems', ['as' => 'menuItemsOfTarifasacabado']); $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('', 'Users::index', ['as' => 'userList']);
$routes->get('index', 'Users::index', ['as' => 'userIndex']); $routes->get('index', 'Users::index', ['as' => 'userIndex']);
$routes->get('list', 'Users::index', ['as' => 'userList2']); $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->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('', 'Group::index', ['as' => 'userGroupList']);
$routes->get('index', 'Group::index', ['as' => 'groupIndex']); $routes->get('index', 'Group::index', ['as' => 'groupIndex']);
$routes->post('edit/(:num)', 'Group::edit/$1', ['as' => 'updateGroup']); $routes->post('edit/(:num)', 'Group::edit/$1', ['as' => 'updateGroup']);

View File

@ -1,21 +0,0 @@
<?php
namespace App\Controllers\Configuracion;
use App\Controllers\BaseController;
class Correo extends BaseController
{
function __construct()
{
}
public function index()
{
echo 'Correo';
}
}

View File

@ -1,4 +1,4 @@
<?php namespace App\Controllers\Usuarios; <?php namespace App\Controllers\Configuracion;
use App\Entities\Usuarios\UserGroupEntity; use App\Entities\Usuarios\UserGroupEntity;

View File

@ -1,4 +1,4 @@
<?php namespace App\Controllers\Usuarios; <?php namespace App\Controllers\Configuracion;
use App\Entities\Usuarios\UserEntity; use App\Entities\Usuarios\UserEntity;

View File

@ -12,7 +12,7 @@ class Language extends BaseController
$locale = $this->request->getLocale(); $locale = $this->request->getLocale();
$session->remove('lang'); $session->remove('lang');
$session->set('lang', $locale); $session->set('lang', $locale);
$url = base_url(); $url = previous_url();
return redirect()->to($url); return redirect()->to($url);
} }
} }

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Controllers\Compras; namespace App\Controllers\Servicioscompras;
use App\Controllers\BaseController; use App\Controllers\BaseController;
@ -16,7 +16,7 @@ class Compras extends BaseController
echo 'Compras'; echo 'Compras';
} }
public function configuracion() public function ajustes()
{ {
echo 'Compras'; echo 'Compras';
} }

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Controllers\Compras; namespace App\Controllers\Servicioscompras;
use App\Controllers\BaseController; use App\Controllers\BaseController;

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Controllers\Compras; namespace App\Controllers\Servicioscompras;
use App\Controllers\BaseController; use App\Controllers\BaseController;

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Controllers\ServiciosDigitalizacion; namespace App\Controllers\Serviciosdigitalizacion;
use App\Controllers\BaseController; use App\Controllers\BaseController;
@ -13,10 +13,7 @@ class Digitalizacion extends BaseController
public function index() public function index()
{ {
$uri = service('uri'); echo 'Digitalización';
$data['page_name'] = "Digitalizacion";
$data['url'] = base_url() . $uri->getSegment(1) . '/' . $uri->getSegment(2);
echo view(getenv('theme.path').'main/demo_view', $data);
} }

View 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';
}
}

View 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';
}
}

View 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);
}
}
}

View 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;
}
}

View 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);
}
}

View File

@ -107,15 +107,18 @@ class LoginAuthFilter implements FilterInterface
'Clientes', 'Clientes',
'Compras', 'Compras',
'Configuracion', 'Configuracion',
'ServiciosDigitalizacion', 'EnviosLogistica',
'Facturacion', 'Facturacion',
'Informes', 'Informes',
'Importacion', 'Importacion',
'EnviosLogistica',
'Pedidos', 'Pedidos',
'Presupuestos', 'Presupuestos',
'Produccion', 'Produccion',
'Proveedores', 'Proveedores',
'ServiciosCompras',
'ServiciosMaquetacion',
'ServiciosMensajeria',
'ServiciosDigitalizacion',
'Tarifas', 'Tarifas',
'Usuarios', 'Usuarios',
]; ];
@ -141,9 +144,10 @@ class LoginAuthFilter implements FilterInterface
'Integration', 'Integration',
'Migrate', 'Migrate',
'Test', 'Test',
'Viewmode',
'GoBaseController', 'GoBaseController',
'GoBaseResourceController', 'GoBaseResourceController',
'My', 'Activity', 'Notification' // PARA LA DEMO 'My', 'Usuarios', 'Notification' // PARA LA DEMO
]; ];
} }

View File

@ -692,6 +692,10 @@ return [
"menu_trabajo" => "Works", "menu_trabajo" => "Works",
"menu_trabajo" => "Tipologies", "menu_trabajo" => "Tipologies",
"menu_mensajes" => "Messages",
"menu_maquetacion" => "Maquetación",
"menu_digitalizacion" => "Digitalisation", "menu_digitalizacion" => "Digitalisation",
"menu_importacion" => "Import", "menu_importacion" => "Import",
@ -708,6 +712,12 @@ return [
"menu_logistica_tracking" => "Tracking", "menu_logistica_tracking" => "Tracking",
"menu_compras" => "Procurement",
"menu_compras_ajustes" => "Settings",
"menu_productos" => "Products",
"menu_proveedores" => "Providers",
"menu_facturación" => "Billing", "menu_facturación" => "Billing",
"menu_albaran" => "Delivery notes", "menu_albaran" => "Delivery notes",
"menu_facturas" => "Invoices", "menu_facturas" => "Invoices",

View File

@ -691,7 +691,11 @@ return [
"menu_tiposimpresion" => "Tipos de impresion", "menu_tiposimpresion" => "Tipos de impresion",
"menu_trabajo" => "Trabajos", "menu_trabajo" => "Trabajos",
"menu_tipologias" => "Tipologías", "menu_tipologias" => "Tipologías",
"menu_mensajes" => "Mensajes",
"menu_maquetacion" => "Maquetación",
"menu_digitalizacion" => "Digitalización", "menu_digitalizacion" => "Digitalización",
"menu_importacion" => "Importación", "menu_importacion" => "Importación",
@ -709,6 +713,11 @@ return [
"menu_logistica_tracking" => "Tracking", "menu_logistica_tracking" => "Tracking",
"menu_compras" => "Compras",
"menu_compras_ajustes" => "Ajustes",
"menu_productos" => "Productos",
"menu_proveedores" => "Proveedores",
"menu_facturación" => "Facturación", "menu_facturación" => "Facturación",
"menu_albaran" => "Albaranes", "menu_albaran" => "Albaranes",
@ -739,8 +748,6 @@ return [
"menu_pedidoproduccion" => "Pedidos", "menu_pedidoproduccion" => "Pedidos",
"menu_ordentrabajo" => "Orden de trabajo", "menu_ordentrabajo" => "Orden de trabajo",
"menu_proveedores" => "Proveedores",
"menu_tarifas" => "Tarifas", "menu_tarifas" => "Tarifas",
"menu_tarifapreimpresion" => "Preimpresión", "menu_tarifapreimpresion" => "Preimpresión",
"menu_tarifamanipulado" => "Manipulado", "menu_tarifamanipulado" => "Manipulado",
@ -758,7 +765,7 @@ return [
"menu_general" => "General", "menu_general" => "General",
"menu_logout" => "Salir", "menu_logout" => "Salir",
"menu_profile" => "Mi Perfil", "menu_profile" => "Mi Perfil",
"menu_activity" => "Ocupaciones", "menu_activity" => "Actividad",
"menu_notification" => "Notificaciones", "menu_notification" => "Notificaciones",
"menu_list" => "Lista", "menu_list" => "Lista",
"menu_add" => "Agregar", "menu_add" => "Agregar",

View File

@ -96,7 +96,7 @@ if (!empty($token) && $tfa == false) {
<div class="layout-wrapper layout-content-navbar"> <div class="layout-wrapper layout-content-navbar">
<div class="layout-container"> <div class="layout-container">
<?php include "menu_impresion.php" ?> <?php include "selector_menu.php" ?>
<!-- Layout container --> <!-- Layout container -->
<div class="layout-page"> <div class="layout-page">
@ -153,7 +153,8 @@ if (!empty($token) && $tfa == false) {
<div class="d-flex"> <div class="d-flex">
<div class="flex-shrink-0 me-3"> <div class="flex-shrink-0 me-3">
<div class="avatar"> <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> </div>
<div class="flex-grow-1"> <div class="flex-grow-1">
@ -197,7 +198,8 @@ if (!empty($token) && $tfa == false) {
<div class="d-flex"> <div class="d-flex">
<div class="flex-shrink-0 me-3"> <div class="flex-shrink-0 me-3">
<div class="avatar"> <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> </div>
<div class="flex-grow-1"> <div class="flex-grow-1">
@ -243,7 +245,8 @@ if (!empty($token) && $tfa == false) {
<div class="d-flex"> <div class="d-flex">
<div class="flex-shrink-0 me-3"> <div class="flex-shrink-0 me-3">
<div class="avatar"> <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> </div>
<div class="flex-grow-1"> <div class="flex-grow-1">
@ -289,7 +292,8 @@ if (!empty($token) && $tfa == false) {
<div class="d-flex"> <div class="d-flex">
<div class="flex-shrink-0 me-3"> <div class="flex-shrink-0 me-3">
<div class="avatar"> <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> </div>
<div class="flex-grow-1"> <div class="flex-grow-1">
@ -311,7 +315,8 @@ if (!empty($token) && $tfa == false) {
<div class="d-flex"> <div class="d-flex">
<div class="flex-shrink-0 me-3"> <div class="flex-shrink-0 me-3">
<div class="avatar"> <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> </div>
<div class="flex-grow-1"> <div class="flex-grow-1">
@ -367,9 +372,60 @@ if (!empty($token) && $tfa == false) {
</li> </li>
<!--/ Notification --> <!--/ 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 --> <!-- Language -->
<li class="nav-item dropdown-language dropdown me-2 me-xl-0"> <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> <i class="fi <?= getCurrentLanguageFlag(); ?> fis rounded-circle me-1 fs-3"></i>
</a> </a>
<ul class="dropdown-menu dropdown-menu-end"> <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> <span class="align-middle"><?= lang("App.menu_profile") ?></span>
</a> </a>
</li> </li>
<!-- <li>--> <!-- <li>-->
<!-- <a class="dropdown-item" href="#">--> <!-- <a class="dropdown-item" href="#">-->
<!-- <i class="ti ti-settings me-2 ti-sm"></i>--> <!-- <i class="ti ti-settings me-2 ti-sm"></i>-->
<!-- <span class="align-middle">Settings</span>--> <!-- <span class="align-middle">Settings</span>-->
<!-- </a>--> <!-- </a>-->
<!-- </li>--> <!-- </li>-->
<li> <li>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>

View File

@ -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>

View File

@ -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>

View File

@ -20,7 +20,7 @@
<li class="menu-item active"> <li class="menu-item active">
<a href="<?= site_url("") ?>" class="menu-link"> <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> <div data-i18n="<?= lang("App.menu_dashboard") ?>"><?= lang("App.menu_dashboard") ?></div>
</a> </a>
</li> </li>
@ -63,7 +63,7 @@
<?php <?php
/** /**
* MENU PRESUPUESTO * MENU PRESUPUESTOS
*/ */
if (allowMenuSection($menus, ['Presupuesto'], 'index')): ?> if (allowMenuSection($menus, ['Presupuesto'], 'index')): ?>
<!-- Budgets --> <!-- Budgets -->
@ -202,6 +202,7 @@
</li> </li>
<?php endif; ?> <?php endif; ?>
<?php <?php
/** /**
* MENU CATALOGO * MENU CATALOGO
@ -248,6 +249,7 @@
</li> </li>
<?php endif; ?> <?php endif; ?>
<?php <?php
/** /**
* MENU FACTURACION * MENU FACTURACION
@ -343,45 +345,99 @@
*/ */
if (allowMenuSection($menus, if (allowMenuSection($menus,
['Tarifapreimpresion', 'Tarifamanipulado', 'Tarifaacabado', 'Tarifaenvio'], 'index')): ?> ['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"> <li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle"> <a href="javascript:void(0);" class="menu-link menu-toggle">
<i class="menu-icon tf-icons ti ti-receipt"></i> <i class="menu-icon tf-icons ti ti-shopping-cart"></i>
<div data-i18n="<?= lang("App.menu_tarifas") ?>"><?= lang("App.menu_tarifas") ?></div> <div data-i18n="<?= lang("App.menu_compras") ?>"><?= lang("App.menu_compras") ?></div>
</a> </a>
<ul class="menu-sub"> <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): ?> <?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("tarifas/tarifapreimpresion") ?>" class="menu-link"> <a href="<?= site_url("servicioscompras/compras") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_tarifapreimpresion") ?>"><?= lang("App.menu_tarifapreimpresion") ?></div> <div data-i18n="<?= lang("App.menu_compras") ?>"><?= lang("App.menu_compras") ?></div>
</a> </a>
</li> </li>
<?php endif; ?> <?php endif; ?>
<?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): ?> <?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("tarifas/tarifamanipulado") ?>" class="menu-link"> <a href="<?= site_url("servicioscompras/productos") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_tarifamanipulado") ?>"><?= lang("App.menu_tarifamanipulado") ?></div> <div data-i18n="<?= lang("App.menu_productos") ?>"><?= lang("App.menu_productos") ?></div>
</a> </a>
</li> </li>
<?php endif; ?> <?php endif; ?>
<?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): ?> <?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("tarifas/tarifaacabado") ?>" class="menu-link"> <a href="<?= site_url("servicioscompras/proveedor") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_tarifaacabado") ?>"><?= lang("App.menu_tarifaacabado") ?></div> <div data-i18n="<?= lang("App.menu_proveedores") ?>"><?= lang("App.menu_proveedores") ?></div>
</a> </a>
</li> </li>
<?php endif; ?> <?php endif; ?>
<?php endif; ?> <?php endif; ?>
<?php if (count($temp = getArrayItem($menus, 'name', 'Tarifaenvio')) > 0): ?> <?php if (count($temp = getArrayItem($menus, 'name', 'Compras')) > 0): ?>
<?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?> <?php if (count(getArrayItem($temp, 'methods', 'ajustes', true)) > 0): ?>
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("tarifas/tarifaenvio") ?>" class="menu-link"> <a href="<?= site_url("servicioscompras/compras/ajustes") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_tarifaenvio") ?>"><?= lang("App.menu_tarifaenvio") ?></div> <div data-i18n="<?= lang("App.menu_compras_ajustes") ?>"><?= lang("App.menu_compras_ajustes") ?></div>
</a> </a>
</li> </li>
<?php endif; ?> <?php endif; ?>
@ -395,14 +451,10 @@
* MENU CONFIGURACION * MENU CONFIGURACION
*/ */
if (allowMenuSection($menus, if (allowMenuSection($menus,
['Calendario', 'Correo', 'Formaspago', 'Imposiciones', 'Tipologias', ['Calendario', 'Paises', 'Users', 'Group'], 'index')): ?>
'Maquina', 'Papelesgenerico', 'Papelesimpresion', 'Seriefactura', 'Serviciocliente',
'Tamanioformatos', 'Tamaniolibros', 'Tareaservicio', 'Tiposimpresion', 'Trabajo'
],
'index')): ?>
<li class="menu-item"> <li class="menu-item">
<a href="javascript:void(0);" class="menu-link menu-toggle"> <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> <div data-i18n="<?= lang("App.menu_configuration") ?>"><?= lang("App.menu_configuration") ?></div>
</a> </a>
<ul class="menu-sub"> <ul class="menu-sub">
@ -415,128 +467,29 @@
</li> </li>
<?php endif; ?> <?php endif; ?>
<?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): ?> <?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("configuracion/correo") ?>" class="menu-link"> <a href="<?= site_url("configuracion/paises") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_correo") ?>"><?= lang("App.menu_correo") ?></div> <div data-i18n="<?= lang("App.menu_paises") ?>"><?= lang("App.menu_paises") ?></div>
</a> </a>
</li> </li>
<?php endif; ?> <?php endif; ?>
<?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): ?> <?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("configuracion/formaspago") ?>" class="menu-link"> <a href="<?= site_url("configuracion/users") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_formaspago") ?>"><?= lang("App.menu_formaspago") ?></div> <div data-i18n="<?= lang("App.menu_users") ?>"><?= lang("App.menu_users") ?></div>
</a> </a>
</li> </li>
<?php endif; ?> <?php endif; ?>
<?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): ?> <?php if (count(getArrayItem($temp, 'methods', 'index', true)) > 0): ?>
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("configuracion/imposiciones") ?>" class="menu-link"> <a href="<?= site_url("configuracion/group") ?>" class="menu-link">
<div data-i18n="<?= lang("App.menu_imposiciones") ?>"><?= lang("App.menu_imposiciones") ?></div> <div data-i18n="<?= lang("App.menu_permission_group") ?>"><?= lang("App.menu_permission_group") ?></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> </a>
</li> </li>
<?php endif; ?> <?php endif; ?>
@ -545,6 +498,37 @@
</li> </li>
<?php endif; ?> <?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 <?php
/** /**
* MENU DIGITALIZACIÓN * MENU DIGITALIZACIÓN
@ -553,7 +537,7 @@
<!-- Digitalization --> <!-- Digitalization -->
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("serviciosdigitalizacion/digitalizacion") ?>" class="menu-link"> <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> <div data-i18n="<?= lang("App.menu_digitalizacion") ?>"><?= lang("App.menu_digitalizacion") ?></div>
</a> </a>
</li> </li>
@ -561,63 +545,24 @@
<li class="menu-header small text-uppercase">
<span class="menu-header-text">Ajustes del Sistema</span>
</li>
<?php <?php
/** /**
* MENU PROVEEDORES * MENU AJUSTES
*/ */
if (count(getArrayItem($menus, 'name', 'Proveedor')) > 0): ?> if (count(getArrayItem($menus, 'name', 'Settings')) > 0): ?>
<!-- Providers --> <!-- Settings -->
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("proveedores/proveedor") ?>" class="menu-link"> <a href="<?= site_url("settings")?>" class="menu-link">
<i class="menu-icon tf-icons ti ti-file-dollar"></i> <i class="menu-icon tf-icons ti ti-settings""></i>
<div data-i18n="<?= lang("App.menu_proveedores") ?>"><?= lang("App.menu_proveedores") ?></div> <div data-i18n="<?= lang("App.menu_settings") ?>"><?= lang("App.menu_settings") ?></div>
</a> </a>
</li> </li>
<?php endif; ?> <?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 <?php
/** /**
* MENU ACTIVIDAD * MENU ACTIVIDAD
@ -626,72 +571,13 @@
<!-- Activity --> <!-- Activity -->
<li class="menu-item"> <li class="menu-item">
<a href="<?= site_url("activity") ?>" class="menu-link"> <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> <div data-i18n="<?= lang("App.menu_activity") ?>"><?= lang("App.menu_activity") ?></div>
</a> </a>
</li> </li>
<?php endif; ?> <?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> </ul>
</aside> </aside>
<!-- / Menu --> <!-- / 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>
*/
?>

View 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";
}