public function emailContacts() { Logger::getLogger("AuieoATS")->info("emailContacts:start"); if ($this->_accessLevel == ACCESS_LEVEL_DEMO) { CommonErrors::fatal(COMMONERROR_PERMISSION, $this, 'Sorry, but demo accounts are not allowed to send e-mails.'); } if(isset($_REQUEST["idlist"])) { $db = DatabaseConnection::getInstance(); $idlist=trim($_REQUEST["idlist"]); $rs = $db->getAllAssoc(sprintf( 'SELECT contact_id, email1, email2 ' . 'FROM contact ' . 'WHERE contact_id IN (%s)', $idlist )); $emailTemplates = new EmailTemplates($this->_siteID); $emailTemplatesRS = $emailTemplates->getAll(); $this->_template->assign('emailTemplatesRS', $emailTemplatesRS); $this->_template->assign('active', $this); $this->_template->assign('success', false); $this->_template->assign('recipients', $rs); $this->_template->display('./modules/contacts/emailContacts.php'); } else { $dataGrid = DataGrid::getFromRequest(); $contactIDs = $dataGrid->getExportIDs(); /* Validate each ID */ foreach ($contactIDs as $index => $contactID) { if (!$this->isRequiredIDValid($index, $contactIDs)) { Logger::getLogger("AuieoATS")->error("Invalid contact ID."); CommonErrors::fatalModal(COMMONERROR_BADINDEX, $this, 'Invalid contact ID.'); return; } } $db_str = implode(", ", $contactIDs); $db = DatabaseConnection::getInstance(); $rs = $db->getAllAssoc(sprintf( 'SELECT contact_id, email1, email2 ' . 'FROM contact ' . 'WHERE contact_id IN (%s)', $db_str )); //$this->_template->assign('privledgedUser', $privledgedUser); $emailTemplates = new EmailTemplates($this->_siteID); $emailTemplatesRS = $emailTemplates->getAll(); $this->_template->assign('emailTemplatesRS', $emailTemplatesRS); $this->_template->assign('active', $this); $this->_template->assign('success', false); $this->_template->assign('recipients', $rs); $this->_template->display('./modules/contacts/emailContacts.php'); } Logger::getLogger("AuieoATS")->info("emailContacts:end"); }
private function onEmailSettings() { if ($this->_realAccessLevel < ACCESS_LEVEL_SA) { CommonErrors::fatal(COMMONERROR_PERMISSION, $this); return; //$this->fatal(ERROR_NO_PERMISSION); } $mailerSettings = new MailerSettings($this->_siteID); $mailerSettingsRS = $mailerSettings->getAll(); foreach ($mailerSettingsRS as $setting => $value) { if (isset($_POST[$setting])) { $mailerSettings->set($setting, $_POST[$setting]); } } $candidateJoborderStatusSendsMessage = unserialize($mailerSettingsRS['candidateJoborderStatusSendsMessage']); $candidateJoborderStatusSendsMessage[PIPELINE_STATUS_CONTACTED] = UserInterface::isChecked('statusChangeContacted', $_POST) ? 1 : 0; $candidateJoborderStatusSendsMessage[PIPELINE_STATUS_CANDIDATE_REPLIED] = UserInterface::isChecked('statusChangeReplied', $_POST) ? 1 : 0; $candidateJoborderStatusSendsMessage[PIPELINE_STATUS_QUALIFYING] = UserInterface::isChecked('statusChangeQualifying', $_POST) ? 1 : 0; $candidateJoborderStatusSendsMessage[PIPELINE_STATUS_SUBMITTED] = UserInterface::isChecked('statusChangeSubmitted', $_POST) ? 1 : 0; $candidateJoborderStatusSendsMessage[PIPELINE_STATUS_INTERVIEWING] = UserInterface::isChecked('statusChangeInterviewing', $_POST) ? 1 : 0; $candidateJoborderStatusSendsMessage[PIPELINE_STATUS_OFFERED] = UserInterface::isChecked('statusChangeOffered', $_POST) ? 1 : 0; $candidateJoborderStatusSendsMessage[PIPELINE_STATUS_CLIENTDECLINED] = UserInterface::isChecked('statusChangeDeclined', $_POST) ? 1 : 0; $candidateJoborderStatusSendsMessage[PIPELINE_STATUS_PLACED] = UserInterface::isChecked('statusChangePlaced', $_POST) ? 1 : 0; $mailerSettings->set('candidateJoborderStatusSendsMessage', serialize($candidateJoborderStatusSendsMessage)); $emailTemplates = new EmailTemplates($this->_siteID); $emailTemplatesRS = $emailTemplates->getAll(); foreach ($emailTemplatesRS as $index => $data) { $emailTemplates->updateIsActive($data['emailTemplateID'], UserInterface::isChecked('useThisTemplate' . $data['emailTemplateID'], $_POST) ? 0 : 1); } $this->_template->assign('active', $this); CATSUtility::transferRelativeURI('m=settings&a=administration'); }
public function onEmailCandidates() { if ($this->_accessLevel == ACCESS_LEVEL_DEMO) { CommonErrors::fatal(COMMONERROR_PERMISSION, $this, 'Sorry, but demo accounts are not allowed to send e-mails.'); } Logger::getLogger("AuieoATS")->info("inside onEmailCandidates"); if (isset($_POST['postback'])) { $templateid = $_POST['titleSelect']; $emailTo = $_POST['emailTo']; $emailSubject = $_POST['emailSubject']; $idlist=$_POST["idlist"]; $obj=json_decode(urldecode($idlist),true); foreach($obj as $candid=>$details) { $emailBody = $_POST['emailBody']; $emailData=array(); $emailData["id"]=$candid; $emailData["email"]=array(); foreach($details["email"] as $emailind=>$data) { //$objTemplate=new EmailTemplates($this->_siteID); //$rowTemplate=$objTemplate->get($templateid); $emailBody=$this->renderTemplateVars($emailBody, $candid); $tmpDestination = $data["email"]; $emailData["email"][]=array("email"=>$tmpDestination,"name"=>$tmpDestination); $mailer = new Mailer($this->_siteID); // FIXME: Use sendToOne()? $mailerStatus = $mailer->send( array($_SESSION['CATS']->getEmail(), $_SESSION['CATS']->getEmail()), $emailData, $emailSubject, $emailBody, true, true ); } } $this->_template->assign('active', $this); $this->_template->assign('success_to', $emailTo); if($mailer->getError()) { $this->_template->assign('error', $mailer->getError()); $this->_template->display('./modules/candidates/emailFail.php'); } else { $this->_template->assign('success', true); $this->_template->display('./modules/candidates/emailSuccess.php'); } return; } else { if(isset($_REQUEST["idlist"])) { $db = DatabaseConnection::getInstance(); $idlist=trim($_REQUEST["idlist"]); $rs = $db->getAllAssoc(sprintf( 'SELECT candidate_id, email1, email2, last_name, first_name ' . 'FROM candidate ' . 'WHERE candidate_id IN (%s)', $idlist )); $emailTemplates = new EmailTemplates($this->_siteID); $emailTemplatesRS = $emailTemplates->getAll(); $this->_template->assign('emailTemplatesRS', $emailTemplatesRS); $this->_template->assign('active', $this); $this->_template->assign('success', true); $this->_template->assign('recipients', $rs); $this->_template->display('./modules/candidates/emailCandidates.php'); return; } else { $dataGrid = DataGrid::getFromRequest(); $candidateIDs = $dataGrid->getExportIDs(); /* Validate each ID */ foreach ($candidateIDs as $index => $candidateID) { if (!$this->isRequiredIDValid($index, $candidateIDs)) { CommonErrors::fatalModal(COMMONERROR_BADINDEX, $this, 'Invalid candidate ID.'); return; } } $db_str = implode(", ", $candidateIDs); $db = DatabaseConnection::getInstance(); $rs = $db->getAllAssoc(sprintf( 'SELECT candidate_id, email1, email2, last_name, first_name ' . 'FROM candidate ' . 'WHERE candidate_id IN (%s)', $db_str )); if(!$mailerStatus) { CommonErrors::fatal(COMMONERROR_EMAILFAILED, NULL, $mailer->getError()); } $this->_template->assign('active', $this); $this->_template->assign('success', true); $this->_template->assign('success_to', $emailTo); $this->_template->display('./modules/candidates/emailSuccess.php'); //$arrTpl["privledgedUser"]=$privledgedUser; /*$emailTemplates = new EmailTemplates($this->_siteID); $emailTemplatesRS = $emailTemplates->getAll(); $arrTpl["emailTemplatesRS"]=$emailTemplatesRS; $arrTpl["active"]=$this; $arrTpl["success"]=false; $arrTpl["recipients"]=$rs; return $arrTpl;*/ } } }