Rev 6849 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?php/**** Controlador: Mis Perfiles**/declare(strict_types=1);namespace LeadersLinked\Controller;use Laminas\Db\Adapter\AdapterInterface;use Laminas\Cache\Storage\Adapter\AbstractAdapter;use Laminas\Mvc\Controller\AbstractActionController;use Laminas\Log\LoggerInterface;use Laminas\View\Model\ViewModel;use Laminas\View\Model\JsonModel;use LeadersLinked\Form\Help\SendForm;use LeadersLinked\Mapper\CompanyMapper;use LeadersLinked\Mapper\CompanyUserMapper;use LeadersLinked\Mapper\UserMapper;use LeadersLinked\Model\Email;use LeadersLinked\Mapper\EmailMapper;class HelpController extends AbstractActionController{/**** @var AdapterInterface*/private $adapter;/**** @var AbstractAdapter*/private $cache;/**** @var LoggerInterface*/private $logger;/**** @var array*/private $config;/**** @param AdapterInterface $adapter* @param AbstractAdapter $cache* @param LoggerInterface $logger* @param array $config*/public function __construct($adapter, $cache , $logger, $config){$this->adapter = $adapter;$this->cache = $cache;$this->logger = $logger;$this->config = $config;}/**** Generación del listado de perfiles* {@inheritDoc}* @see \Laminas\Mvc\Controller\AbstractActionController::indexAction()*/public function indexAction(){$this->layout()->setTemplate('layout/layout.phtml');$viewModel = new ViewModel();$viewModel->setTemplate('leaders-linked/help/index.phtml');return $viewModel ;}public function sendAction(){$request = $this->getRequest();if($request->isPost()) {$currentUserPlugin = $this->plugin('currentUserPlugin');$currentUser = $currentUserPlugin->getUser();$data = array_merge($request->getPost()->toArray(), $request->getFiles()->toArray());$form = new SendForm();$form->setData($data);if($form->isValid()) {$subject = $form->get('subject')->getValue();$message = $form->get('message')->getValue();$message = "<p>Nombre : {$currentUser->first_name} </p>" ."<p>Apellido : {$currentUser->last_name} </p>" ."<p>Email : {$currentUser->email} </p>" .$message;$email = new Email();$email->content = json_encode(['to_address' => 'ayuda@leaderslinked.com','to_name' => 'Soporte del Sitio Web','cc' => [],'bcc' => [],'subject' => $subject,'message' => $message,]);$email->status = Email::STATUS_PENDING;$email->tried = 0;$emailMapper = EmailMapper::getInstance($this->adapter);$result = $emailMapper->insert($email);if($result) {return new JsonModel(['success' => true,'data' => 'LABEL_HELP_SENT_SUCCESSFULLY']);} else {return new JsonModel(['success' => false,'data' => 'ERROR_UNKNOWN']);}} else {$messages = [];$form_messages = (array) $form->getMessages();foreach($form_messages as $fieldname => $field_messages){$messages[$fieldname] = array_values($field_messages);}return new JsonModel(['success' => false,'data' => $messages]);}} else {return new JsonModel(['success' => false,'data' => 'ERROR_METHOD_NOT_ALLOWED']);}}}