/** * 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")); } }