X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCore%2FBAO%2FWordReplacement.php;h=1d933ec2eb4c6d5ad79cf344274d596f5734e371;hb=db551313046d894dd1e7669f664ca7caac35f6fe;hp=9da2ebf36a6bcb2872d7553dbcc91c1564a7e4fe;hpb=d92623decb352eab5b403d0c9cab181a831bfaac;p=civicrm-core.git diff --git a/CRM/Core/BAO/WordReplacement.php b/CRM/Core/BAO/WordReplacement.php index 9da2ebf36a..1d933ec2eb 100644 --- a/CRM/Core/BAO/WordReplacement.php +++ b/CRM/Core/BAO/WordReplacement.php @@ -39,7 +39,7 @@ class CRM_Core_BAO_WordReplacement extends CRM_Core_DAO_WordReplacement { /** - * class constructor + * Class constructor * * @access public * @return \CRM_Core_DAO_WordReplacement @@ -57,7 +57,7 @@ class CRM_Core_BAO_WordReplacement extends 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 */ @@ -91,8 +91,8 @@ class CRM_Core_BAO_WordReplacement extends CRM_Core_DAO_WordReplacement { /** * Save the values of a WordReplacement * - * @param $params - * @param $id + * @param array $params + * @param int $id * * @return WordReplacement array * @access public @@ -111,7 +111,7 @@ class CRM_Core_BAO_WordReplacement extends CRM_Core_DAO_WordReplacement { /** * Create a new WordReplacement * - * @param $params + * @param array $params * * @return WordReplacement array * @access public @@ -195,7 +195,7 @@ WHERE domain_id = %1 /** * 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)); @@ -203,12 +203,13 @@ WHERE domain_id = %1 if ($wordReplacementSettings) { CRM_Core_Config::singleton()->localeCustomStrings = $stringOverride; - // Reset navigation - CRM_Core_BAO_Navigation::resetNavigation(); - // Clear js string cache - CRM_Core_Resources::singleton()->flushStrings(); - // Clear dynamic js files which may contain localization - CRM_Utils_File::flushDynamicResources(); + // 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; }