class CRM_Core_BAO_WordReplacement extends CRM_Core_DAO_WordReplacement {
/**
- * class constructor
+ * Class constructor
*
* @access public
* @return \CRM_Core_DAO_WordReplacement
* @param array $params (reference ) an assoc array of name/value pairs
* @param array $defaults (reference ) an assoc array to hold the flattened values
*
- * @return object CRM_Core_DAO_WordRepalcement object
+ * @return CRM_Core_DAO_WordRepalcement object
* @access public
* @static
*/
/**
* Save the values of a WordReplacement
*
- * @param $params
- * @param $id
+ * @param array $params
+ * @param int $id
*
* @return WordReplacement array
* @access public
/**
* Create a new WordReplacement
*
- * @param $params
+ * @param array $params
*
* @return WordReplacement array
* @access public
/**
* Rebuild
*/
- static function rebuild() {
+ static function rebuild($clearCaches = TRUE) {
$id = CRM_Core_Config::domainID();
$stringOverride = self::getAllAsConfigArray($id);
$params = array('locale_custom_strings' => serialize($stringOverride));
if ($wordReplacementSettings) {
CRM_Core_Config::singleton()->localeCustomStrings = $stringOverride;
- // Reset navigation
- CRM_Core_BAO_Navigation::resetNavigation();
- // Clear js string cache
- CRM_Core_Resources::singleton()->flushStrings();
+ // Partially mitigate the inefficiency introduced in CRM-13187 by doing this conditionally
+ if ($clearCaches) {
+ // Reset navigation
+ CRM_Core_BAO_Navigation::resetNavigation();
+ // Clear js localization
+ CRM_Core_Resources::singleton()->flushStrings()->resetCacheCode();
+ }
return TRUE;
}