Example #1
0
 /**
  * List available tokens for this form.
  *
  * @return array
  */
 public function listTokens()
 {
     $tokens = CRM_Core_SelectValues::contactTokens();
     $tokens = array_merge(CRM_Core_SelectValues::mailingTokens(), $tokens);
     return $tokens;
 }
Example #2
0
 /**
  * Build the  compose mail form.
  *
  * @param CRM_Core_Form $form
  *
  * @return void
  */
 public static function commonCompose(&$form)
 {
     //get the tokens.
     $tokens = CRM_Core_SelectValues::contactTokens();
     $className = CRM_Utils_System::getClassName($form);
     if ($className == 'CRM_Mailing_Form_Upload') {
         $tokens = array_merge(CRM_Core_SelectValues::mailingTokens(), $tokens);
     } elseif ($className == 'CRM_Admin_Form_ScheduleReminders') {
         $tokens = array_merge(CRM_Core_SelectValues::activityTokens(), $tokens);
         $tokens = array_merge(CRM_Core_SelectValues::eventTokens(), $tokens);
         $tokens = array_merge(CRM_Core_SelectValues::membershipTokens(), $tokens);
     } elseif ($className == 'CRM_Event_Form_ManageEvent_ScheduleReminders') {
         $tokens = array_merge(CRM_Core_SelectValues::eventTokens(), $tokens);
     }
     //TODO standardize on this method
     if (method_exists($form, 'listTokens')) {
         $tokens = array_merge($form->listTokens(), $tokens);
     }
     //sorted in ascending order tokens by ignoring word case
     $form->assign('tokens', CRM_Utils_Token::formatTokensForDisplay($tokens));
     $templates = array();
     $textFields = array('text_message' => ts('HTML Format'), 'sms_text_message' => ts('SMS Message'));
     $modePrefixes = array('Mail' => NULL, 'SMS' => 'SMS');
     if ($className != 'CRM_SMS_Form_Upload' && $className != 'CRM_Contact_Form_Task_SMS' && $className != 'CRM_Contact_Form_Task_SMS') {
         $form->add('wysiwyg', 'html_message', ts('HTML Format'), array('cols' => '80', 'rows' => '8', 'onkeyup' => "return verify(this)"));
         if ($className != 'CRM_Admin_Form_ScheduleReminders') {
             unset($modePrefixes['SMS']);
         }
     } else {
         unset($textFields['text_message']);
         unset($modePrefixes['Mail']);
     }
     //insert message Text by selecting "Select Template option"
     foreach ($textFields as $id => $label) {
         $prefix = NULL;
         if ($id == 'sms_text_message') {
             $prefix = "SMS";
             $form->assign('max_sms_length', CRM_SMS_Provider::MAX_SMS_CHAR);
         }
         $form->add('textarea', $id, $label, array('cols' => '80', 'rows' => '8', 'onkeyup' => "return verify(this, '{$prefix}')"));
     }
     foreach ($modePrefixes as $prefix) {
         if ($prefix == 'SMS') {
             $templates[$prefix] = CRM_Core_BAO_MessageTemplate::getMessageTemplates(FALSE, TRUE);
         } else {
             $templates[$prefix] = CRM_Core_BAO_MessageTemplate::getMessageTemplates(FALSE);
         }
         if (!empty($templates[$prefix])) {
             $form->assign('templates', TRUE);
             $form->add('select', "{$prefix}template", ts('Use Template'), array('' => ts('- select -')) + $templates[$prefix], FALSE, array('onChange' => "selectValue( this.value, '{$prefix}');"));
         }
         $form->add('checkbox', "{$prefix}updateTemplate", ts('Update Template'), NULL);
         $form->add('checkbox', "{$prefix}saveTemplate", ts('Save As New Template'), NULL, FALSE, array('onclick' => "showSaveDetails(this, '{$prefix}');"));
         $form->add('text', "{$prefix}saveTemplateName", ts('Template Title'));
     }
     // I'm not sure this is ever called.
     $action = CRM_Utils_Request::retrieve('action', 'String', $form, FALSE);
     if (CRM_Utils_System::getClassName($form) == 'CRM_Contact_Form_Task_PDF' && $action == CRM_Core_Action::VIEW) {
         $form->freeze('html_message');
     }
 }
 /**
  * Function to build the  compose PDF letter form
  *
  * @param   $form
  *
  * @return None
  * @access public
  */
 public static function commonLetterCompose(&$form)
 {
     //get the tokens.
     $tokens = CRM_Core_SelectValues::contactTokens();
     if (CRM_Utils_System::getClassName($form) == 'CRM_Mailing_Form_Upload') {
         $tokens = array_merge(CRM_Core_SelectValues::mailingTokens(), $tokens);
     }
     //@todo move this fn onto the form
     if (CRM_Utils_System::getClassName($form) == 'CRM_Contribute_Form_Task_PDFLetter') {
         $tokens = array_merge(CRM_Core_SelectValues::contributionTokens(), $tokens);
     }
     if (method_exists($form, 'listTokens')) {
         $tokens = array_merge($form->listTokens(), $tokens);
     }
     //sorted in ascending order tokens by ignoring word case
     natcasesort($tokens);
     $form->assign('tokens', json_encode($tokens));
     $form->add('select', 'token1', ts('Insert Tokens'), $tokens, FALSE, array('size' => "5", 'multiple' => TRUE, 'onchange' => "return tokenReplHtml(this);"));
     $form->_templates = CRM_Core_BAO_MessageTemplate::getMessageTemplates(FALSE);
     if (!empty($form->_templates)) {
         $form->assign('templates', TRUE);
         $form->add('select', 'template', ts('Select Template'), array('' => ts('- select -')) + $form->_templates, FALSE, array('onChange' => "selectValue( this.value );"));
         $form->add('checkbox', 'updateTemplate', ts('Update Template'), NULL);
     }
     $form->add('checkbox', 'saveTemplate', ts('Save As New Template'), NULL, FALSE, array('onclick' => "showSaveDetails(this);"));
     $form->add('text', 'saveTemplateName', ts('Template Title'));
     $form->addWysiwyg('html_message', ts('Your Letter'), array('cols' => '80', 'rows' => '8', 'onkeyup' => "return verify(this)"));
     $action = CRM_Utils_Request::retrieve('action', 'String', $form, FALSE);
     if (CRM_Utils_System::getClassName($form) == 'CRM_Contact_Form_Task_PDF' && $action == CRM_Core_Action::VIEW) {
         $form->freeze('html_message');
     }
 }
