mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
80 lines
2.7 KiB
PHP
Executable File
80 lines
2.7 KiB
PHP
Executable File
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use App\Models\NotificationModel;
|
|
use App\Models\SettingsModel;
|
|
use CodeIgniter\Controller;
|
|
use CodeIgniter\HTTP\CLIRequest;
|
|
use CodeIgniter\HTTP\IncomingRequest;
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
use Psr\Log\LoggerInterface;
|
|
|
|
/**
|
|
* Class BaseController
|
|
*
|
|
* BaseController provides a convenient place for loading components
|
|
* and performing functions that are needed by all your controllers.
|
|
* Extend this class in any new controllers:
|
|
* class Home extends BaseController
|
|
*
|
|
* For security be sure to declare any new methods as protected or private.
|
|
*/
|
|
class BaseController extends Controller
|
|
{
|
|
/**
|
|
* Instance of the main Request object.
|
|
*
|
|
* @var CLIRequest|IncomingRequest
|
|
*/
|
|
protected $request;
|
|
|
|
/**
|
|
* An array of helpers to be loaded automatically upon
|
|
* class instantiation. These helpers will be available
|
|
* to all other controllers that extend BaseController.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $helpers = ['general','jwt'];
|
|
|
|
/**
|
|
* Constructor.
|
|
*/
|
|
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
|
{
|
|
// Do Not Edit This Line
|
|
parent::initController($request, $response, $logger);
|
|
|
|
// Preload any models, libraries, etc, here.
|
|
|
|
// E.g.: $this->session = \Config\Services::session();
|
|
$session = \Config\Services::session();
|
|
|
|
// Language Validate
|
|
$language = \Config\Services::language();
|
|
$language->setLocale($session->lang);
|
|
|
|
// Set TimeZone
|
|
if(empty($session->get('settings'))){
|
|
$settingsModel = new SettingsModel();
|
|
$settings = $settingsModel->select('default_timezone')->first()??[];
|
|
date_default_timezone_set($settings['default_timezone']??'America/Sao_Paulo');
|
|
}else{
|
|
date_default_timezone_set($session->get('settings')['default_timezone']??'America/Sao_Paulo');
|
|
}
|
|
|
|
// Get notification
|
|
if(!empty($session->get('token'))) {
|
|
$notificationModel = new NotificationModel();
|
|
$pulse = $notificationModel->where('user_recipient',$session->get('token'))->where('is_read',false)->countAllResults() ?? 0;
|
|
$notification = $notificationModel->select('token,title,is_read,created_at')->where('user_recipient',$session->get('token'))->orderBy('created_at','desc')->findAll(5) ?? [];
|
|
$session->set('notification', $notification);
|
|
$session->set('pulse', $pulse);
|
|
}else{
|
|
$session->set('notification', []);
|
|
$session->set('pulse', 0);
|
|
}
|
|
}
|
|
} |