/** * Function to fetch the template text/html messages */ function template() { $templateId = CRM_Utils_Type::escape($_POST['tid'], 'Integer'); $messageTemplate = new CRM_Core_DAO_MessageTemplates(); $messageTemplate->id = $templateId; $messageTemplate->selectAdd(); $messageTemplate->selectAdd('msg_text, msg_html, msg_subject, pdf_format_id'); $messageTemplate->find(TRUE); $messages = array('subject' => $messageTemplate->msg_subject, 'msg_text' => $messageTemplate->msg_text, 'msg_html' => $messageTemplate->msg_html, 'pdf_format_id' => $messageTemplate->pdf_format_id); echo json_encode($messages); CRM_Utils_System::civiExit(); }
/** * This function sets the default values for the form. * the default values are retrieved from the database * * @access public * * @return None */ function setDefaultValues() { $mailingID = CRM_Utils_Request::retrieve('mid', 'Integer', $this, FALSE, NULL); //need to differentiate new/reuse mailing, CRM-2873 $reuseMailing = FALSE; if ($mailingID) { $reuseMailing = TRUE; } else { $mailingID = $this->_mailingID; } $count = $this->get('count'); $this->assign('count', $count); $this->set('skipTextFile', FALSE); $defaults = array(); if ($mailingID) { $dao = new CRM_Mailing_DAO_Mailing(); $dao->id = $mailingID; $dao->find(TRUE); $dao->storeValues($dao, $defaults); //we don't want to retrieve template details once it is //set in session $templateId = $this->get('template'); $this->assign('templateSelected', $templateId ? $templateId : 0); if (isset($defaults['msg_template_id']) && !$templateId) { $defaults['template'] = $defaults['msg_template_id']; $messageTemplate = new CRM_Core_DAO_MessageTemplates(); $messageTemplate->id = $defaults['msg_template_id']; $messageTemplate->selectAdd(); $messageTemplate->selectAdd('msg_text'); $messageTemplate->find(TRUE); $defaults['text_message'] = $messageTemplate->msg_text; } if (isset($defaults['body_text'])) { $defaults['text_message'] = $defaults['body_text']; $this->set('textFile', $defaults['body_text']); $this->set('skipTextFile', TRUE); } } //fix for CRM-2873 if (!$reuseMailing) { $textFilePath = $this->get('textFilePath'); if ($textFilePath && file_exists($textFilePath)) { $defaults['text_message'] = file_get_contents($textFilePath); if (strlen($defaults['text_message']) > 0) { $this->set('skipTextFile', TRUE); } } } $defaults['upload_type'] = 1; return $defaults; }
/** * Function to fetch the template text/html messages */ function template() { require_once 'CRM/Utils/Type.php'; $templateId = CRM_Utils_Type::escape($_POST['tid'], 'Integer'); require_once "CRM/Core/DAO/MessageTemplates.php"; $messageTemplate = new CRM_Core_DAO_MessageTemplates(); $messageTemplate->id = $templateId; $messageTemplate->selectAdd(); $messageTemplate->selectAdd('msg_text, msg_html, msg_subject'); $messageTemplate->find(true); $messages = array('subject' => $messageTemplate->msg_subject, 'msg_text' => $messageTemplate->msg_text, 'msg_html' => $messageTemplate->msg_html); echo json_encode($messages); CRM_Utils_System::civiExit(); }
/** * This function sets the default values for the form. * the default values are retrieved from the database * * @access public * @return None */ function setDefaultValues() { $mailingID = CRM_Utils_Request::retrieve('mid', 'Integer', $this, false, null); //need to differentiate new/reuse mailing, CRM-2873 $reuseMailing = false; if ($mailingID) { $reuseMailing = true; } else { $mailingID = $this->_mailingID; } $count = $this->get('count'); $this->assign('count', $count); $this->set('skipTextFile', false); $this->set('skipHtmlFile', false); $defaults = array(); $htmlMessage = null; if ($mailingID) { require_once 'CRM/Mailing/DAO/Mailing.php'; $dao = new CRM_Mailing_DAO_Mailing(); $dao->id = $mailingID; $dao->find(true); $dao->storeValues($dao, $defaults); //we don't want to retrieve template details once it is //set in session $templateId = $this->get('template'); $this->assign('templateSelected', $templateId ? $templateId : 0); if (isset($defaults['msg_template_id']) && !$templateId) { $defaults['template'] = $defaults['msg_template_id']; $messageTemplate = new CRM_Core_DAO_MessageTemplates(); $messageTemplate->id = $defaults['msg_template_id']; $messageTemplate->selectAdd(); $messageTemplate->selectAdd('msg_text, msg_html'); $messageTemplate->find(true); $defaults['text_message'] = $messageTemplate->msg_text; $htmlMessage = $messageTemplate->msg_html; } if (isset($defaults['body_text'])) { $defaults['text_message'] = $defaults['body_text']; $this->set('textFile', $defaults['body_text']); $this->set('skipTextFile', true); } if (isset($defaults['body_html'])) { $htmlMessage = $defaults['body_html']; $this->set('htmlFile', $defaults['body_html']); $this->set('skipHtmlFile', true); } //set default from email address. require_once 'CRM/Core/OptionGroup.php'; if (CRM_Utils_Array::value('from_name', $defaults) && CRM_Utils_Array::value('from_email', $defaults)) { $defaults['from_email_address'] = array_search('"' . $defaults['from_name'] . '" <' . $defaults['from_email'] . '>', CRM_Core_OptionGroup::values('from_email_address')); } else { //get the default from email address. $defaultAddress = CRM_Core_OptionGroup::values('from_email_address', null, null, null, ' AND is_default = 1'); foreach ($defaultAddress as $id => $value) { $defaults['from_email_address'] = $id; } } } //fix for CRM-2873 if (!$reuseMailing) { $textFilePath = $this->get('textFilePath'); if ($textFilePath && file_exists($textFilePath)) { $defaults['text_message'] = file_get_contents($textFilePath); if (strlen($defaults['text_message']) > 0) { $this->set('skipTextFile', true); } } $htmlFilePath = $this->get('htmlFilePath'); if ($htmlFilePath && file_exists($htmlFilePath)) { $defaults['html_message'] = file_get_contents($htmlFilePath); if (strlen($defaults['html_message']) > 0) { $htmlMessage = $defaults['html_message']; $this->set('skipHtmlFile', true); } } } if ($this->get('html_message')) { $htmlMessage = $this->get('html_message'); } $htmlMessage = str_replace(array("\n", "\r"), ' ', $htmlMessage); $htmlMessage = str_replace("'", "\\'", $htmlMessage); $this->assign('message_html', $htmlMessage); $defaults['upload_type'] = 1; if (isset($defaults['body_html'])) { $defaults['html_message'] = $defaults['body_html']; } //CRM-4678 setdefault to default component when composing new mailing. if (!$reuseMailing) { $componentFields = array('header_id' => 'Header', 'footer_id' => 'Footer'); foreach ($componentFields as $componentVar => $componentType) { $defaults[$componentVar] = CRM_Mailing_PseudoConstant::defaultComponent($componentType, ''); } } return $defaults; }