mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
avances de hoy
This commit is contained in:
80
ci4/app/Controllers/Mensajeria/MensajesDirectos.php
Normal file
80
ci4/app/Controllers/Mensajeria/MensajesDirectos.php
Normal file
@ -0,0 +1,80 @@
|
||||
<?php namespace App\Controllers\Mensajeria;
|
||||
|
||||
|
||||
use App\Controllers\BaseResourceController;
|
||||
use App\Entities\Mensajeria\ConversacionEntity;
|
||||
use App\Entities\Sistema\ActivityEntity;
|
||||
use App\Models\CollectionModel;
|
||||
use App\Models\Mensajeria\ConversacionModel;
|
||||
use App\Models\Sistema\ActivityModel;
|
||||
|
||||
class MensajesDirectos extends BaseResourceController
|
||||
{
|
||||
|
||||
protected $modelName = ConversacionModel::class;
|
||||
protected $format = 'json';
|
||||
|
||||
protected static $controllerSlug = 'mensajes-internos';
|
||||
|
||||
protected static $viewPath = 'themes/vuexy/form/mensajes/';
|
||||
|
||||
protected static $indexRoute = 'mensajesView';
|
||||
|
||||
|
||||
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger)
|
||||
{
|
||||
$this->viewData['pageTitle'] = "Mensajeria interna";
|
||||
|
||||
// Breadcrumbs
|
||||
$this->viewData['breadcrumb'] = [
|
||||
['title' => "Home", 'route' => "javascript:void(0);", 'active' => false],
|
||||
['title' => lang("App.menu_mensajes"), 'route' => route_to('mensajeriaView'), 'active' => true]
|
||||
];
|
||||
|
||||
parent::initController($request, $response, $logger);
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
|
||||
// Modelos
|
||||
$participantModel = model('App\Models\Mensajeria\ParticipanteModel');
|
||||
|
||||
|
||||
$viewData = [
|
||||
'pageSubTitle' => lang('Basic.global.ManageAllRecords', [lang('Paises.pais')]),
|
||||
'conversacionesEntity' => new ConversacionEntity(),
|
||||
'usingServerSideDataTable' => true,
|
||||
];
|
||||
|
||||
//$viewData['conversaciones'] = $participantModel->getChatsByUser(auth()->user()->id);
|
||||
$viewData['conversaciones'] = $participantModel->getChatsByUser(639);
|
||||
|
||||
$viewData = array_merge($this->viewData, $viewData); // merge any possible values from the parent controller class
|
||||
|
||||
return view(static::$viewPath . static::$indexRoute, $viewData);
|
||||
}
|
||||
|
||||
|
||||
public function getChatInfo($conversacionId)
|
||||
{
|
||||
// Modelos
|
||||
$conversacionModel = model('App\Models\Mensajeria\ConversacionModel');
|
||||
|
||||
// Verificar si es una solicitud AJAX
|
||||
if ($this->request->isAJAX()) {
|
||||
// Obtener los datos
|
||||
$data = [
|
||||
'people' => $conversacionModel->getChatParticipants($conversacionId),
|
||||
'messages' => $conversacionModel->getChatMessages($conversacionId)
|
||||
];
|
||||
|
||||
// Devolver respuesta JSON
|
||||
return $this->respond($data, 200, 'Chat information retrieved successfully');
|
||||
} else {
|
||||
return $this->failForbidden('Only AJAX requests are allowed');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user