X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FAdmin%2FForm%2FScheduleReminders.php;h=e6156387b8c774a9a27d681212027596c8aff656;hb=fadd4d3794d02aa088774aa37254bfda67207f65;hp=503d52815ecef3a327aa9de05fd5423ab35a37dd;hpb=3b7bf9514d92a68e9adb10ae1fe33f8d6ca3da7d;p=civicrm-core.git diff --git a/CRM/Admin/Form/ScheduleReminders.php b/CRM/Admin/Form/ScheduleReminders.php index 503d52815e..e6156387b8 100644 --- a/CRM/Admin/Form/ScheduleReminders.php +++ b/CRM/Admin/Form/ScheduleReminders.php @@ -1,10 +1,9 @@ 'crm-select2 huge') ); + // multilingual only options + $multilingual = CRM_Core_I18n::isMultilingual(); + if ($multilingual) { + $smarty = CRM_Core_Smarty::singleton(); + $smarty->assign('multilingual', $multilingual); + + $languages = CRM_Core_I18n::languages(TRUE); + $languageFilter = $languages + array(CRM_Core_I18n::NONE => ts('Contacts with no preferred language')); + $element = $this->add('select', 'filter_contact_language', ts('Recipients language'), $languageFilter, FALSE, + array('multiple' => TRUE, 'class' => 'crm-select2', 'placeholder' => TRUE)); + + $communicationLanguage = array( + '' => ts('System default language'), + CRM_Core_I18n::AUTO => ts('Follow recipient preferred language') + ); + $communicationLanguage = $communicationLanguage + $languages; + $this->add('select', 'communication_language', ts('Communication language'), $communicationLanguage); + } + CRM_Mailing_BAO_Mailing::commonCompose($this); $this->add('text', 'subject', ts('Subject'), @@ -380,6 +393,9 @@ class CRM_Admin_Form_ScheduleReminders extends CRM_Admin_Form { $defaults['recipient'] = 'manual'; $defaults['recipient_manual_id'] = $defaults['recipient_manual']; } + if ($contactLanguage = CRM_Utils_Array::value('filter_contact_language', $defaults)) { + $defaults['filter_contact_language'] = explode(CRM_Core_DAO::VALUE_SEPARATOR, $contactLanguage); + } } return $defaults; @@ -387,9 +403,6 @@ class CRM_Admin_Form_ScheduleReminders extends CRM_Admin_Form { /** * Process the form submission. - * - * - * @return void */ public function postProcess() { if ($this->_action & CRM_Core_Action::DELETE) { @@ -505,6 +518,11 @@ class CRM_Admin_Form_ScheduleReminders extends CRM_Admin_Form { $params['end_date'] = 'null'; } + // multilingual options + $params['filter_contact_language'] = CRM_Utils_Array::value('filter_contact_language', $values, NULL); + $params['filter_contact_language'] = implode(CRM_Core_DAO::VALUE_SEPARATOR, $params['filter_contact_language']); + $params['communication_language'] = CRM_Utils_Array::value('communication_language', $values, NULL); + if ($this->_action & CRM_Core_Action::UPDATE) { $params['id'] = $this->_id; }