Example #4
0
 /**
  * Function to build the  compose PDF letter form
  * @param   $form 
  * @return None
  * @access public
  */
 public function commonLetterCompose(&$form)
 {
     //get the tokens.
     $tokens = CRM_Core_SelectValues::contactTokens();
     if (CRM_Utils_System::getClassName($form) == 'CRM_Mailing_Form_Upload') {
         $tokens = array_merge(CRM_Core_SelectValues::mailingTokens(), $tokens);
     }
     //sorted in ascending order tokens by ignoring word case
     natcasesort($tokens);
     $form->assign('tokens', $tokens);
     $form->add('select', 'token1', ts('Insert Tokens'), $tokens, false, array('size' => "5", 'multiple' => true, 'onchange' => "return tokenReplHtml(this);"));
     require_once 'CRM/Core/BAO/MessageTemplates.php';
     $form->_templates = CRM_Core_BAO_MessageTemplates::getMessageTemplates();
     if (!empty($form->_templates)) {
         $form->assign('templates', true);
         $form->add('select', 'template', ts('Select Template'), array('' => ts('- select -')) + $form->_templates, false, array('onChange' => "selectValue( this.value );"));
         $form->add('checkbox', 'updateTemplate', ts('Update Template'), null);
     }
     $form->add('checkbox', 'saveTemplate', ts('Save As New Template'), null, false, array('onclick' => "showSaveDetails(this);"));
     $form->add('text', 'saveTemplateName', ts('Template Title'));
     $form->addWysiwyg('html_message', ts('HTML Message'), array('cols' => '80', 'rows' => '8', 'onkeyup' => "return verify(this)"));
 }