Merge pull request #3100 from kurund/CRM-14563
[civicrm-core.git] / CRM / Core / Block.php
index b4292788b640450ae2d2f0796f1d7f5b6a237c6a..dfd0aa998198fb4e39721ee1c6fb5914d9208b87 100644 (file)
@@ -1,9 +1,9 @@
 <?php
 /*
  +--------------------------------------------------------------------+
- | CiviCRM version 4.3                                                |
+ | CiviCRM version 4.5                                                |
  +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013                                |
+ | Copyright CiviCRM LLC (c) 2004-2014                                |
  +--------------------------------------------------------------------+
  | This file is a part of CiviCRM.                                    |
  |                                                                    |
@@ -28,7 +28,7 @@
 /**
  *
  * @package CRM
- * @copyright CiviCRM LLC (c) 2004-2013
+ * @copyright CiviCRM LLC (c) 2004-2014
  * $Id$
  *
  */
@@ -419,9 +419,16 @@ class CRM_Core_Block {
       NULL,
       CRM_Core_DAO::$_nullObject,
       $values,
+      CRM_Core_DAO::$_nullObject,
       CRM_Core_DAO::$_nullObject
     );
 
+    foreach ($values as $key => $val) {
+      if (!empty($val['title'])) {
+        $values[$key]['name'] = CRM_Utils_Array::value('name', $val, $val['title']);
+      }
+    }
+
     self::setProperty(self::CREATE_NEW, 'templateValues', array('shortCuts' => $values));
   }
 
@@ -562,7 +569,8 @@ class CRM_Core_Block {
       }
       // do nothing
     }
-    elseif (!CRM_Core_Permission::check('access CiviCRM')) {
+    // require 'access CiviCRM' permissons, except for the language switch block
+    elseif (!CRM_Core_Permission::check('access CiviCRM') && $id!=self::LANGSWITCH) {
       return NULL;
     }
     elseif ($id == self::ADD) {