haciendo el buscador

This commit is contained in:
2025-02-19 15:00:20 +01:00
parent 1da50e9f01
commit fea409b5ad
6 changed files with 246 additions and 38 deletions

View File

@ -2,6 +2,7 @@
namespace App\Controllers\Soporte;
use App\Models\Sistema\SettingsModel;
use App\Models\Soporte\TicketModel;
use App\Models\CategoriaModel;
use App\Models\EstadoModel;
@ -25,7 +26,7 @@ class Ticketcontroller extends \App\Controllers\BaseResourceController
protected static $viewPath = 'themes/vuexy/form/soporte/';
protected $indexRoute = 'ticketList';
protected $indexRoute = 'TicketIndex';
public function initController(\CodeIgniter\HTTP\RequestInterface $request, \CodeIgniter\HTTP\ResponseInterface $response, \Psr\Log\LoggerInterface $logger)
@ -57,6 +58,48 @@ class Ticketcontroller extends \App\Controllers\BaseResourceController
return view(static::$viewPath . 'viewTicketList', $viewData);
}
private function sendMail($subject,$body,$recipient)
{
$settings_model = new SettingsModel();
$config = $settings_model->first()->toArray();
$gateway = $config['email_gateway'];
$body = html_entity_decode($body);
if($gateway == 'smtp'){
try {
//https://codeigniter.com/user_guide/libraries/email.html
$email = \Config\Services::email();
$config['protocol'] = $config['email_gateway'];
$config['SMTPHost'] = $config['email_smtp'];
$config['SMTPUser'] = $config['email_address'];
$config['SMTPPass'] = $config['email_pass'];
$config['SMTPPort'] = intval($config['email_port']);
$config['SMTPCrypto'] = $config['email_cert']=='none'?'':$config['email_cert'];
$config['SMTPTimeout'] = 15;
$config['mailType'] = 'html';
$config['wordWrap'] = true;
$email->initialize($config);
$email->setFrom($config['email_address'], $config['email_name']);
$email->setTo($recipient);
$email->setSubject($subject);
$email->setMessage($body);
if (!$email->send())
{
return false;
}else{
return true;
}
} catch (\Exception $ex) {
return false;
}
}
return false;
}
public function add()
{
@ -100,6 +143,10 @@ class Ticketcontroller extends \App\Controllers\BaseResourceController
$message = lang('Basic.global.saveSuccess', [lang('Basic.global.record')]) . '.';
$userModel = new \App\Models\UserModel();
$this->sendMail(lang('Tickets.newTicket'), lang('Tickets.newTicketBody') . base_url(route_to('editTicket', $id)), $userModel->find($sanitizedData['supportUser'])->email);
if ($thenRedirect) :
if (!empty($this->indexRoute)) :
return redirect()->to(route_to($this->indexRoute))->with('successMessage', $message);