/**
  * Process the form submission.
  */
 public function postProcess()
 {
     $params = $this->controller->exportValues($this->_name);
     $this->_numStrings = count($params['old']);
     $enabled['exactMatch'] = $enabled['wildcardMatch'] = $disabled['exactMatch'] = $disabled['wildcardMatch'] = array();
     for ($i = 1; $i <= $this->_numStrings; $i++) {
         if (!empty($params['new'][$i]) && !empty($params['old'][$i])) {
             if (isset($params['enabled']) && !empty($params['enabled'][$i])) {
                 if (!empty($params['cb']) && !empty($params['cb'][$i])) {
                     $enabled['exactMatch'] += array($params['old'][$i] => $params['new'][$i]);
                 } else {
                     $enabled['wildcardMatch'] += array($params['old'][$i] => $params['new'][$i]);
                 }
             } else {
                 if (isset($params['cb']) && is_array($params['cb']) && array_key_exists($i, $params['cb'])) {
                     $disabled['exactMatch'] += array($params['old'][$i] => $params['new'][$i]);
                 } else {
                     $disabled['wildcardMatch'] += array($params['old'][$i] => $params['new'][$i]);
                 }
             }
         }
     }
     $overrides = array('enabled' => $enabled, 'disabled' => $disabled);
     $config = CRM_Core_Config::singleton();
     CRM_Core_BAO_WordReplacement::setLocaleCustomStrings($config->lcMessages, $overrides);
     // This controller was originally written to CRUD $config->locale_custom_strings,
     // but that's no longer the canonical store. Sync changes to canonical store.
     // This is inefficient - at some point, we should rewrite this UI.
     CRM_Core_BAO_WordReplacement::rebuildWordReplacementTable();
     CRM_Core_Session::setStatus("", ts("Settings Saved"), "success");
     CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/admin/options/wordreplacements', "reset=1"));
 }
 /**
  * Function to process the form
  *
  * @access public
  *
  * @return void
  */
 public function postProcess()
 {
     $params = $this->controller->exportValues($this->_name);
     $this->_numStrings = sizeof($params['old']);
     $enabled['exactMatch'] = $enabled['wildcardMatch'] = $disabled['exactMatch'] = $disabled['wildcardMatch'] = array();
     for ($i = 1; $i <= $this->_numStrings; $i++) {
         if (!empty($params['new'][$i]) && !empty($params['old'][$i])) {
             if (isset($params['enabled']) && !empty($params['enabled'][$i])) {
                 if (!empty($params['cb']) && !empty($params['cb'][$i])) {
                     $enabled['exactMatch'] += array($params['old'][$i] => $params['new'][$i]);
                 } else {
                     $enabled['wildcardMatch'] += array($params['old'][$i] => $params['new'][$i]);
                 }
             } else {
                 if (isset($params['cb']) && is_array($params['cb']) && array_key_exists($i, $params['cb'])) {
                     $disabled['exactMatch'] += array($params['old'][$i] => $params['new'][$i]);
                 } else {
                     $disabled['wildcardMatch'] += array($params['old'][$i] => $params['new'][$i]);
                 }
             }
         }
     }
     $overrides = array('enabled' => $enabled, 'disabled' => $disabled);
     $config = CRM_Core_Config::singleton();
     $domain = new CRM_Core_DAO_Domain();
     $domain->find(TRUE);
     if ($domain->locales && $config->localeCustomStrings) {
         // for multilingual
         $addReplacements = $config->localeCustomStrings;
         $addReplacements[$config->lcMessages] = $overrides;
         $stringOverride = serialize($addReplacements);
     } else {
         // for single language
         $stringOverride = serialize(array($config->lcMessages => $overrides));
     }
     $params = array('locale_custom_strings' => $stringOverride);
     $id = CRM_Core_Config::domainID();
     $wordReplacementSettings = CRM_Core_BAO_Domain::edit($params, $id);
     if ($wordReplacementSettings) {
         // This controller was originally written to CRUD $config->locale_custom_strings,
         // but that's no longer the canonical store. Sync changes to canonical store.
         // This is inefficient - at some point, we should rewrite this UI.
         CRM_Core_BAO_WordReplacement::rebuildWordReplacementTable();
         CRM_Core_Session::setStatus("", ts("Settings Saved"), "success");
         CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/admin/options/wordreplacements', "reset=1"));
     }
 }