<?php
/*
- +--------------------------------------------------------------------+
- | CiviCRM version 5 |
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2019 |
- +--------------------------------------------------------------------+
- | 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 |
- +--------------------------------------------------------------------+
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved. |
+ | |
+ | This work is published under the GNU AGPLv3 license with some |
+ | permitted exceptions and without any warranty. For full license |
+ | and copyright information, see https://civicrm.org/licensing |
+ +--------------------------------------------------------------------+
*/
use Civi\Core\Event\GenericHookEvent;
* should incorporte services for aggregation, minimization, etc.
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2019
+ * @copyright CiviCRM LLC https://civicrm.org/licensing
* $Id$
*
*/
* - string: Load translated strings. Use a specific domain.
*
* @return CRM_Core_Resources
- * @throws \Exception
+ *
+ * @throws \CRM_Core_Exception
*/
public function addScriptFile($ext, $file, $weight = self::DEFAULT_WEIGHT, $region = self::DEFAULT_REGION, $translate = TRUE) {
if ($translate) {
$items[] = 'bower_components/smartmenus/dist/jquery.smartmenus.min.js';
$items[] = 'bower_components/smartmenus/dist/addons/keyboard/jquery.smartmenus.keyboard.min.js';
$items[] = 'js/crm.menubar.js';
+ // @see CRM_Core_Resources::renderMenubarStylesheet
$items[] = Civi::service('asset_builder')->getUrl('crm-menubar.css', [
- 'color' => Civi::settings()->get('menubar_color'),
+ 'menubarColor' => Civi::settings()->get('menubar_color'),
'height' => 40,
'breakpoint' => 768,
- 'opacity' => .88,
]);
+ // Variables for crm.menubar.js
$items[] = [
'menubar' => [
'position' => $position,
return;
}
$e->mimeType = 'text/css';
- $e->content = '';
+ $content = '';
$config = CRM_Core_Config::singleton();
$cms = strtolower($config->userFramework);
$cms = $cms === 'drupal' ? 'drupal7' : $cms;
"css/menubar-$cms.css",
];
foreach ($items as $item) {
- $e->content .= file_get_contents(self::singleton()->getPath('civicrm', $item));
- }
- $color = $e->params['color'];
- if (!CRM_Utils_Rule::color($color)) {
- $color = Civi::settings()->getDefault('menubar_color');
+ $content .= file_get_contents(self::singleton()->getPath('civicrm', $item));
}
+ $params = $e->params;
+ // "color" is deprecated in favor of the more specific "menubarColor"
+ $menubarColor = $params['color'] ?? $params['menubarColor'];
$vars = [
- 'resourceBase' => rtrim($config->resourceBase, '/'),
- 'menubarHeight' => $e->params['height'] . 'px',
- 'breakMin' => $e->params['breakpoint'] . 'px',
- 'breakMax' => ($e->params['breakpoint'] - 1) . 'px',
- 'menubarColor' => $color,
- 'menuItemColor' => 'rgba(' . implode(', ', CRM_Utils_Color::getRgb($color)) . ", {$e->params['opacity']})",
- 'highlightColor' => CRM_Utils_Color::getHighlight($color),
- 'textColor' => CRM_Utils_Color::getContrast($color, '#333', '#ddd'),
+ '$resourceBase' => rtrim($config->resourceBase, '/'),
+ '$menubarHeight' => $params['height'] . 'px',
+ '$breakMin' => $params['breakpoint'] . 'px',
+ '$breakMax' => ($params['breakpoint'] - 1) . 'px',
+ '$menubarColor' => $menubarColor,
+ '$menuItemColor' => $params['menuItemColor'] ?? 'rgba(' . implode(', ', CRM_Utils_Color::getRgb($menubarColor)) . ", .9)",
+ '$highlightColor' => $params['highlightColor'] ?? CRM_Utils_Color::getHighlight($menubarColor),
+ '$textColor' => $params['textColor'] ?? CRM_Utils_Color::getContrast($menubarColor, '#333', '#ddd'),
];
- $vars['highlightTextColor'] = CRM_Utils_Color::getContrast($vars['highlightColor'], '#333', '#ddd');
- foreach ($vars as $var => $val) {
- $e->content = str_replace('$' . $var, $val, $e->content);
- }
+ $vars['$highlightTextColor'] = $params['highlightTextColor'] ?? CRM_Utils_Color::getContrast($vars['$highlightColor'], '#333', '#ddd');
+ $e->content = str_replace(array_keys($vars), array_values($vars), $content);
}
/**
}
}
- CRM_Utils_Hook::entityRefFilters($data['filters']);
+ CRM_Utils_Hook::entityRefFilters($data['filters'], $data['links']);
return $data;
}