viewDir = 'Public';
}
public function beforeRender($content=null) {
return false;
}
public function getGloablJs() {
return $this->setView('getGloablJs');
}
public function recoveryPassword() {
$email = $this->getPost('email', '');
$validate = $this->utility->validateEmail($email);
if (!$validate) {
return $this->setRawJsonResponse('err', null);
}
$user = $this->db->where('email', $email, 'like')->getOne('users');
if (is_array($user) && !empty($user)) {
$passwd = uniqid();
$encrPasswd = md5($passwd);
$upadate = $this->db->where('id', $user['id'])->update('users', ['password'=>$encrPasswd]);
if ($upadate) {
$recipientName = ucwords(strtolower($user['name'].' '.$user['surname']));
$recipientUsername = $user['username'];
$loginPage = ''.$this->config['settings']['email']['footer-home-link'].'';
$defaultGreeting = $this->config['settings']['email']['final-greeting'];
$mailID = uniqid();
$mailContent = _("Dear %s,
you've just requested a Temporary Password:
Username: %s
Password: %s
Login Page: %s
After logging in, you can change the password in your Profile page.
%s");
$mailSubject = _('Password recovery');
$mailHTML = $this->partial('Message/Email/template', ['mailID'=>$mailID, 'body'=>vsprintf($mailContent, [$recipientName, $recipientUsername, $passwd, $loginPage, $defaultGreeting]), 'showTemplate'=>true]);
$this->notification->sendEmail($email, $mailSubject, $mailHTML, $mailID);
} else {
return $this->setRawJsonResponse('err', null);
}
} else{
return $this->setRawJsonResponse('err', null);
}
return $this->setRawJsonResponse('ok', null, []);
}
public function emailPreview() {
$args = func_get_args();
$emailId = isset($args[0]['id']) ? $args[0]['id'] : null;
$mailResult = $this->db->where('id', $emailId)->getOne('log_notifications');
$mailBody = isset($mailResult['mail_body']) ? $mailResult['mail_body'] : null;
$showTemplate = is_null($mailBody) ? true : false;
$mailBody = is_null($mailBody) ? _('Invalid e-mail content.') : $mailBody;
$this->view->html = $this->partial('Message/Email/template', ['mailID'=>$emailId, 'body'=>$mailBody, 'showTemplate'=>$showTemplate]);
return $this->setView('emailPreview');
}
public function showAttachementsInDream() {
$request_code = $this->getPost('request_code', null);
$handleRequest = new HandleRequest();
$this->view->request = [];
$this->view->attachments = [];
$this->view->groupedAttachments = [];
$this->actionTitle = 'Request';
$this->view->patientInfo = '';
if (!is_null($request_code)) {
$request = $this->db
->join('requests_registry rr', 'rr.request_id=r.id')
->where('r.unique_code', $request_code)
->getOne('requests r', "r.*, rr.name patient_name, rr.surname patient_surname, rr.birthdate patient_dob");
if (isset($request['id'])) {
$this->actionTitle = 'Request #'.$request['id'];
$this->view->patientInfo = $request['patient_surname'].' '.$request['patient_name'].', '.$this->helper->getDateString($request['patient_dob'], false);
$this->view->request = $request;
$this->view->attachments = $handleRequest->getAttachmentsByRequestId($request['id']);
//Group attachments by date
if (is_array($this->view->attachments) && !empty($this->view->attachments)) {
foreach($this->view->attachments as $attachment) {
//$ext = $this->helper->getExtension($attachment['file_name']);
$attachment['previewType'] = $this->helper->getPreviewType($attachment['file_name']);
$this->view->groupedAttachments[date('Y-m-d 00:00:00', strtotime($attachment['created_at']))][] = $attachment;
}
if (!empty($this->view->groupedAttachments)) {
foreach($this->view->groupedAttachments as $ext => $attachList) {
sort($attachList);
$this->view->groupedAttachments[$ext] = $attachList;
}
}
}
}
}
return $this->setJsonView('showAttachementsInDream');
}
}