Rev 16769 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
<?phpdeclare(strict_types=1);namespace LeadersLinked\Controller;use Laminas\Db\Adapter\AdapterInterface;use Laminas\Mvc\Controller\AbstractActionController;use Laminas\Log\LoggerInterface;use Laminas\View\Model\JsonModel;use LeadersLinked\Mapper\CalendarEventMapper;use LeadersLinked\Mapper\CompanyFollowerMapper;use LeadersLinked\Mapper\CompanyServiceMapper;use LeadersLinked\Mapper\JobDescriptionMapper;use LeadersLinked\Mapper\PerformanceEvaluationFormMapper;use LeadersLinked\Mapper\PerformanceEvaluationTestMapper;use LeadersLinked\Mapper\QueryMapper;use LeadersLinked\Mapper\RecruitmentSelectionCandidateMapper;use LeadersLinked\Mapper\RecruitmentSelectionInterviewMapper;use LeadersLinked\Mapper\RecruitmentSelectionVacancyMapper;use LeadersLinked\Mapper\UserMapper;use LeadersLinked\Mapper\ZoomMeetingMapper;use LeadersLinked\Library\Functions;use LeadersLinked\Mapper\UserNotificationSettingMapper;use LeadersLinked\Model\CalendarEvent;use LeadersLinked\Model\PerformanceEvaluationTest;use LeadersLinked\Model\RecruitmentSelectionInterview;use LeadersLinked\Model\User;use LeadersLinked\Mapper\ConnectionMapper;use LeadersLinked\Mapper\ProfileVisitMapper;use LeadersLinked\Mapper\GroupMemberMapper;use LeadersLinked\Model\GroupMember;use LeadersLinked\Mapper\GroupMapper;use LeadersLinked\Model\Group;use Laminas\Db\Sql\Expression;use LeadersLinked\Mapper\CompanyUserMapper;use LeadersLinked\Model\CompanyUser;use LeadersLinked\Model\UserType;use LeadersLinked\Mapper\CompanyMicrolearningCapsuleUserMapper;use LeadersLinked\Model\Notification;use LeadersLinked\Mapper\NotificationMapper;use LeadersLinked\Mapper\EmailTemplateMapper;use LeadersLinked\Model\EmailTemplate;use LeadersLinked\Library\QueueEmail;use LeadersLinked\Mapper\PostMapper;use LeadersLinked\Mapper\CompanyMapper;use LeadersLinked\Model\Company;use LeadersLinked\Model\Connection;use LeadersLinked\Model\Service;use LeadersLinked\Mapper\DailyPulseEmojiMapper;use LeadersLinked\Mapper\UserProfileMapper;use LeadersLinked\Mapper\NetworkMapper;use LeadersLinked\Model\Network;use LeadersLinked\Mapper\LocationMapper;class HelperController extends AbstractActionController{/**** @var \Laminas\Db\Adapter\AdapterInterface*/private $adapter;/**** @var \LeadersLinked\Cache\CacheInterface*/private $cache;/**** @var \Laminas\Log\LoggerInterface*/private $logger;/**** @var array*/private $config;/**** @var \Laminas\Mvc\I18n\Translator*/private $translator;/**** @param \Laminas\Db\Adapter\AdapterInterface $adapter* @param \LeadersLinked\Cache\CacheInterface $cache* @param \Laminas\Log\LoggerInterface LoggerInterface $logger* @param array $config* @param \Laminas\Mvc\I18n\Translator $translator*/public function __construct($adapter, $cache, $logger, $config, $translator){$this->adapter = $adapter;$this->cache = $cache;$this->logger = $logger;$this->config = $config;$this->translator = $translator;}public function searchPeopleByCompanyAction(){$request = $this->getRequest();if ($request->isGet()) {$currentUserPlugin = $this->plugin('currentUserPlugin');$currentUser = $currentUserPlugin->getUser();$currentCompany = $currentUserPlugin->getCompany();$search = Functions::sanitizeFilterString($this->params()->fromQuery('search'));if (strlen($search) >= 3) {$userMapper = UserMapper::getInstance($this->adapter);$records = $userMapper->fetchAllByNetworkIdAndCompanyIdAndSearch($currentUser->network_id, $currentCompany->id, $search);$users = [];foreach ($records as $record) {array_push($users, ['id' => $record->uuid,'text' => trim($record->first_name . ' ' . $record->last_name) . ' (' . $record->email . ')']);}return new JsonModel(['success' => true,'data' => $users]);} else {return new JsonModel(['success' => true,'data' => []]);}} else {return new JsonModel(['success' => false,'data' => 'ERROR_METHOD_NOT_ALLOWED']);}}public function searchPeopleAction(){$request = $this->getRequest();if ($request->isGet()) {$currentUserPlugin = $this->plugin('currentUserPlugin');$currentUser = $currentUserPlugin->getUser();$search = Functions::sanitizeFilterString($this->params()->fromQuery('search'));if (strlen($search) >= 3) {$userMapper = UserMapper::getInstance($this->adapter);$records = $userMapper->fetchAllSuggestByNetworkIdAndSearch($currentUser->network_id, $search);$users = [];foreach ($records as $record) {if ($currentUser->id == $record->id) {continue;}array_push($users, ['id' => $record->uuid,'text' => trim($record->first_name . ' ' . $record->last_name) . ' (' . $record->email . ')']);}return new JsonModel(['success' => true,'data' => $users]);} else {return new JsonModel(['success' => true,'data' => []]);}} else {return new JsonModel(['success' => false,'data' => 'ERROR_METHOD_NOT_ALLOWED']);}}}