CRM-11993 Fixes - Few bugs on switching language
authoratif-shaikh <shaikh388@gmail.com>
Fri, 5 Dec 2014 09:51:40 +0000 (15:21 +0530)
committeratif-shaikh <shaikh388@gmail.com>
Fri, 5 Dec 2014 09:51:40 +0000 (15:21 +0530)
https://issues.civicrm.org/jira/browse/CRM-11993

CRM/Core/BAO/ConfigSetting.php
CRM/Core/Block.php
templates/CRM/Block/LangSwitch.tpl
templates/CRM/common/langSwitch.tpl [deleted file]

index bcfd3014fd31411d7bf3baace777748ca6588698..12e3a81c33e2737a8d702a5d0d0625c66e87182a 100644 (file)
@@ -318,8 +318,11 @@ class CRM_Core_BAO_ConfigSetting {
         }
       }
 
-      // if a single-lang site or the above didn't yield a result, use default
-      $lcMessages = CRM_Utils_Array::value( 'lcMessages', $defaults );
+      if (empty($lcMessages)) {
+        // if a single-lang site, use default
+        //CRM-11993
+        $lcMessages = CRM_Utils_Array::value('lcMessages', $defaults);
+      }
 
       // set suffix for table names - use views if more than one language
       $dbLocale = $multiLang ? "_{$lcMessages}" : '';
index b6f75ebaaf64d472ce6982986cc26c8f9a39341f..a865fda6df03f763005dd68ed54fe4fbf7d424c6 100644 (file)
@@ -312,12 +312,6 @@ class CRM_Core_Block {
         );
         break;
 
-      case self::LANGSWITCH:
-        // gives the currentPath without trailing empty lcMessages to be completed
-        $values = array('currentPath' => CRM_Utils_System::currentPath() . '?' . CRM_Utils_System::getLinksUrl('lcMessages', TRUE, FALSE, FALSE));
-        self::setProperty(self::LANGSWITCH, 'templateValues', $values);
-        break;
-
       case self::FULLTEXT_SEARCH:
         $urlArray = array(
           'fullTextSearchID' => CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionValue',
index 0ad26011e7e98a4281137577547c00c9541c0585..0c02cf258b6b825965f7fd89543b78e6a4cbcb9c 100644 (file)
@@ -25,7 +25,7 @@
 *}
 {if isset($langSwitch) and $langSwitch|@count > 1}
   <form action="#">
-    <select name="lcMessages" onchange="window.location='/{$currentPath}'+this.value">
+    <select name="lcMessages" onchange="window.location='{crmURL p="civicrm/admin" q="lcMessages="}'+this.value">
       {foreach from=$langSwitch item=language key=locale}
         <option value="{$locale}" {if $locale == $tsLocale}selected="selected"{/if}>{$language}</option>
       {/foreach}
diff --git a/templates/CRM/common/langSwitch.tpl b/templates/CRM/common/langSwitch.tpl
deleted file mode 100644 (file)
index f861c36..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-{*
- +--------------------------------------------------------------------+
- | CiviCRM version 4.5                                                |
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014                                |
- +--------------------------------------------------------------------+
- | This file is a part of CiviCRM.                                    |
- |                                                                    |
- | CiviCRM is free software; you can copy, modify, and distribute it  |
- | under the terms of the GNU Affero General Public License           |
- | Version 3, 19 November 2007 and the CiviCRM Licensing Exception.   |
- |                                                                    |
- | CiviCRM is distributed in the hope that it will be useful, but     |
- | WITHOUT ANY WARRANTY; without even the implied warranty of         |
- | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.               |
- | See the GNU Affero General Public License for more details.        |
- |                                                                    |
- | You should have received a copy of the GNU Affero General Public   |
- | License and the CiviCRM Licensing Exception along                  |
- | with this program; if not, contact CiviCRM LLC                     |
- | at info[AT]civicrm[DOT]org. If you have questions about the        |
- | GNU Affero General Public License or the licensing of CiviCRM,     |
- | see the CiviCRM license FAQ at http://civicrm.org/licensing        |
- +--------------------------------------------------------------------+
-*}
-{if isset($langSwitch) and $langSwitch|@count > 1}
-  <div id="lang-switch">
-    <form action="#">
-      <select name="lcMessages" onchange="window.location='{$smarty.server.REQUEST_URI}&lcMessages='+this.value">
-        {foreach from=$langSwitch item=language key=locale}
-          <option value="{$locale}" {if $locale == $config->lcMessages}selected="selected"{/if}>{$language}</option>
-        {/foreach}
-      </select>
-    </form>
-  </div>
-{/if}