Browse Source

updated admin_menu & adminimal_admin_menu

Bachir Soussi Chiadmi 3 years ago
parent
commit
8c39ab6f4a
35 changed files with 1728 additions and 1466 deletions
  1. 122 90
      sites/all/modules/contrib/admin/admin_menu/README.txt
  2. 3 4
      sites/all/modules/contrib/admin/admin_menu/admin_devel/admin_devel.info
  3. 4 5
      sites/all/modules/contrib/admin/admin_menu/admin_menu-rtl.css
  4. 8 4
      sites/all/modules/contrib/admin/admin_menu/admin_menu.admin.js
  5. 1 2
      sites/all/modules/contrib/admin/admin_menu/admin_menu.color.css
  6. 7 7
      sites/all/modules/contrib/admin/admin_menu/admin_menu.css
  7. 34 24
      sites/all/modules/contrib/admin/admin_menu/admin_menu.inc
  8. 3 4
      sites/all/modules/contrib/admin/admin_menu/admin_menu.info
  9. 8 4
      sites/all/modules/contrib/admin/admin_menu/admin_menu.js
  10. 8 1
      sites/all/modules/contrib/admin/admin_menu/admin_menu.map.inc
  11. 25 14
      sites/all/modules/contrib/admin/admin_menu/admin_menu.module
  12. 0 1
      sites/all/modules/contrib/admin/admin_menu/admin_menu.uid1.css
  13. 4 0
      sites/all/modules/contrib/admin/admin_menu/admin_menu_toolbar/admin_menu_toolbar-rtl.css
  14. 3 4
      sites/all/modules/contrib/admin/admin_menu/admin_menu_toolbar/admin_menu_toolbar.css
  15. 3 4
      sites/all/modules/contrib/admin/admin_menu/admin_menu_toolbar/admin_menu_toolbar.info
  16. 0 1
      sites/all/modules/contrib/admin/admin_menu/admin_menu_toolbar/admin_menu_toolbar.install
  17. 0 1
      sites/all/modules/contrib/admin/admin_menu/admin_menu_toolbar/admin_menu_toolbar.module
  18. 51 16
      sites/all/modules/contrib/admin/admin_menu/tests/admin_menu.test
  19. 6 0
      sites/all/modules/contrib/admin/adminimal_admin_menu/CREDITS.txt
  20. 14 12
      sites/all/modules/contrib/admin/adminimal_admin_menu/README.txt
  21. 103 0
      sites/all/modules/contrib/admin/adminimal_admin_menu/adminimal_admin_menu.admin.inc
  22. 16 85
      sites/all/modules/contrib/admin/adminimal_admin_menu/adminimal_admin_menu.css
  23. 4 3
      sites/all/modules/contrib/admin/adminimal_admin_menu/adminimal_admin_menu.info
  24. 14 2
      sites/all/modules/contrib/admin/adminimal_admin_menu/adminimal_admin_menu.install
  25. 148 82
      sites/all/modules/contrib/admin/adminimal_admin_menu/adminimal_admin_menu.module
  26. 0 31
      sites/all/modules/contrib/admin/adminimal_admin_menu/adminimal_menu_settings.inc
  27. 0 2
      sites/all/modules/contrib/admin/adminimal_admin_menu/credits.txt
  28. BIN
      sites/all/modules/contrib/admin/adminimal_admin_menu/images/home.png
  29. BIN
      sites/all/modules/contrib/admin/adminimal_admin_menu/images/shortcut.png
  30. BIN
      sites/all/modules/contrib/admin/adminimal_admin_menu/images/square.png
  31. 46 41
      sites/all/modules/contrib/admin/adminimal_admin_menu/js/adminimal_admin_menu.js
  32. 440 410
      sites/all/modules/contrib/admin/adminimal_admin_menu/js/slicknav/jquery-no-conflict.slicknav.js
  33. 444 414
      sites/all/modules/contrib/admin/adminimal_admin_menu/js/slicknav/jquery.slicknav.js
  34. 209 180
      sites/all/modules/contrib/admin/adminimal_admin_menu/js/slicknav/slicknav.css
  35. 0 18
      sites/all/modules/contrib/admin/adminimal_admin_menu/updates/update_7100.php

+ 122 - 90
sites/all/modules/contrib/admin/admin_menu/README.txt

@@ -1,65 +1,84 @@
+CONTENTS OF THIS FILE
+---------------------
 
--- SUMMARY --
+ * Introduction
+ * Requirements
+ * Installation
+ * Configuration
+ * Customization
+ * Troubleshooting
+ * FAQ
+ * Maintainers
+
+
+INTRODUCTION
+------------
 
 The Administration menu module displays the entire administrative menu tree (and
 most local tasks) in a drop-down menu, providing administrators one- or
 two-click access to most pages.  Other modules may also add menu links to the
 menu using hook_admin_menu_output_alter().
 
-For a full description of the module, visit the project page:
-  http://drupal.org/project/admin_menu
+For a full description of the project visit the project page:
+http://drupal.org/project/admin_menu
 
 To submit bug reports and feature suggestions, or to track changes:
-  http://drupal.org/project/issues/admin_menu
+http://drupal.org/project/issues/admin_menu
 
 
--- REQUIREMENTS --
+REQUIREMENTS
+------------
 
-None.
+No special requirements
 
 
--- INSTALLATION --
+INSTALLATION
+------------
 
-* Install as usual, see http://drupal.org/node/895232 for further information.
+Install as you would normally install a contributed Drupal. See:
+https://drupal.org/documentation/install/modules-themes/modules-7 for further
+information.
 
-* You likely want to disable Toolbar module, since its output clashes with
-  Administration menu.
+ * You likely want to disable Toolbar module, since its output clashes with
+ Administration menu.
 
 
--- CONFIGURATION --
+CONFIGURATION
+-------------
 
-* Configure user permissions in Administration » People » Permissions:
+ * Configure user permissions in Administration » People » Permissions:
 
-  - Use the administration pages and help (System module)
+   - Use the administration pages and help (System module)
 
-    The top-level administration categories require this permission to be
-    accessible. The administration menu will be empty unless this permission is
-    granted.
+     The top-level administration categories require this permission to be
+     accessible. The administration menu will be empty unless this permission is
+     granted.
 
-  - Access administration menu
+   - Access administration menu
 
-    Users in roles with the "Access administration menu" permission will see
-    the administration menu at the top of each page.
+     Users in roles with the "Access administration menu" permission will see
+     the administration menu at the top of each page.
 
-  - Display Drupal links
+   - Display Drupal links
 
-    Users in roles with the "Display drupal links" permission will receive
-    links to drupal.org issue queues for all enabled contributed modules. The
-    issue queue links appear under the administration menu icon.
+     Users in roles with the "Display drupal links" permission will receive
+     links to drupal.org issue queues for all enabled contributed modules. The
+     issue queue links appear under the administration menu icon.
 
-  Note that the menu items displayed in the administration menu depend on the
-  actual permissions of the viewing user. For example, the "People" menu item
-  is not displayed to a user who is not a member of a role with the "Administer
-  users" permission.
+     Note that the menu items displayed in the administration menu depend on the
+     actual permissions of the viewing user. For example, the "People" menu item
+     is not displayed to a user who is not a member of a role with the
+     "Administer users" permission.
 
-* Customize the menu settings in Administration » Configuration and modules »
-  Administration » Administration menu.
+ * Customize the menu settings in Administration » Configuration and modules »
+   Administration » Administration menu.
 
-* To prevent administrative menu items from appearing twice, you may hide the
-  "Management" menu block.
+ * To prevent administrative menu items from appearing twice, you may hide the
+   "Management" menu block.
 
 
--- CUSTOMIZATION --
+CUSTOMIZATION
+-------------
 
 * To override the default administration menu icon, you may:
 
@@ -82,12 +101,13 @@ None.
   body #admin-menu { font-size: 10px; }
 
 
--- TROUBLESHOOTING --
+TROUBLESHOOTING
+-------------
 
 * If the menu does not display, check the following:
 
-  - Are the "Access administration menu" and "Use the administration pages and help"
-    permissions enabled for the appropriate roles?
+  - Are the "Access administration menu" and "Use the administration pages and
+    help" permissions enabled for the appropriate roles?
 
   - Does html.tpl.php of your theme output the $page_bottom variable?
 
@@ -99,90 +119,102 @@ None.
   See http://drupal.org/node/195386 for further information.
 
 
--- FAQ --
+FAQ
+---
+
+ Q: When the administration menu module is enabled, blank space is added to the
+    bottom of my theme. Why?
 
-Q: When the administration menu module is enabled, blank space is added to the
-   bottom of my theme. Why?
+ A: This is caused by a long list of links to module issue queues at Drupal.org.
+    Use Administer >> User management >> Permissions to disable the "display
+    drupal links" permission for all appropriate roles. Note that since UID 1
+    automatically receives all permissions, the list of issue queue links cannot
+    be disabled for UID 1.
 
-A: This is caused by a long list of links to module issue queues at Drupal.org.
-   Use Administer >> User management >> Permissions to disable the "display
-   drupal links" permission for all appropriate roles. Note that since UID 1
-   automatically receives all permissions, the list of issue queue links cannot
-   be disabled for UID 1.
 
+ Q: After upgrading to 6.x-1.x, the menu disappeared. Why?
 
-Q: After upgrading to 6.x-1.x, the menu disappeared. Why?
+ A: You may need to regenerate your menu. Visit
+    http://example.com/admin/build/modules to regenerate your menu (substitute
+    your site name for example.com).
 
-A: You may need to regenerate your menu. Visit
-   http://example.com/admin/build/modules to regenerate your menu (substitute
-   your site name for example.com).
 
+ Q: Can I configure the administration menu module to display another menu (like
+    the Navigation menu, for instance)?
 
-Q: Can I configure the administration menu module to display another menu (like
-   the Navigation menu, for instance)?
+ A: No. As the name implies, administration menu module is for administrative
+    menu links only. However, you can copy and paste the contents of
+    admin_menu.css into your theme's stylesheet and replace #admin-menu with any
+    other menu block id (#block-menu-1, for example).
 
-A: No. As the name implies, administration menu module is for administrative
-   menu links only. However, you can copy and paste the contents of
-   admin_menu.css into your theme's stylesheet and replace #admin-menu with any
-   other menu block id (#block-menu-1, for example).
 
+ Q: Sometimes, the user counter displays a lot of anonymous users, but no spike
+    of users or requests appear in Google Analytics or other tracking tools.
 
-Q: Sometimes, the user counter displays a lot of anonymous users, but no spike
-   of users or requests appear in Google Analytics or other tracking tools.
+ A: If your site was concurrently spidered by search-engine robots, it may have
+    a significant number of anonymous users for a short time. Most web tracking
+    tools like Google Analytics automatically filter out these requests.
 
-A: If your site was concurrently spidered by search-engine robots, it may have
-   a significant number of anonymous users for a short time. Most web tracking
-   tools like Google Analytics automatically filter out these requests.
 
+ Q: I enabled "Aggregate and compress CSS files", but admin_menu.css is still
+    there. Is this normal?
 
-Q: I enabled "Aggregate and compress CSS files", but admin_menu.css is still
-   there. Is this normal?
+ A: Yes, this is the intended behavior. the administration menu module only
+    loads its stylesheet as needed (i.e., on page requests by logged-on,
+    administrative users).
 
-A: Yes, this is the intended behavior. the administration menu module only loads
-   its stylesheet as needed (i.e., on page requests by logged-on, administrative
-   users).
 
+ Q: Why are sub-menus not visible in Opera?
 
-Q: Why are sub-menus not visible in Opera?
+ A: In the Opera browser preferences under "web pages" there is an option to fit
+    to width. By disabling this option, sub-menus in the administration menu
+    should appear.
 
-A: In the Opera browser preferences under "web pages" there is an option to fit
-   to width. By disabling this option, sub-menus in the administration menu
-   should appear.
 
+ Q: How can the administration menu be hidden on certain pages?
 
-Q: How can the administration menu be hidden on certain pages?
+ A: You can suppress it by simply calling the following function in PHP:
+    module_invoke('admin_menu', 'suppress');
 
-A: You can suppress it by simply calling the following function in PHP:
+    However, this needs to happen as early as possible in the page request, so
+    placing it in the theming layer (resp. a page template file) is too late.
+    Ideally, the function is called in hook_init() in a custom module.  If you
+    do not have a custom module, placing it into some conditional code at the
+    top of template.php may work out, too.
 
-     module_invoke('admin_menu', 'suppress');
 
-   However, this needs to happen as early as possible in the page request, so
-   placing it in the theming layer (resp. a page template file) is too late.
-   Ideally, the function is called in hook_init() in a custom module.  If you do
-   not have a custom module, placing it into some conditional code at the top of
-   template.php may work out, too.
+Q: What does the "Administration Development Tools" module do?
 
+A: The Administration Development Tools adds a jQuery Debugger which allows
+   a developer to debug and inspect arbitrary data/variables in Firebug's
+   console, and also to access them again in the global window object
+   (optionally using a named identifier, e.g. window.debug.myValue).
+   Chainable via jQuery. Especially useful for re-accessing and debugging
+   selected data via Firebug's console.
 
--- CONTACT --
+
+MAINTAINERS
+-----------
 
 Current maintainers:
-* Daniel F. Kudwien (sun) - http://drupal.org/user/54136
-* Peter Wolanin (pwolanin) - http://drupal.org/user/49851
-* Stefan M. Kudwien (smk-ka) - http://drupal.org/user/48898
-* Dave Reid (Dave Reid) - http://drupal.org/user/53892
+ * Daniel F. Kudwien (sun) - http://drupal.org/user/54136
+ * Peter Wolanin (pwolanin) - http://drupal.org/user/49851
+ * Stefan M. Kudwien (smk-ka) - http://drupal.org/user/48898
+ * Dave Reid (Dave Reid) - http://drupal.org/user/53892
+ * Truls S. Yggeseth (truls1502) - http://drupal.org/user/325866
+ * Sebastian Siemssen (fubhy) - https://www.drupal.org/user/761344
 
 Major rewrite for Drupal 6 by Peter Wolanin (pwolanin).
 
 This project has been sponsored by:
-* UNLEASHED MIND
-  Specialized in consulting and planning of Drupal powered sites, UNLEASHED
-  MIND offers installation, development, theming, customization, and hosting
-  to get you started. Visit http://www.unleashedmind.com for more information.
-
-* Lullabot
-  Friendly Drupal experts providing professional consulting & education
-  services. Visit http://www.lullabot.com for more information.
+ * UNLEASHED MIND
+   Specialized in consulting and planning of Drupal powered sites, UNLEASHED
+   MIND offers installation, development, theming, customization, and hosting
+   to get you started. Visit http://www.unleashedmind.com for more information.
 
-* Acquia
-  Commercially Supported Drupal. Visit http://acquia.com for more information.
+ * Lullabot
+   Friendly Drupal experts providing professional consulting & education
+   services. Visit http://www.lullabot.com for more information.
 
+ * Acquia
+   Commercially Supported Drupal. Visit http://acquia.com for more information.

+ 3 - 4
sites/all/modules/contrib/admin/admin_menu/admin_devel/admin_devel.info

@@ -4,9 +4,8 @@ package = Administration
 core = 7.x
 scripts[] = admin_devel.js
 
-; Information added by Drupal.org packaging script on 2014-12-19
-version = "7.x-3.0-rc5"
+; Information added by Drupal.org packaging script on 2018-12-03
+version = "7.x-3.0-rc6"
 core = "7.x"
 project = "admin_menu"
-datestamp = "1419029284"
-
+datestamp = "1543859284"

+ 4 - 5
sites/all/modules/contrib/admin/admin_menu/admin_menu-rtl.css

@@ -1,4 +1,3 @@
-
 #admin-menu {
   text-align: right;
 }
@@ -25,7 +24,7 @@
   border-right: 0;
 }
 #admin-menu .dropdown .admin-menu-tab a {
-  border-left: 1px solid #52565E;
+  border-left: 1px solid #52565e;
   border-right: 0;
 }
 #admin-menu .dropdown li li a {
@@ -42,13 +41,13 @@
 /* Second-level lists */
 #admin-menu .dropdown li ul {
   left: auto;
-  right: -999em;
+  right: auto;
 }
 
 /* Third-and-above-level lists */
 #admin-menu .dropdown li li.expandable ul {
-  margin-left: 0;
-  margin-right: 160px;
+  margin-left: 0 !important;
+  margin-right: 160px !important;
 }
 
 /* Lists nested under hovered list items */

+ 8 - 4
sites/all/modules/contrib/admin/admin_menu/admin_menu.admin.js

@@ -1,4 +1,8 @@
-(function($) {
+/**
+ * @file
+ */
+
+(function ($) {
 
 /**
  * Live preview of Administration menu components.
@@ -45,9 +49,9 @@ Drupal.behaviors.adminMenuPermissionsSetupHelp = {
               // Figure out which is the other, check whether it still disabled,
               // and if so, ask whether to auto-enable it.
               var other = (this == $admin[index] ? $menu[index] : $admin[index]);
-              if (!other.checked && confirm(Drupal.t('Also allow !name role to !permission?', {
-                '!name': $roles[index].textContent,
-                '!permission': (this == $admin[index] ? menuPermission : adminPermission)
+              if (!other.checked && confirm(Drupal.t('Also allow @name role to @permission?', {
+                '@name': $roles[index].textContent,
+                '@permission': (this == $admin[index] ? menuPermission : adminPermission)
               }))) {
                 other.checked = 'checked';
               }

+ 1 - 2
sites/all/modules/contrib/admin/admin_menu/admin_menu.color.css

@@ -1,4 +1,3 @@
-
 /**
  * @file
  * Administration menu color override.
@@ -17,7 +16,7 @@
   border-right-color: #a91f1f;
 }
 #admin-menu ul li.admin-menu-tab a {
-  border-right-color: #52565E;
+  border-right-color: #52565e;
 }
 #admin-menu li li a {
   border-top-color: #801f1f;

+ 7 - 7
sites/all/modules/contrib/admin/admin_menu/admin_menu.css

@@ -1,4 +1,3 @@
-
 /**
  * @file
  * Administration menu.
@@ -16,6 +15,7 @@
   position: absolute;
   text-align: left;
   top: 0;
+  height: 30px;
   width: 100%;
 }
 #admin-menu-wrapper {
@@ -62,7 +62,7 @@ body.admin-menu {
 #admin-menu li > span {
   background: transparent none;
   border: none;
-  color: #EEE;
+  color: #eee;
   font-weight: normal;
   text-align: left; /* LTR */
   text-decoration: none;
@@ -74,7 +74,7 @@ body.admin-menu {
   padding: 4px 8px;
 }
 #admin-menu .dropdown .admin-menu-tab a {
-  border-right: 1px solid #52565E; /* LTR */
+  border-right: 1px solid #52565e; /* LTR */
 }
 #admin-menu .dropdown li li a {
   border-right: none; /* LTR */
@@ -147,7 +147,7 @@ body.admin-menu {
 
 /* Second-and-more-level hovering */
 #admin-menu .dropdown li li.expandable {
-  background: #45454A url(images/arrow.png) no-repeat 145px 6px;
+  background: #45454a url(images/arrow.png) no-repeat 145px 6px;
 }
 #admin-menu .dropdown li li:hover {
   background-color: #111;
@@ -155,19 +155,19 @@ body.admin-menu {
 #admin-menu .dropdown li li:hover a,
 #admin-menu .dropdown li li:hover li:hover a,
 #admin-menu .dropdown li li:hover li:hover li:hover a {
-  color: #FFF;
+  color: #fff;
 }
 #admin-menu .dropdown li li.expandable:hover a,
 #admin-menu .dropdown li li.expandable:hover li.expandable:hover a {
   border-color: #444;
-  color: #EEE;
+  color: #eee;
 }
 #admin-menu .dropdown li li.expandable:hover li a,
 #admin-menu .dropdown li li.expandable:hover li.expandable:hover li a {
   border-color: #323232;
 }
 #admin-menu .dropdown li li:hover li a {
-  color: #EEE;
+  color: #eee;
 }
 
 /* Search form */

+ 34 - 24
sites/all/modules/contrib/admin/admin_menu/admin_menu.inc

@@ -97,7 +97,7 @@ function admin_menu_tree_dynamic(array $expand_map) {
   $db_or = db_or();
   foreach ($plids as $path_plids) {
     $db_and = db_and();
-    // plids with value 0 may be ignored.
+    // Plids with value 0 may be ignored.
     foreach (array_filter($path_plids) as $column => $plid) {
       $db_and->condition($column, $plid);
     }
@@ -204,7 +204,7 @@ function admin_menu_merge_tree(array &$tree, array $tree_dynamic, array $expand_
         foreach ($load_functions as $index => $function) {
           if ($function) {
             if (is_array($function)) {
-              list($function,) = each($function);
+              $function = key($function);
             }
             // Add the loader function name minus "_load".
             $placeholder = '%' . substr($function, 0, -5);
@@ -269,7 +269,7 @@ function admin_menu_translate($router_item, $map) {
     // replace any other.
     // @todo Doing this instead leads to plenty of duplicate links below
     //   admin/structure/menu; likely a hidden recursion problem.
-    // $router_item['mlid'] = $router_item['href'] . $router_item['mlid'];
+    // $router_item['mlid'] = $router_item['href'] . $router_item['mlid'];.
     $router_item['mlid'] = $router_item['href'];
     // Turn menu callbacks into regular menu items to make them visible.
     if ($router_item['type'] == MENU_CALLBACK) {
@@ -278,10 +278,12 @@ function admin_menu_translate($router_item, $map) {
 
     // @see _menu_tree_check_access()
     $key = (50000 + $router_item['weight']) . ' ' . $router_item['title'] . ' ' . $router_item['mlid'];
-    return array($key => array(
-      'link' => $router_item,
-      'below' => array(),
-    ));
+    return array(
+      $key => array(
+        'link' => $router_item,
+        'below' => array(),
+      ),
+    );
   }
 
   return array();
@@ -461,20 +463,22 @@ function admin_menu_links_icon() {
     '#access' => user_access('display drupal links'),
     '#href' => 'http://drupal.org',
   );
-  // Add links to project issue queues.
-  foreach (module_list(FALSE, TRUE) as $module) {
-    $info = drupal_parse_info_file(drupal_get_path('module', $module) . '/' . $module . '.info');
-    if (!isset($info['project']) || isset($links['icon']['drupal.org'][$info['project']])) {
-      continue;
+  if (variable_get('admin_menu_issue_queues', TRUE)) {
+    // Add links to project issue queues.
+    foreach (module_list(FALSE, TRUE) as $module) {
+      $info = drupal_parse_info_file(drupal_get_path('module', $module) . '/' . $module . '.info');
+      if (!isset($info['project']) || isset($links['icon']['drupal.org'][$info['project']])) {
+        continue;
+      }
+      $links['icon']['drupal.org'][$info['project']] = array(
+        '#title' => t('@project issue queue', array('@project' => $info['name'])),
+        '#weight' => ($info['project'] == 'drupal' ? -10 : 0),
+        '#href' => 'http://drupal.org/project/issues/' . $info['project'],
+        '#options' => array(
+          'query' => array('version' => (isset($info['core']) ? $info['core'] : 'All')),
+        ),
+      );
     }
-    $links['icon']['drupal.org'][$info['project']] = array(
-      '#title' => t('@project issue queue', array('@project' => $info['name'])),
-      '#weight' => ($info['project'] == 'drupal' ? -10 : 0),
-      '#href' => 'http://drupal.org/project/issues/' . $info['project'],
-      '#options' => array(
-        'query' => array('version' => (isset($info['core']) ? $info['core'] : 'All')),
-      ),
-    );
   }
   // Add items to flush caches.
   $links['icon']['flush-cache'] = array(
@@ -570,7 +574,7 @@ function admin_menu_links_users() {
     '#description' => t('Current anonymous / authenticated users'),
     '#weight' => -90,
     '#attributes' => array('class' => array('admin-menu-action', 'admin-menu-users')),
-    '#href' => (user_access('administer users') ? 'admin/people/people' : 'user'),
+    '#href' => (user_access('administer users') ? 'admin/people' : 'user'),
   );
   return $links;
 }
@@ -658,7 +662,7 @@ function admin_menu_theme_settings() {
     '#default_value' => variable_get('admin_menu_tweak_modules', 0),
   );
   if (module_exists('util')) {
-    $form['tweaks']['admin_menu_tweak_modules']['#description'] .= '<br /><strong>' . t('If the Utility module was installed for this purpose, it can be safely disabled and uninstalled.') . '</strong>';
+    $form['tweaks']['admin_menu_tweak_modules']['#description'] = '<br /><strong>' . t('If the Utility module was installed for this purpose, it can be safely disabled and uninstalled.') . '</strong>';
   }
   $form['tweaks']['admin_menu_tweak_permissions'] = array(
     '#type' => 'checkbox',
@@ -685,6 +689,11 @@ function admin_menu_theme_settings() {
     '#title' => t('Cache menu in client-side browser'),
     '#default_value' => variable_get('admin_menu_cache_client', 1),
   );
+  $form['performance']['admin_menu_issue_queues'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Show Issue Queue links in icon menu'),
+    '#default_value' => variable_get('admin_menu_issue_queues', 1),
+  );
 
   return system_settings_form($form);
 }
@@ -763,18 +772,20 @@ function admin_menu_flush_cache($name = NULL) {
     if (!isset($caches[$name])) {
       return MENU_NOT_FOUND;
     }
+    $message = t('@title cache cleared.', array('@title' => $caches[$name]['title']));
   }
   else {
     $caches[$name] = array(
       'title' => t('Every'),
       'callback' => 'drupal_flush_all_caches',
     );
+    $message = t('All caches cleared.');
   }
   // Pass the cache to flush forward to the callback.
   $function = $caches[$name]['callback'];
   $function($name);
 
-  drupal_set_message(t('!title cache cleared.', array('!title' => $caches[$name]['title'])));
+  drupal_set_message($message);
 
   // The JavaScript injects a destination request parameter pointing to the
   // originating page, so the user is redirected back to that page. Without
@@ -907,4 +918,3 @@ function template_preprocess_admin_menu_icon(&$variables) {
 function theme_admin_menu_icon($variables) {
   return '<img class="admin-menu-icon" src="' . $variables['src'] . '" width="16" height="16" alt="' . $variables['alt'] . '" />';
 }
-

+ 3 - 4
sites/all/modules/contrib/admin/admin_menu/admin_menu.info

@@ -8,9 +8,8 @@ configure = admin/config/administration/admin_menu
 dependencies[] = system (>7.10)
 files[] = tests/admin_menu.test
 
-; Information added by Drupal.org packaging script on 2014-12-19
-version = "7.x-3.0-rc5"
+; Information added by Drupal.org packaging script on 2018-12-03
+version = "7.x-3.0-rc6"
 core = "7.x"
 project = "admin_menu"
-datestamp = "1419029284"
-
+datestamp = "1543859284"

+ 8 - 4
sites/all/modules/contrib/admin/admin_menu/admin_menu.js

@@ -1,4 +1,8 @@
-(function($) {
+/**
+ * @file
+ */
+
+(function ($) {
 
 Drupal.admin = Drupal.admin || {};
 Drupal.admin.behaviors = Drupal.admin.behaviors || {};
@@ -139,7 +143,7 @@ Drupal.admin.getCache = function (hash, onSuccess) {
  *
  * @see toolbar.js
  */
-Drupal.admin.height = function() {
+Drupal.admin.height = function () {
   var $adminMenu = $('#admin-menu');
   var height = $adminMenu.outerHeight();
   // In IE, Shadow filter adds some extra height, so we need to remove it from
@@ -161,7 +165,7 @@ Drupal.admin.height = function() {
 Drupal.admin.attachBehaviors = function (context, settings, $adminMenu) {
   if ($adminMenu.length) {
     $adminMenu.addClass('admin-menu-processed');
-    $.each(Drupal.admin.behaviors, function() {
+    $.each(Drupal.admin.behaviors, function () {
       this(context, settings, $adminMenu);
     });
   }
@@ -206,7 +210,7 @@ Drupal.admin.behaviors.replacements = function (context, settings, $adminMenu) {
  */
 Drupal.admin.behaviors.destination = function (context, settings, $adminMenu) {
   if (settings.admin_menu.destination) {
-    $('a.admin-menu-destination', $adminMenu).each(function() {
+    $('a.admin-menu-destination', $adminMenu).each(function () {
       this.search += (!this.search.length ? '?' : '&') + Drupal.settings.admin_menu.destination;
     });
   }

+ 8 - 1
sites/all/modules/contrib/admin/admin_menu/admin_menu.map.inc

@@ -80,7 +80,14 @@ function field_ui_admin_menu_map() {
         'access callback' => 'user_access',
         'access arguments' => array('administer site configuration'),
       );
-      if (!call_user_func_array($bundle_info['admin']['access callback'], $bundle_info['admin']['access arguments'])) {
+      $access_arguments = $bundle_info['admin']['access arguments'];
+      if (isset($bundle_info['admin']['real path'])) {
+        $menu_item = menu_get_item($bundle_info['admin']['real path']);
+        if (isset($menu_item['map'])) {
+          $access_arguments = menu_unserialize(serialize($access_arguments), $menu_item['map']);
+        }
+      }
+      if (!call_user_func_array($bundle_info['admin']['access callback'], $access_arguments)) {
         continue;
       }
 

+ 25 - 14
sites/all/modules/contrib/admin/admin_menu/admin_menu.module

@@ -63,7 +63,7 @@ function admin_menu_theme() {
 function admin_menu_menu() {
   // AJAX callback.
   // @see http://drupal.org/project/js
-  $items['js/admin_menu/cache'] = array(
+  $items['js/admin_menu/cache/%'] = array(
     'page callback' => 'admin_menu_js_cache',
     'delivery callback' => 'admin_menu_deliver',
     'access arguments' => array('access administration menu'),
@@ -78,7 +78,7 @@ function admin_menu_menu() {
     'file' => 'system.admin.inc',
     'file path' => drupal_get_path('module', 'system'),
   );
-  $items['admin/config/administration/admin_menu'] = array(
+  $items['admin/config/administration/admin-menu'] = array(
     'title' => 'Administration menu',
     'description' => 'Adjust administration menu settings.',
     'page callback' => 'drupal_get_form',
@@ -211,7 +211,7 @@ function admin_menu_page_build(&$page) {
     // @todo Drupal.behaviors.adminMenuMarginTop is obsolete, but
     //   hook_page_build() does not allow to set a CSS class on the body yet.
     // @see http://drupal.org/node/1473548, http://drupal.org/node/1194528
-    //$page['#attributes']['class'][] = 'admin-menu';
+    // $page['#attributes']['class'][] = 'admin-menu';
   }
   if ($setting = variable_get('admin_menu_position_fixed', 1)) {
     $settings['position_fixed'] = $setting;
@@ -230,7 +230,7 @@ function admin_menu_page_build(&$page) {
   if ($_GET['q'] == 'admin/modules' || strpos($_GET['q'], 'admin/modules/list') === 0) {
     $settings['tweak_modules'] = variable_get('admin_menu_tweak_modules', 0);
   }
-  if ($_GET['q'] == 'admin/people/permissions' || $_GET['q'] == 'admin/people/permissions/list') {
+  if (strpos($_GET['q'], 'admin/people/permissions') === 0) {
     $settings['tweak_permissions'] = variable_get('admin_menu_tweak_permissions', 0);
   }
 
@@ -502,7 +502,6 @@ function admin_menu_output($complete = FALSE) {
 
     // @todo Move the below callbacks into hook_admin_menu_build()
     //   implementations (and $module.admin_menu.inc).
-
     // Add administration menu.
     if (!empty($components['admin_menu.menu']) || $complete) {
       $content['menu'] = admin_menu_links_menu(admin_menu_tree('management'));
@@ -548,7 +547,10 @@ function admin_menu_output($complete = FALSE) {
 
   // Store the new hash for this user.
   if (!empty($_COOKIE['has_js']) && !$complete) {
-    admin_menu_cache_set($cid, md5($content));
+    $cache = cache_get($cid, 'cache_admin_menu');
+    if (!$cache || !isset($cache->data)) {
+      admin_menu_cache_set($cid, md5($content));
+    }
   }
 
   return $content;
@@ -603,11 +605,13 @@ function admin_menu_admin_menu_output_build(&$content) {
  * Implements hook_admin_menu_output_alter().
  */
 function admin_menu_admin_menu_output_alter(&$content) {
-  foreach ($content['menu'] as $key => $link) {
-    // Move local tasks on 'admin' into icon menu.
-    if ($key == 'admin/tasks' || $key == 'admin/index') {
-      $content['icon']['icon'][$key] = $link;
-      unset($content['menu'][$key]);
+  if (!empty($content['menu'])) {
+    foreach ($content['menu'] as $key => $link) {
+      // Move local tasks on 'admin' into icon menu.
+      if ($key == 'admin/tasks' || $key == 'admin/index') {
+        $content['icon']['icon'][$key] = $link;
+        unset($content['menu'][$key]);
+      }
     }
   }
 }
@@ -677,6 +681,13 @@ function theme_admin_menu_links($variables) {
         $elements[$path]['#options']['attributes']['class'][] = 'admin-menu-destination';
       }
 
+      // If the path has an alias replace the href with the alias.
+      if (module_exists('path')) {
+        if ($alias = drupal_get_path_alias($elements[$path]['#href'])) {
+          $elements[$path]['#href'] = $alias;
+        }
+      }
+
       $link = l($elements[$path]['#title'], $elements[$path]['#href'], $elements[$path]['#options']);
     }
     // Handle plain text items, but do not interfere with menu additions.
@@ -751,7 +762,7 @@ function admin_menu_translated_menu_link_alter(&$item, $map) {
     }
   }
 
-  // Don't waste cycles altering items that are not visible
+  // Don't waste cycles altering items that are not visible.
   if (!$item['access']) {
     return;
   }
@@ -795,8 +806,8 @@ function admin_menu_flush_caches($uid = NULL) {
   cache_clear_all($cid, 'cache_menu', TRUE);
   // Flush client-side cache hashes.
   drupal_static_reset('admin_menu_cache_get');
-  // db_table_exists() required for SimpleTest.
-  if (db_table_exists('cache_admin_menu')) {
+  // If cache_admin_menu is not empty, flush it.
+  if (!cache_is_empty('cache_admin_menu')) {
     cache_clear_all(isset($uid) ? $cid : '*', 'cache_admin_menu', TRUE);
   }
 }

+ 0 - 1
sites/all/modules/contrib/admin/admin_menu/admin_menu.uid1.css

@@ -1,4 +1,3 @@
-
 /**
  * @file
  * Administration menu color override for uid1.

+ 4 - 0
sites/all/modules/contrib/admin/admin_menu/admin_menu_toolbar/admin_menu_toolbar-rtl.css

@@ -0,0 +1,4 @@
+#admin-menu > div > .dropdown > li > a,
+#admin-menu > div > .dropdown > li > span {
+  border-left: 0;
+}

+ 3 - 4
sites/all/modules/contrib/admin/admin_menu/admin_menu_toolbar/admin_menu_toolbar.css

@@ -1,4 +1,3 @@
-
 /**
  * @file
  * Toolbar style for Administration menu.
@@ -63,8 +62,9 @@ body div#toolbar.toolbar {
   background: url(toolbar.png) no-repeat 0 -45px;
   text-indent: -9999px;
 }
-#admin-menu > div > .dropdown > li > a {
-  border-right: 0;
+#admin-menu > div > .dropdown > li > a,
+#admin-menu > div > .dropdown > li > span {
+  border-right: 0; /* LTR */
   margin-bottom: 4px;
   padding: 2px 10px 3px;
 }
@@ -142,4 +142,3 @@ body div#toolbar.toolbar {
 #admin-menu .shortcut-toolbar a {
   display: block;
 }
-

+ 3 - 4
sites/all/modules/contrib/admin/admin_menu/admin_menu_toolbar/admin_menu_toolbar.info

@@ -4,9 +4,8 @@ package = Administration
 core = 7.x
 dependencies[] = admin_menu
 
-; Information added by Drupal.org packaging script on 2014-12-19
-version = "7.x-3.0-rc5"
+; Information added by Drupal.org packaging script on 2018-12-03
+version = "7.x-3.0-rc6"
 core = "7.x"
 project = "admin_menu"
-datestamp = "1419029284"
-
+datestamp = "1543859284"

+ 0 - 1
sites/all/modules/contrib/admin/admin_menu/admin_menu_toolbar/admin_menu_toolbar.install

@@ -34,4 +34,3 @@ function admin_menu_toolbar_update_6300() {
     ->condition('name', 'admin_menu_toolbar')
     ->execute();
 }
-

+ 0 - 1
sites/all/modules/contrib/admin/admin_menu/admin_menu_toolbar/admin_menu_toolbar.module

@@ -115,4 +115,3 @@ function admin_menu_toolbar_admin_menu_output_alter(&$content) {
     $content['account']['account']['#options']['html'] = TRUE;
   }
 }
-

+ 51 - 16
sites/all/modules/contrib/admin/admin_menu/tests/admin_menu.test

@@ -16,7 +16,10 @@ class AdminMenuWebTestCase extends DrupalWebTestCase {
     'admin_menu' => 'access administration menu',
   );
 
-  function setUp() {
+  /**
+   *
+   */
+  public function setUp() {
     // Enable admin menu module and any other modules.
     $modules = func_get_args();
     $modules = isset($modules[0]) ? $modules[0] : $modules;
@@ -108,12 +111,17 @@ class AdminMenuWebTestCase extends DrupalWebTestCase {
     $xpath = '//div[@id="admin-menu"]/div/ul' . implode('/parent::li/ul', $xpath);
     $this->assertNoElementByXPath($xpath, $args, $message . ' link not found.');
   }
+
 }
 
 /**
  * Tests menu links depending on user permissions.
  */
 class AdminMenuPermissionsTestCase extends AdminMenuWebTestCase {
+
+  /**
+   *
+   */
   public static function getInfo() {
     return array(
       'name' => 'Menu link access permissions',
@@ -122,14 +130,17 @@ class AdminMenuPermissionsTestCase extends AdminMenuWebTestCase {
     );
   }
 
-  function setUp() {
+  /**
+   *
+   */
+  public function setUp() {
     parent::setUp(array('node'));
   }
 
   /**
    * Test that the links are added to the page (no JS testing).
    */
-  function testPermissions() {
+  public function testPermissions() {
     module_enable(array('contact'));
     $this->resetAll();
 
@@ -140,7 +151,7 @@ class AdminMenuPermissionsTestCase extends AdminMenuWebTestCase {
     // Create a user who
     // - can access content overview
     // - cannot access drupal.org links
-    // - cannot administer Contact module
+    // - cannot administer Contact module.
     $permissions = $this->basePermissions + array(
       'access content overview',
     );
@@ -156,7 +167,7 @@ class AdminMenuPermissionsTestCase extends AdminMenuWebTestCase {
     // Create a user "reversed" to the above; i.e., who
     // - cannot access content overview
     // - can access drupal.org links
-    // - can administer Contact module
+    // - can administer Contact module.
     $permissions = $this->basePermissions + array(
       'display drupal links',
       'administer contact forms',
@@ -172,7 +183,7 @@ class AdminMenuPermissionsTestCase extends AdminMenuWebTestCase {
   /**
    * Tests handling of links pointing to category/overview pages.
    */
-  function testCategories() {
+  public function testCategories() {
     // Create a user with minimum permissions.
     $admin_user = $this->drupalCreateUser($this->basePermissions);
     $this->drupalLogin($admin_user);
@@ -201,7 +212,7 @@ class AdminMenuPermissionsTestCase extends AdminMenuWebTestCase {
   /**
    * Tests that user role and permission changes are properly taken up.
    */
-  function testPermissionChanges() {
+  public function testPermissionChanges() {
     // Create a user who is able to change permissions.
     $permissions = $this->basePermissions + array(
       'administer permissions',
@@ -253,12 +264,17 @@ class AdminMenuPermissionsTestCase extends AdminMenuWebTestCase {
     // Verify that Structure » Content types does not appear.
     $this->assertNoLinkTrailByTitle(array(t('Structure'), t('Content types')));
   }
+
 }
 
 /**
  * Tests appearance, localization, and escaping of dynamic links.
  */
 class AdminMenuDynamicLinksTestCase extends AdminMenuWebTestCase {
+
+  /**
+   *
+   */
   public static function getInfo() {
     return array(
       'name' => 'Dynamic links',
@@ -267,14 +283,17 @@ class AdminMenuDynamicLinksTestCase extends AdminMenuWebTestCase {
     );
   }
 
-  function setUp() {
+  /**
+   *
+   */
+  public function setUp() {
     parent::setUp(array('node'));
   }
 
   /**
    * Tests node type links.
    */
-  function testNode() {
+  public function testNode() {
     $type = $this->drupalCreateContentType(array('type' => 'article', 'name' => 'Article'));
     // Create a content-type with special characters.
     $type = $this->drupalCreateContentType(array('type' => 'special', 'name' => 'Cool & Special'));
@@ -324,7 +343,7 @@ class AdminMenuDynamicLinksTestCase extends AdminMenuWebTestCase {
   /**
    * Tests Add content links.
    */
-  function testNodeAdd() {
+  public function testNodeAdd() {
     $type = $this->drupalCreateContentType(array('type' => 'article', 'name' => 'Article'));
 
     // Verify that "Add content" does not appear for unprivileged users.
@@ -359,12 +378,17 @@ class AdminMenuDynamicLinksTestCase extends AdminMenuWebTestCase {
       t('Add content'),
     ));
   }
+
 }
 
 /**
  * Tests appearance of different types of links.
  */
 class AdminMenuLinkTypesTestCase extends AdminMenuWebTestCase {
+
+  /**
+   *
+   */
   public static function getInfo() {
     return array(
       'name' => 'Link types',
@@ -373,7 +397,10 @@ class AdminMenuLinkTypesTestCase extends AdminMenuWebTestCase {
     );
   }
 
-  function setUp() {
+  /**
+   *
+   */
+  public function setUp() {
     parent::setUp(array('help'));
 
     $permissions = module_invoke_all('permission');
@@ -385,7 +412,7 @@ class AdminMenuLinkTypesTestCase extends AdminMenuWebTestCase {
   /**
    * Tests appearance of different router item link types.
    */
-  function testLinkTypes() {
+  public function testLinkTypes() {
     // Verify that MENU_NORMAL_ITEMs appear.
     $this->assertLinkTrailByTitle(array(
       t('Configuration'),
@@ -420,12 +447,17 @@ class AdminMenuLinkTypesTestCase extends AdminMenuWebTestCase {
       ':title' => t('Index'),
     ), "Icon » Index link found.");
   }
+
 }
 
 /**
  * Tests customized menu links.
  */
 class AdminMenuCustomizedTestCase extends AdminMenuWebTestCase {
+
+  /**
+   *
+   */
   public static function getInfo() {
     return array(
       'name' => 'Customized links',
@@ -434,7 +466,10 @@ class AdminMenuCustomizedTestCase extends AdminMenuWebTestCase {
     );
   }
 
-  function setUp() {
+  /**
+   *
+   */
+  public function setUp() {
     parent::setUp(array('menu'));
 
     $this->admin_user = $this->drupalCreateUser($this->basePermissions + array(
@@ -446,7 +481,7 @@ class AdminMenuCustomizedTestCase extends AdminMenuWebTestCase {
   /**
    * Test disabled custom links.
    */
-  function testCustomDisabled() {
+  public function testCustomDisabled() {
     $type = $this->drupalCreateContentType();
     $node = $this->drupalCreateNode(array('type' => $type->type));
     $text = $this->randomName();
@@ -488,7 +523,7 @@ class AdminMenuCustomizedTestCase extends AdminMenuWebTestCase {
   /**
    * Tests external links.
    */
-  function testCustomExternal() {
+  public function testCustomExternal() {
     // Add a custom link to the node to the menu.
     $edit = array(
       'link_path' => 'http://example.com',
@@ -516,5 +551,5 @@ class AdminMenuCustomizedTestCase extends AdminMenuWebTestCase {
       ':path' => $path,
     ))->fetchField();
   }
-}
 
+}

+ 6 - 0
sites/all/modules/contrib/admin/adminimal_admin_menu/CREDITS.txt

@@ -0,0 +1,6 @@
+# Design and development
+* [ANDiTKO](https://anditko.com/)
+
+# Icons
+* [Icons8](https://icons8.com/)
+* [VisualPharm](https://visualpharm.com/)

+ 14 - 12
sites/all/modules/contrib/admin/adminimal_admin_menu/README.txt

@@ -1,22 +1,24 @@
-Quick info:
+# Quick info
 “Adminimal Administration Menu” changes the style of the
 “Administration menu” module. It adds a nice and simple minimalist look and
 provides some tweaks to improve you Drupal administration experience. 
-The menu hierarchy is not simpler and easier to understand
-(removing the unnecessary transparency and only highlighting the correct menus).
- It also adds shortcut links that can be edited from the core shortcut module. 
- The shortcut links fit nicely and have a small icon that separates them from
- the normal admin menu links.
 
-Requirements:
-Requires the administration menu module (http://drupal.org/project/admin_menu) 
+The menu hierarchy is now easier to understand, by removing the unnecessary
+transparency and only highlighting the correct menus.
 
-Installation:
-1) Download and install like any other drupal module
-2) Enable the “Administration menu Adminimal Theme” from the module manager. 
+It also adds shortcut links that can be edited from the core shortcut module.
+The shortcut links fit nicely and have a small icon that separates them from
+the normal admin menu links.
+
+# Requirements
+* [Administration menu module](http://drupal.org/project/admin_menu)
+
+# Installation
+1. Download and install like any other drupal module
+2. Enable the “Administration menu Adminimal Theme” from the module manager.
 If you are using the “Administration menu Toolbar style” it will be disabled
 automatically to prevent some styling issues. This change will be saved in your
 database, so if you decide to disable the “Administration menu Adminimal Theme”
 your old “Administration menu Toolbar style” will be enabled automatically
 so you have nothing to worry about.
-3) Refresh your administration page and you must be good to go!
+3. Refresh your administration page and you must be good to go!

+ 103 - 0
sites/all/modules/contrib/admin/adminimal_admin_menu/adminimal_admin_menu.admin.inc

@@ -0,0 +1,103 @@
+<?php
+
+/**
+ * @file
+ * Administation settings for Adminimal Admin Menu.
+ */
+
+/**
+ * Settings page form.
+ */
+function adminimal_admin_menu_settings($form, &$form_state) {
+
+  // Create the shortcut category.
+  $form['shortcut'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Shortcut options'),
+  );
+
+  if (module_exists('shortcut')) {
+    // Create the select list.
+    $form['shortcut']['adminimal_admin_menu_render'] = array(
+      '#type' => 'radios',
+      '#title' => t('Rendering method'),
+      '#default_value' => variable_get('adminimal_admin_menu_render', 'collapsed'),
+      '#options' => array(
+        'hidden' => t('Hidden'),
+        'inline' => t('Inline'),
+        'collapsed' => t('Collapsed'),
+        'newline' => t('Newline'),
+        'dropdown' => t('Dropdown'),
+        'exclusive' => t('Exclusive'),
+      ),
+      '#required' => TRUE,
+    );
+
+    $descriptions = &$form['shortcut']['adminimal_admin_menu_render'];
+    $descriptions['hidden']['#description'] = t('Shortcuts will not be rendered inside the admin menu.');
+    $descriptions['inline']['#description'] = t('Shortcuts will be rendered on the same line with the root menu links.');
+    $descriptions['collapsed']['#description'] = t('Shortcuts will be collapsed like a normal menu.');
+    $descriptions['newline']['#description'] = t('<b>(Default)</b>') . ' ' . t('Shortcuts will be rendered on a new line, below the root menu links.');
+    $descriptions['dropdown']['#description'] = t('Shortcuts will be rendered inside a dropdown using the select html tag.');
+    $descriptions['exclusive']['#description'] = t('Only the shortcuts will be rendered; the normal menu will be hidden.');
+  }
+  else {
+    $form['shortcut']['#description'] = t('Module Shortcut is supported, but not required by Adminimal Admin Menu.');
+  }
+
+  // Create the advanced settings category.
+  $form['advanced_settings'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Advanced settings'),
+    '#description' => t('Do not change any of the advanced setting unless you know what you are doing!'),
+    '#collapsible' => TRUE,
+    '#collapsed' => TRUE,
+  );
+
+  $form['advanced_settings']['adminimal_admin_menu_slicknav'] = array(
+    '#type' => 'checkbox',
+    '#default_value' => variable_get('adminimal_admin_menu_slicknav', TRUE),
+    '#title' => t('Enable Responsive Menu.'),
+    '#description' => t('Enable this option if you want to have responsive menu and mobile device support. While disabling this option could save you few kilobytes (around 3KB), it will completely disable the responsive menu functionality.'),
+  );
+
+  $form['advanced_settings']['adminimal_admin_menu_jquery'] = array(
+    '#type' => 'checkbox',
+    '#default_value' => variable_get('adminimal_admin_menu_jquery', TRUE),
+    '#title' => t('Load the required jQuery 1.7 library automagically.'),
+    '#description' => t('This will load the newer jQuery version 1.7 using the no-conflict method so it won\'t interfere with any existing jQuery or other JavaScript libraries. The only reason to un-check this if you are already using a newer version of jQuery site-wide and its globally accessible by the "$" variable. Un-cheking this option could save you 33KB, but it may also break your JavaScript if not used correctly.'),
+    '#states' => array(
+      // Hide the settings when the cancel notify checkbox is disabled.
+      'visible' => array(
+        ':input[name="adminimal_admin_menu_slicknav"]' => array('checked' => TRUE),
+      ),
+    ),
+  );
+
+  $form['advanced_settings']['adminimal_admin_menu_viewport'] = array(
+    '#type' => 'checkbox',
+    '#default_value' => variable_get('adminimal_admin_menu_viewport', TRUE),
+    '#title' => t('Set the metatag viewport <em>\'width=device-width, initial-scale=1\'</em> for devices.'),
+    '#description' => t('This is needed for the responsive menu, if no other theme or module sets the viewport.'),
+    '#states' => array(
+      // Hide the settings when the cancel notify checkbox is disabled.
+      'visible' => array(
+        ':input[name="adminimal_admin_menu_slicknav"]' => array('checked' => TRUE),
+      ),
+    ),
+  );
+
+  $form = system_settings_form($form);
+
+  $form['#submit'][] = 'adminimal_admin_menu_settings_submit';
+
+  return $form;
+}
+
+/**
+ * Submit callback for adminimal_admin_menu_settings();
+ */
+function adminimal_admin_menu_settings_submit($form, &$form_state) {
+  // Clear the admin menu cache.
+  admin_menu_flush_caches();
+}

+ 16 - 85
sites/all/modules/contrib/admin/adminimal_admin_menu/adminimal_admin_menu.css

@@ -6,22 +6,18 @@
   font-weight: 300;
   src: local('Open Sans Light'), local('OpenSans-Light'), url(https://themes.googleusercontent.com/static/fonts/opensans/v6/DXI1ORHCpsQm3Vp6mXoaTRsxEYwM7FgeyaSgU71cLG0.woff) format('woff');
 }
-
 @font-face {
   font-family: 'Open Sans';
   font-style: normal;
   font-weight: 400;
   src: local('Open Sans'), local('OpenSans'), url(https://themes.googleusercontent.com/static/fonts/opensans/v6/uYKcPVoh6c5R0NpdEY5A-Q.woff) format('woff');
 }
-
 @font-face {
   font-family: 'Open Sans';
   font-style: normal;
   font-weight: 600;
   src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(https://themes.googleusercontent.com/static/fonts/opensans/v6/MTP_ySUJH_bn48VBG8sNShsxEYwM7FgeyaSgU71cLG0.woff) format('woff');
 }
-
-
 /* Blink Animation */
 
 @keyframes blink {
@@ -38,7 +34,6 @@
     color: #fff;
   }
 }
-
 @-moz-keyframes blink {
   0% {
     background-color: #f69231;
@@ -53,7 +48,6 @@
     color: #fff;
   }
 }
-
 @-webkit-keyframes blink {
   0% {
     background-color: #f69231;
@@ -68,7 +62,6 @@
     color: #fff;
   }
 }
-
 @-o-keyframes blink {
   0% {
     background-color: #f69231;
@@ -83,15 +76,12 @@
     color: #fff;
   }
 }
-
 body.admin-menu.adminimal-menu #admin-menu *::-moz-focus-inner {
   border: 0;
 }
-
 body.admin-menu.adminimal-menu {
-  margin-top: 0px !important;
+  margin-top: 0 !important;
 }
-
 body.admin-menu.adminimal-menu:before {
   content: "";
   display: block;
@@ -100,18 +90,15 @@ body.admin-menu.adminimal-menu:before {
   top: 0;
   left: 0;
 }
-
 body.adminimal-menu div#admin-menu {
   background: #333;
   background: none repeat scroll 0 0 #202020;
-  border-bottom: 1px solid #111111;
+  border-bottom: 1px solid #111;
   font-family: Open Sans, "Segoe UI", "Helvetica", sans-serif;
 }
-
 body.adminimal-menu div#admin-menu li.admin-menu-toolbar-home-menu {
   background: transparent;
 }
-
 body.adminimal-menu div#admin-menu ul.dropdown span.admin-menu-home-icon {
   background: url("images/home.svg") no-repeat scroll 0 0 transparent;
   display: block;
@@ -119,7 +106,6 @@ body.adminimal-menu div#admin-menu ul.dropdown span.admin-menu-home-icon {
   padding: 0;
   width: 15px;
 }
-
 body.adminimal-menu div#admin-menu a,
 body.adminimal-menu div#admin-menu span {
   border: none !important;
@@ -127,146 +113,114 @@ body.adminimal-menu div#admin-menu span {
   font-size: 12px;
   line-height: 18px;
 }
-
 body.adminimal-menu div#admin-menu a:hover {
   background-color: #0074bd;
   color: #fff;
 }
-
 body.adminimal-menu #admin-menu .dropdown li li {
   background-color: #1f1f1f;
 }
-
 body.adminimal-menu #admin-menu .dropdown li li.expandable ul {
   margin-top: -28px;
 }
-
 body.adminimal-menu #admin-menu .dropdown li li > li.admin-menu-toolbar-category {
   background: #fff !important;
 }
-
 body.adminimal-menu #admin-menu .dropdown li li li:hover,
 body.adminimal-menu #admin-menu .dropdown li:hover {
   background: #0074bd !important;
 }
-
 body.adminimal-menu #admin-menu .dropdown a {
   border-right: none;
 }
-
 body.adminimal-menu #admin-menu .dropdown li.admin-menu-toolbar-category a {
   line-height: 20px;
 }
-
 body.adminimal-menu #admin-menu .dropdown li.admin-menu-toolbar-category a:focus {
-  background: #0074BD;
+  background: #0074bd;
 }
-
 body.adminimal-menu #admin-menu #admin-menu-wrapper .dropdown li li {
   opacity: 1;
 }
-
 body.adminimal-menu #admin-menu .dropdown li li:hover,
 body.adminimal-menu #admin-menu .dropdown li li.iehover {
   background-color: #333;
 }
-
 body.adminimal-menu #admin-menu #admin-menu-wrapper .dropdown li li a {
   border: none;
 }
-
 body.adminimal-menu #admin-menu #admin-menu-wrapper .dropdown li li.expandable {
   background: url("images/square.png") no-repeat scroll 145px 11px #1f1f1f;
 }
-
 body.adminimal-menu #admin-menu #admin-menu-wrapper .dropdown li li.expandable a {
   background: transparent;
   padding-right: 25px;
 }
-
 body.adminimal-menu #admin-menu #admin-menu-wrapper .dropdown li li.expandable:hover {
   background: url("images/square.png") no-repeat scroll 145px -83px #0074bd !important;
 }
-
-
 /* Shortcuts bar */
 
 body.adminimal-menu div.toolbar-shortcuts {
   float: left;
 }
-
 body.adminimal-menu div.shortcut-toolbar div#toolbar div.toolbar-shortcuts ul.menu {
   margin: 0;
   padding: 0;
 }
-
 body.adminimal-menu div.shortcut-toolbar div#toolbar div.toolbar-shortcuts ul.menu li {
   float: left;
   list-style: none outside none;
   padding: 0;
   margin: 0;
 }
-
 body.adminimal-menu div.shortcut-toolbar div#toolbar a#edit-shortcuts {
   float: right;
   line-height: 18px;
   padding: 5px 10px;
   text-decoration: none;
 }
-
 body.adminimal-menu div.shortcut-toolbar div#toolbar a#edit-shortcuts:hover {
   text-decoration: none;
 }
-
 body.adminimal-menu div.shortcut-toolbar div#toolbar a#edit-shortcuts:focus {
-  background: #0074BD;
+  background: #0074bd;
 }
-
 body.adminimal-menu #admin-menu .dropdown li ul {
   box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
 }
-
 body.adminimal-menu #admin-menu .dropdown li ul {
-  border-top: 3px solid #0074BD;
+  border-top: 3px solid #0074bd;
 }
-
 body.adminimal-menu #admin-menu .admin-menu-toolbar-category.expandable .dropdown li ul,
 body.adminimal-menu #admin-menu .dropdown.admin-menu-search-results li ul {
   border-top: none;
 }
-
 body.adminimal-menu #admin-menu .dropdown li.admin-menu-action a {
   border: none !important;
 }
-
 body.adminimal-menu #admin-menu .dropdown li.admin-menu-action:first-child a {
   background: #444;
   padding: 5px 10px;
 }
-
 body.adminimal-menu #admin-menu .dropdown li.admin-menu-action:first-child a:hover,
 body.adminimal-menu #admin-menu .dropdown li.admin-menu-action:first-child a:focus {
   background: #b73939;
 }
-
 body.adminimal-menu #admin-menu .dropdown li.admin-menu-action.admin-menu-users {
   border-left: 1px solid #000;
 }
-
 body.adminimal-menu #admin-menu .dropdown li.admin-menu-action.admin-menu-users a:hover {
-  background: #0074BD;
+  background: #0074bd;
 }
-
 body.adminimal-menu #admin-menu .dropdown li.admin-menu-action.admin-menu-account a {
   background: #4d8f46 !important;
   border: medium none;
   padding: 5px 10px;
 }
-
 body.adminimal-menu #admin-menu .dropdown li.admin-menu-action.admin-menu-account a:hover {
   background: #277d1e !important;
 }
-
 body.adminimal-menu #admin-menu #admin-menu-wrapper div#toolbar div.toolbar-shortcuts ul li a {
   background: url("images/shortcut.png") no-repeat scroll 7px 7px transparent;
   border-radius: 0 0 0 0;
@@ -275,17 +229,15 @@ body.adminimal-menu #admin-menu #admin-menu-wrapper div#toolbar div.toolbar-shor
   padding: 5px 10px;
   text-indent: 16px;
 }
-
 body.adminimal-menu #admin-menu #admin-menu-wrapper div#toolbar div.toolbar-shortcuts ul li a:hover {
   background-color: #0074bd;
   background-position: 7px -78px;
 }
-
 body.adminimal-menu #admin-menu .admin-menu-search input {
   background: none no-repeat scroll right center #444;
   border: medium none;
   border-radius: 0 0 0 0;
-  color: #999999;
+  color: #999;
   font-size: 12px;
   margin: 0 !important;
   outline: medium none;
@@ -293,18 +245,15 @@ body.adminimal-menu #admin-menu .admin-menu-search input {
   width: 110px;
   height: 20px;
 }
-
 body.adminimal-menu #admin-menu .admin-menu-search input:focus,
 #admin-menu .admin-menu-search input:hover,
 #admin-menu .admin-menu-search input:active {
   background: none no-repeat scroll right center #888;
   color: #eee;
 }
-
 body.adminimal-menu li.admin-menu-search:hover {
   background: transparent !important;
 }
-
 body.adminimal-menu div#admin-menu li.highlight {
   background-color: #ef6114;
   animation: blink 1s ease both infinite;
@@ -313,7 +262,6 @@ body.adminimal-menu div#admin-menu li.highlight {
   -o-animation: blink 1s ease both infinite;
   color: #fff !important;
 }
-
 body.adminimal-menu #admin-menu li.highlight > a,
 body.adminimal-menu #admin-menu li.highlight > li {
   border-color: #ef6114;
@@ -323,87 +271,69 @@ body.adminimal-menu #admin-menu li.highlight > li {
   -webkit-animation: blink 1s ease both infinite;
   -o-animation: blink 1s ease both infinite;
 }
-
-
 /* Newline render mode */
 
 body.adminimal-menu.admin-menu.menu-render-newline div#admin-menu div#admin-menu-wrapper div.shortcut-toolbar {
   clear: both;
   border-top: 1px solid #000;
 }
-
-body.adminimal-menu.admin-menu.menu-render-newline {
-  margin-top: 56px !important;
+body.admin-menu.adminimal-menu.menu-render-newline:before {
+  height: 56px;
 }
-
 body.adminimal-menu.admin-menu.menu-render-newline #overlay-container,
 body.adminimal-menu.admin-menu.newline .overlay-modal-background,
 body.adminimal-menu.admin-menu.newline .overlay-element,
 body.adminimal-menu.admin-menu.newline #overlay {
   padding-top: 30px !important;
 }
-
-
 /* Collapsed render mode */
 
 body.adminimal-menu.admin-menu.menu-render-collapsed div.shortcut-toolbar div#toolbar div.toolbar-shortcuts ul.menu {
   position: absolute;
 }
-
 body.adminimal-menu.admin-menu.menu-render-collapsed div.shortcut-toolbar div#toolbar div.toolbar-shortcuts ul.menu li {
   float: none;
   display: none;
   border: none;
 }
-
 body.adminimal-menu.admin-menu.menu-render-collapsed div.shortcut-toolbar div#toolbar div.toolbar-shortcuts ul.menu li.label {
   display: block;
   cursor: default;
 }
-
 body.adminimal-menu.admin-menu.menu-render-collapsed div.shortcut-toolbar div#toolbar div.toolbar-shortcuts ul.menu li.label a:hover {
   background: url("images/shortcut.png") no-repeat scroll 7px 7px #202020 !important;
-  color: #EEEEEE !important;
+  color: #eee !important;
 }
-
 body.adminimal-menu.admin-menu.menu-render-collapsed div.shortcut-toolbar div#toolbar div.toolbar-shortcuts ul.menu:hover li {
   display: block;
   background: #202020;
 }
-
-
 /* Dropdown render mode */
 
 body.adminimal-menu.admin-menu.menu-render-dropdown .toolbar-shortcuts select#shortcut-menu {
   -webkit-appearance: none;
-  background: url("images/shortcut.png") no-repeat scroll 7px 7px #222222;
+  background: url("images/shortcut.png") no-repeat scroll 7px 7px #222;
   border: medium none;
-  color: #EEEEEE;
+  color: #eee;
   font-family: "Open Sans", "Segoe UI", "Helvetica", sans-serif;
   font-size: 12px;
   padding: 5px 4px 4px 24px;
 }
-
 body.adminimal-menu.admin-menu.menu-render-dropdown .toolbar-shortcuts select#shortcut-menu option:hover {
   cursor: pointer;
 }
-
 body.adminimal-menu.admin-menu.menu-render-dropdown .toolbar-shortcuts select#shortcut-menu option:first-child {
   display: none;
 }
-
 body.adminimal-menu #admin-menu .dropdown .admin-menu-tab {
   background: #444;
   padding-bottom: 2px;
 }
-
-
 /* Environment indicator 2.x */
 
 body.adminimal-menu #admin-menu #environment-indicator {
   text-shadow: none;
 }
-
 body.adminimal-menu #admin-menu #environment-indicator .environment-indicator-name {
   background-image: none;
   border-left: 1px solid #323232;
@@ -412,20 +342,18 @@ body.adminimal-menu #admin-menu #environment-indicator .environment-indicator-na
   line-height: 18px;
   padding: 5px 10px;
 }
-
 body.adminimal-menu #admin-menu #admin-menu-wrapper div#toolbar div.toolbar-shortcuts ul,
 body.adminimal-menu #admin-menu #admin-menu-wrapper div#toolbar div.toolbar-shortcuts ul li {
   margin: 0;
   padding: 0;
 }
-
 body.adminimal-menu #admin-menu .admin-menu-search input {
   background: none no-repeat scroll right center #444;
   border: medium none;
   -webkit-border-radius: 0 0 0 0;
   -moz-border-radius: 0 0 0 0;
   border-radius: 0 0 0 0;
-  color: #999999;
+  color: #999;
   font-size: 12px;
   margin: 0 !important;
   outline: medium none;
@@ -438,3 +366,6 @@ body.adminimal-menu #admin-menu .admin-menu-search input {
   height: 28px;
   box-sizing: border-box;
 }
+#admin-menu-search .form-item.form-type-textfield label.control-label {
+  display: none;
+}

+ 4 - 3
sites/all/modules/contrib/admin/adminimal_admin_menu/adminimal_admin_menu.info

@@ -3,10 +3,11 @@ description = Clean and minimal theme for the administration menu module.
 package = Administration
 core = 7.x
 dependencies[] = admin_menu
+configure = admin/config/administration/adminimal_menu
 
-; Information added by Drupal.org packaging script on 2015-12-03
-version = "7.x-1.7"
+; Information added by Drupal.org packaging script on 2018-02-28
+version = "7.x-1.9"
 core = "7.x"
 project = "adminimal_admin_menu"
-datestamp = "1449182323"
+datestamp = "1519862286"
 

+ 14 - 2
sites/all/modules/contrib/admin/adminimal_admin_menu/adminimal_admin_menu.install

@@ -84,7 +84,19 @@ function adminimal_admin_menu_uninstall() {
  */
 function adminimal_admin_menu_update_7100() {
 
-  // Include the update file.
-  include 'updates/update_7100.php';
+  // Define Adminimal Menu path.
+  $module_path = drupal_get_path('module', 'adminimal_admin_menu');
 
+  if (file_exists($module_path . '/adminimal_admin_menu.js')) {
+    // Delete the "adminimal_admin_menu.js" file.
+    file_unmanaged_delete($module_path . '/adminimal_admin_menu.js');
+  }
+
+  if (file_exists($module_path . '/slicknav')) {
+    // Empty the "slicknav" folder.
+    file_unmanaged_delete_recursive($module_path . '/slicknav');
+
+    // Delete the "slicknav" folder.
+    drupal_rmdir($module_path . '/slicknav');
+  }
 }

+ 148 - 82
sites/all/modules/contrib/admin/adminimal_admin_menu/adminimal_admin_menu.module

@@ -10,17 +10,34 @@
  */
 function adminimal_admin_menu_menu() {
   $items = array();
+
   $items['admin/config/administration/adminimal_menu'] = array(
     'title' => 'Adminimal menu',
     'description' => 'Adjust adminimal menu settings.',
     'page callback' => 'drupal_get_form',
     'page arguments' => array('adminimal_admin_menu_settings'),
     'access arguments' => array('administer site configuration'),
-    'file' => 'adminimal_menu_settings.inc',
+    'file' => 'adminimal_admin_menu.admin.inc',
   );
 
   return $items;
+}
 
+/**
+ * Implements hook_module_implements_alter().
+ */
+function adminimal_admin_menu_module_implements_alter(&$implementations, $hook) {
+  // Put Adminimal Admin Menu's implementation of hook_admin_menu_output_alter()
+  // to the end of the list of implementors, assuring that it will be executed
+  // at the very end. Other modules may manipulate the menu items in the
+  // administration menu (i.e. the excellent Administration Menu Source) and we
+  // need to make sure those changes are preserved and respected by the output
+  // of Adminimal Admin Menu.
+  if ($hook == 'admin_menu_output_alter') {
+    $group = $implementations['adminimal_admin_menu'];
+    unset($implementations['adminimal_admin_menu']);
+    $implementations['adminimal_admin_menu'] = $group;
+  }
 }
 
 /**
@@ -31,46 +48,42 @@ function adminimal_admin_menu_page_build(&$page) {
     return;
   }
   $path = drupal_get_path('module', 'adminimal_admin_menu');
-	$load_slicknav = variable_get('adminimal_admin_menu_slicknav', TRUE );
-	$load_jQuery = variable_get('adminimal_admin_menu_jquery', TRUE );
+  $load_slicknav = variable_get('adminimal_admin_menu_slicknav', TRUE);
+  $load_jquery = variable_get('adminimal_admin_menu_jquery', TRUE);
 
   // Attach the CSS and JavaScript assets.
   drupal_add_css($path . '/adminimal_admin_menu.css');
 
-	// Support for the Environment Indicator module.
-  if (module_exists('environment_indicator')) {
-  $environment_info = environment_indicator_get_active();
-	  drupal_add_css('
-      div.slicknav_menu a.slicknav_btn:after {
-      	content: "' . $environment_info['name']. '";
-      	margin-left: 1em;
-      	color: ' . $environment_info['text_color'] . ';
-      	font-size: 12px;
-      	background-color: ' . $environment_info['color'] . ';
-				padding: 2px 5px;
-			}
-			#admin-menu-wrapper {background: #222 !important;}
-			',
-      array(
-        'group' => CSS_DEFAULT,
-        'type' => 'inline',
-        'preprocess' => FALSE,
-        'weight' => '100',
-      ));
-	}
-
-	// Check if both slicknav and custom jQuery must be loaded.
-	if ($load_slicknav and $load_jQuery) {
-	  drupal_add_js($path . '/js/jquery.min.js', array( 'type' => 'file', 'scope' => 'header', 'weight' => 888 ));
-		drupal_add_js($path . '/js/slicknav/jquery-no-conflict.slicknav.js', array( 'type' => 'file', 'scope' => 'header', 'weight' => 888 ));
-		drupal_add_css($path . '/js/slicknav/slicknav.css');
-	}
-	elseif ($load_slicknav and !$load_jQuery) {
-		drupal_add_js($path . '/js/slicknav/jquery.slicknav.js', array( 'type' => 'file', 'scope' => 'header', 'weight' => 888 ));
-		drupal_add_css($path . '/js/slicknav/slicknav.css');
-	}
-
-	drupal_add_js($path . '/js/adminimal_admin_menu.js', array( 'type' => 'file', 'scope' => 'header', 'weight' => 888 ));
+  _adminimal_admin_menu_support_environment_indicator();
+
+  // Check if both slicknav and custom jQuery must be loaded.
+  if ($load_slicknav and $load_jquery) {
+    drupal_add_js($path . '/js/jquery.min.js', array(
+      'type' => 'file',
+      'scope' => 'header',
+      'weight' => 888,
+    ));
+    drupal_add_js($path . '/js/slicknav/jquery-no-conflict.slicknav.js', array(
+      'type' => 'file',
+      'scope' => 'header',
+      'weight' => 888,
+    ));
+    drupal_add_css($path . '/js/slicknav/slicknav.css');
+  }
+  elseif ($load_slicknav and !$load_jquery) {
+    drupal_add_js($path . '/js/slicknav/jquery.slicknav.js', array(
+      'type' => 'file',
+      'scope' => 'header',
+      'weight' => 888,
+    ));
+    drupal_add_css($path . '/js/slicknav/slicknav.css');
+  }
+
+  drupal_add_js($path . '/js/adminimal_admin_menu.js', array(
+    'type' => 'file',
+    'scope' => 'header',
+    'weight' => 888,
+  ));
 
   if (!isset($page['page_bottom']['admin_menu'])) {
     return;
@@ -78,8 +91,7 @@ function adminimal_admin_menu_page_build(&$page) {
   $attached = &$page['page_bottom']['admin_menu']['#attached'];
   $options = array('every_page' => TRUE);
 
-  // @todo Stop-gap fix until cached rendering is resolved.
-  // @see http://drupal.org/node/1567622
+  // @todo Stop-gap fix until cached rendering is resolved (http://drupal.org/node/1567622).
   if (module_exists('shortcut')) {
     $attached['css'][drupal_get_path('module', 'shortcut') . '/shortcut.css'] = $options;
   }
@@ -99,7 +111,39 @@ function adminimal_admin_menu_page_build(&$page) {
     'data' => array('admin_menu' => array('toolbar' => $settings)),
     'type' => 'setting',
   );
+}
+
+/**
+ * Add CSS for module environment_indicator.
+ */
+function _adminimal_admin_menu_support_environment_indicator() {
+  if (!module_exists('environment_indicator')) {
+    return;
+  }
+
+  $environment_info = environment_indicator_get_active();
+
+  if (!environment_indicator_check_access($environment_info)) {
+    return;
+  }
 
+  drupal_add_css('
+      div.slicknav_menu a.slicknav_btn:after {
+        content: "' . $environment_info['name'] . '";
+        margin-left: 1em;
+        color: ' . $environment_info['text_color'] . ';
+        font-size: 12px;
+        background-color: ' . $environment_info['color'] . ';
+        padding: 2px 5px;
+      }
+      #admin-menu-wrapper {background: #222 !important;}
+      ',
+    array(
+      'group' => CSS_DEFAULT,
+      'type' => 'inline',
+      'preprocess' => FALSE,
+      'weight' => '100',
+    ));
 }
 
 /**
@@ -107,7 +151,8 @@ function adminimal_admin_menu_page_build(&$page) {
  */
 function adminimal_admin_menu_admin_menu_output_build(&$content) {
 
-  if (variable_get('adminimal_admin_menu_render', 'collapsed') != 'hidden') {
+  // Shortcut menu.
+  if (module_exists('shortcut') && variable_get('adminimal_admin_menu_render', 'collapsed') != 'hidden') {
     // Add shortcuts bar.
     $content['shortcut'] = array(
       '#access' => module_exists('shortcut'),
@@ -124,7 +169,6 @@ function adminimal_admin_menu_admin_menu_output_build(&$content) {
       '#pre_render' => array('shortcut_toolbar_pre_render'),
     );
   }
-
 }
 
 /**
@@ -140,10 +184,11 @@ function adminimal_admin_menu_admin_menu_output_alter(&$content) {
   unset($content['icon']['icon']['#theme']);
   $content['icon']['icon']['#title'] = '<span class="admin-menu-home-icon">&nbsp;</span>';
   $content['icon']['icon']['#attributes']['class'][] = 'admin-menu-toolbar-home-menu';
+  // @todo Fix this CS-issue.
   $page['#attributes']['class'][] = 'adminimal-menu';
 
   // Hide the menu.
-  if (variable_get('adminimal_admin_menu_render', 'collapsed') == 'exclusive') {
+  if (module_exists('shortcut') && variable_get('adminimal_admin_menu_render', 'collapsed') == 'exclusive') {
     unset($content['icon']['icon']);
     unset($content['search']);
     foreach ($content['menu'] as $key => $link) {
@@ -152,30 +197,39 @@ function adminimal_admin_menu_admin_menu_output_alter(&$content) {
     }
   }
 
-	// Create the responsive menu.
-	if (variable_get('adminimal_admin_menu_slicknav', 'TRUE')) {
-	  // Prepare the responsive menu and Join the Icon menu with the administration menu.
-	  $responsivemenu = array_merge($content['icon'], $content['menu']);
-	
-	  // Give it ID to target it later with js and css.
-	  $responsivemenu['#wrapper_attributes']['id'] = 'admin-menu-menu-responsive';
-	
-	  // Move the icon menu to the top.
-	  $responsivemenu['icon']['#weight'] = '-100';
-	
-	  // Change the link title to Administration.
-	  $responsivemenu['admin/index']['#title'] = t('Administration');
-	
-	  // Bind the responsive menu the the content varable so it can be rendered.
-	  $content['responsive-menu'] = $responsivemenu;
-	
-	  // Create the responsive shortucts.
-	  $content['responsive']['shortcuts'] = array(
-	    '#prefix' => '<div id="admin-menu-shortcuts-responsive">',
-	    '#suffix' => '</div>',
-	    '#pre_render' => array('shortcut_toolbar_pre_render'),
-	  );
-	}
+  // Create the responsive menu.
+  if (variable_get('adminimal_admin_menu_slicknav', TRUE)) {
+    // Join the Icon menu with the administration menu.
+    $responsivemenu = array_merge($content['icon'], $content['menu']);
+
+    // Give it ID to target it later with js and css.
+    $responsivemenu['#wrapper_attributes']['id'] = 'admin-menu-menu-responsive';
+
+    // Move the icon menu to the top.
+    $responsivemenu['icon']['#weight'] = '-100';
+
+    // Change the link title for 'admin/index' to Administration if it exists.
+    if (!empty($responsivemenu['admin/index'])) {
+      $responsivemenu['admin/index']['#title'] = t('Administration');
+    }
+
+    // Add the account menu, and push account and logout links toward bottom.
+    $responsivemenu = array_merge($content['account'], $responsivemenu);
+    $responsivemenu['account']['#weight'] = 99;
+    $responsivemenu['logout']['#weight'] = 100;
+
+    // Bind the responsive menu the the content varable so it can be rendered.
+    $content['responsive-menu'] = $responsivemenu;
+
+    // Create the responsive shortucts.
+    if (module_exists('shortcut')) {
+      $content['responsive']['shortcuts'] = array(
+        '#prefix' => '<div id="admin-menu-shortcuts-responsive">',
+        '#suffix' => '</div>',
+        '#pre_render' => array('shortcut_toolbar_pre_render'),
+      );
+    }
+  }
 }
 
 /**
@@ -185,6 +239,7 @@ function adminimal_admin_menu_preprocess_html(&$vars) {
   if (!_adminimal_admin_menu_access()) {
     return;
   }
+
   // Add the "adminimal" class to the body for better css selection.
   $vars['classes_array'][] = 'adminimal-menu';
 
@@ -197,27 +252,38 @@ function adminimal_admin_menu_preprocess_html(&$vars) {
   }
 
   // Add the shortcut render mode class.
-  $vars['classes_array'][] = 'menu-render-' . variable_get('adminimal_admin_menu_render', 'collapsed');
-
-  // Fix the viewport, correcting the mobile device zoom.
-  /** @todo - Mybre remove this and let the theme manage the view pont.
-   *  But i was suprised that only few "responsive" drupal themes were fixing
-   *  the viewport.
-   */
-  $viewport = array(
-   '#tag' => 'meta',
-   '#attributes' => array(
-     'name' => 'viewport',
-     'content' => 'width=device-width, initial-scale=1, maximum-scale=1',
-   ),
-  );
-  drupal_add_html_head($viewport, 'viewport');
+  if (module_exists('shortcut')) {
+    $vars['classes_array'][] = 'menu-render-' . variable_get('adminimal_admin_menu_render', 'collapsed');
+  }
+
+  _adminimal_admin_menu_viewport();
+}
 
+/**
+ * Add viewport for scaling on devices.
+ */
+function _adminimal_admin_menu_viewport() {
+  $use_slicknav = variable_get('adminimal_admin_menu_slicknav', TRUE);
+  $use_viewport = variable_get('adminimal_admin_menu_viewport', TRUE);
+
+  // Only needed for slicknav.
+  if ($use_slicknav && $use_viewport) {
+    $viewport = array(
+      '#tag' => 'meta',
+      '#attributes' => array(
+        'name' => 'viewport',
+        'content' => 'width=device-width, initial-scale=1',
+      ),
+    );
+    drupal_add_html_head($viewport, 'viewport');
+  }
 }
 
 /**
  * Check if the user has access to use the admin menu.
- * @return  boolean Result of access checks.
+ *
+ * @return bool
+ *   Result of access checks.
  */
 function _adminimal_admin_menu_access() {
   if (!user_access('access administration menu') || admin_menu_suppress(FALSE)) {

File diff suppressed because it is too large
+ 0 - 31
sites/all/modules/contrib/admin/adminimal_admin_menu/adminimal_menu_settings.inc


+ 0 - 2
sites/all/modules/contrib/admin/adminimal_admin_menu/credits.txt

@@ -1,2 +0,0 @@
-Designed and developed by: ANDiTKO -> http://anditko.com
-Some of the Icons are from the Icons8 set -> http://icons8.com/ and -> http://VisualPharm.com

BIN
sites/all/modules/contrib/admin/adminimal_admin_menu/images/home.png


BIN
sites/all/modules/contrib/admin/adminimal_admin_menu/images/shortcut.png


BIN
sites/all/modules/contrib/admin/adminimal_admin_menu/images/square.png


+ 46 - 41
sites/all/modules/contrib/admin/adminimal_admin_menu/js/adminimal_admin_menu.js

@@ -1,58 +1,63 @@
-(function($) {
+(function ($) {
 
-Drupal.admin = Drupal.admin || {};
-Drupal.admin.behaviors = Drupal.admin.behaviors || {};
+  Drupal.admin = Drupal.admin || {};
+  Drupal.admin.behaviors = Drupal.admin.behaviors || {};
 
-/**
- * @ingroup admin_behaviors
- * @{
- */
+  /**
+   * @ingroup admin_behaviors
+   * @{
+   */
 
-/**
- * Apply active trail highlighting based on current path.
- *
- * @todo Not limited to toolbar; move into core?
- */
-Drupal.admin.behaviors.toolbarActiveTrail = function (context, settings, $adminMenu) {
-  if (settings.admin_menu.toolbar && settings.admin_menu.toolbar.activeTrail) {
-    $adminMenu.find('> div > ul > li > a[href="' + settings.admin_menu.toolbar.activeTrail + '"]').addClass('active-trail');
-  }
-};
+  /**
+   * Apply active trail highlighting based on current path.
+   *
+   * @todo Not limited to toolbar; move into core?
+   */
+  Drupal.admin.behaviors.toolbarActiveTrail = function (context, settings, $adminMenu) {
+    if (settings.admin_menu.toolbar && settings.admin_menu.toolbar.activeTrail) {
+      $adminMenu.find('> div > ul > li > a[href="' + settings.admin_menu.toolbar.activeTrail + '"]').addClass('active-trail');
+    }
+  };
 
-Drupal.admin.behaviors.shorcutcollapsed = function (context, settings, $adminMenu) {
+  Drupal.admin.behaviors.shorcutcollapsed = function (context, settings, $adminMenu) {
 
-  // Create the dropdown base 
-  $("<li class=\"label\"><a>"+Drupal.t('Shortcuts')+"</a></li>").prependTo("body.menu-render-collapsed #toolbar div.toolbar-shortcuts ul"); 
+    // Create the dropdown base
+    $('<li class="label"><a>' + Drupal.t('Shortcuts') + '</a></li>').prependTo("body.menu-render-collapsed #toolbar div.toolbar-shortcuts ul");
 
-};
+  };
 
-Drupal.admin.behaviors.shorcutselect = function (context, settings, $adminMenu) {
+  Drupal.admin.behaviors.shorcutselect = function (context, settings, $adminMenu) {
 
-  // Create the dropdown base
-  $("<select id='shortcut-menu'/>").appendTo("body.menu-render-dropdown #toolbar div.toolbar-shortcuts");
+    // Create the dropdown base
+    $('<select id="shortcut-menu"/>').appendTo("body.menu-render-dropdown #toolbar div.toolbar-shortcuts");
 
-  // Create default option "Select"
-  $("<option />", {
-    "selected"  :  "selected",
-    "value"     :  "",
-    "text"      :  Drupal.t('Shortcuts')
-  }).appendTo("body.menu-render-dropdown #toolbar div.toolbar-shortcuts select");
-
-  // Populate dropdown with menu items
-  $("body.menu-render-dropdown #toolbar div.toolbar-shortcuts a").each(function() {
-    var el = $(this);
+    // Create default option "Select"
     $("<option />", {
-      "value"   :  el.attr("href"),
-      "text"    :  el.text()
+      "selected": "selected",
+      "value": "",
+      "text": Drupal.t('Shortcuts')
     }).appendTo("body.menu-render-dropdown #toolbar div.toolbar-shortcuts select");
+
+    // Populate dropdown with menu items
+    $("body.menu-render-dropdown #toolbar div.toolbar-shortcuts a").each(function () {
+      var el = $(this);
+      $("<option />", {
+        "value": el.attr("href"),
+        "text": el.text()
+      }).appendTo("body.menu-render-dropdown #toolbar div.toolbar-shortcuts select");
+    });
+
+    $("body.menu-render-dropdown #toolbar div.toolbar-shortcuts select").change(function () {
+      window.location = $(this).find("option:selected").val();
     });
 
-  $("body.menu-render-dropdown #toolbar div.toolbar-shortcuts select").change(function() {
-    window.location = $(this).find("option:selected").val();
-  });
+    $('body.menu-render-dropdown #toolbar div.toolbar-shortcuts ul').remove();
 
-  $('body.menu-render-dropdown #toolbar div.toolbar-shortcuts ul').remove();
+  };
 
-};
+  // Ovveride front link if changed by another module for the mobile menu.
+  Drupal.admin.behaviors.mobile_front_link = function (context, settings, $adminMenu) {
+    $("ul.slicknav_nav li.admin-menu-toolbar-home-menu a>a").attr("href", $("#admin-menu-icon > li > a").attr('href'));
+  };
 
 })(jQuery);

+ 440 - 410
sites/all/modules/contrib/admin/adminimal_admin_menu/js/slicknav/jquery-no-conflict.slicknav.js

@@ -4,429 +4,459 @@
 	licensed under MIT
 */
 ;(function ($, document, window) {
-	var
-	// default settings object.
-	defaults = {
-		label: 'MENU',
-		duplicate: true,
-		duration: 200,
-		easingOpen: 'swing',
-		easingClose: 'swing',
-		closedSymbol: '&#9658;',
-		openedSymbol: '&#9660;',
-		prependTo: 'body',
-		parentTag: 'a',
-		closeOnClick: false,
-		allowParentLinks: false,
-		init: function(){},
-		open: function(){},
-		close: function(){}
-	},
-	mobileMenu = 'slicknav',
-	prefix = 'slicknav';
-	
-	function Plugin( element, options ) {
-		this.element = element;
-
-        // jQuery has an extend method which merges the contents of two or
-        // more objects, storing the result in the first object. The first object
-        // is generally empty as we don't want to alter the default options for
-        // future instances of the plugin
-        this.settings = $.extend( {}, defaults, options) ;
-        
-        this._defaults = defaults;
-        this._name = mobileMenu;
-        
-        this.init();
-	}
-	
-	Plugin.prototype.init = function () {
-        var $this = this;
-		var menu = $(this.element);
-		var settings = this.settings;
-		
-		// clone menu if needed
-		if (settings.duplicate) {
-			$this.mobileNav = menu.clone();
-			//remove ids from clone to prevent css issues
-			$this.mobileNav.removeAttr('id');
-			$this.mobileNav.find('*').each(function(i,e){
-				$(e).removeAttr('id');
-			});
-		}
-		else
-			$this.mobileNav = menu;
-		
-		// styling class for the button
-		var iconClass = prefix+'_icon';
-		
-		if (settings.label == '') {
-			iconClass += ' '+prefix+'_no-text';
-		}
-		
-		if (settings.parentTag == 'a') {
-			settings.parentTag = 'a href="#"';
-		}
-		
-		// create menu bar
-		$this.mobileNav.attr('class', prefix+'_nav');
-		var menuBar = $('<div class="'+prefix+'_menu"></div>');
-		$this.btn = $('<'+settings.parentTag+' aria-haspopup="true" tabindex="0" class="'+prefix+'_btn '+prefix+'_collapsed"><span class="'+prefix+'_menutxt">'+settings.label+'</span><span class="'+iconClass+'"><span class="'+prefix+'_icon-bar"></span><span class="'+prefix+'_icon-bar"></span><span class="'+prefix+'_icon-bar"></span></span></a>');
-		$(menuBar).append($this.btn);		
-		$(settings.prependTo).prepend(menuBar);
-		menuBar.append($this.mobileNav);
-		
-		// iterate over structure adding additional structure
-		var items = $this.mobileNav.find('li');
-		$(items).each(function () {
-			var item = $(this);
-			data = {};
-			data.children = item.children('ul').attr('role','menu');
-			item.data("menu", data);
-			
-			// if a list item has a nested menu
-			if (data.children.length > 0) {
-			
-				// select all text before the child menu
-				var a = item.contents();
-				var nodes = [];
-				$(a).each(function(){
-					if(!$(this).is("ul")) {
-						nodes.push(this);
-					}
-					else {
-						return false;
-					}
-				});
-				
-				// wrap item text with tag and add classes
-				var wrap = $(nodes).wrapAll('<'+settings.parentTag+' role="menuitem" aria-haspopup="true" tabindex="-1" class="'+prefix+'_item"/>').parent();
-				
-				item.addClass(prefix+'_collapsed');
-				item.addClass(prefix+'_parent');
-				
-				// create parent arrow
-				$(nodes).last().after('<span class="'+prefix+'_arrow">'+settings.closedSymbol+'</span>');
-				
-			
-			} else if ( item.children().length == 0) {
-				 item.addClass(prefix+'_txtnode');
-			}
-			
-			// accessibility for links
-			item.children('a').attr('role', 'menuitem').click(function(){
-				//Emulate menu close if set
-				if (settings.closeOnClick)
-					$($this.btn).click();
-			});
-		});
-		
-		// structure is in place, now hide appropriate items
-		$(items).each(function () {
-			var data = $(this).data("menu");
-			$this._visibilityToggle(data.children, false, null, true);
-		});
-		
-		// finally toggle entire menu
-		$this._visibilityToggle($this.mobileNav, false, 'init', true);
-		
-		// accessibility for menu button
-		$this.mobileNav.attr('role','menu');
-		
-		// outline prevention when using mouse
-		$(document).mousedown(function(){
-			$this._outlines(false);
-		});
-		
-		$(document).keyup(function(){
-			$this._outlines(true);
-		});
-		
-		// menu button click
-		$($this.btn).click(function (e) {
-			e.preventDefault();
-			$this._menuToggle();			
-		});
-		
-		// click on menu parent
-		$this.mobileNav.on('click', '.'+prefix+'_item', function(e){
-			e.preventDefault();
-			$this._itemClick($(this));
-		});
-		
-		// check for enter key on menu button and menu parents
-		$($this.btn).keydown(function (e) {
-			var ev = e || event;
-			if(ev.keyCode == 13) {
-				e.preventDefault();
-				$this._menuToggle();
-			}
-		});
-		
-		$this.mobileNav.on('keydown', '.'+prefix+'_item', function(e) {
-			var ev = e || event;
-			if(ev.keyCode == 13) {
-				e.preventDefault();
-				$this._itemClick($(e.target));
-			}
-		});
-		
-		// allow links clickable within parent tags if set
-		if (settings.allowParentLinks) {
-			$('.'+prefix+'_item a').click(function(e){
-					e.stopImmediatePropagation();
-			});
-		}
-    };
-	
-	//toggle menu
-	Plugin.prototype._menuToggle = function(el){
-		var $this = this;
-		var btn = $this.btn;
-		var mobileNav = $this.mobileNav;
-		
-		if (btn.hasClass(prefix+'_collapsed')) {
-			btn.removeClass(prefix+'_collapsed');
-			btn.addClass(prefix+'_open');
-		} else {
-			btn.removeClass(prefix+'_open');
-			btn.addClass(prefix+'_collapsed');
-		}
-		btn.addClass(prefix+'_animating');
-		$this._visibilityToggle(mobileNav, true, btn);
-	}
-	
-	// toggle clicked items
-	Plugin.prototype._itemClick = function(el) {
-		var $this = this;
-		var settings = $this.settings;
-		var data = el.data("menu");
-		if (!data) {
-			data = {};
-			data.arrow = el.children('.'+prefix+'_arrow');
-			data.ul = el.next('ul');
-			data.parent = el.parent();
-			el.data("menu", data);
-		}
-		if (data.parent.hasClass(prefix+'_collapsed')) {
-			data.arrow.html(settings.openedSymbol);
-			data.parent.removeClass(prefix+'_collapsed');
-			data.parent.addClass(prefix+'_open');
-			data.parent.addClass(prefix+'_animating');
-			$this._visibilityToggle(data.ul, true, el);
-		} else {
-			data.arrow.html(settings.closedSymbol);
-			data.parent.addClass(prefix+'_collapsed');
-			data.parent.removeClass(prefix+'_open');
-			data.parent.addClass(prefix+'_animating');
-			$this._visibilityToggle(data.ul, true, el);
-		}
-	}
-
-	// toggle actual visibility and accessibility tags
-	Plugin.prototype._visibilityToggle = function(el, animate, trigger, init) {
-		var $this = this;
-		var settings = $this.settings;
-		var items = $this._getActionItems(el);
-		var duration = 0;
-		if (animate)
-			duration = settings.duration;
-		
-		if (el.hasClass(prefix+'_hidden')) {
-			el.removeClass(prefix+'_hidden');
-			el.slideDown(duration, settings.easingOpen, function(){
-				
-				$(trigger).removeClass(prefix+'_animating');
-				$(trigger).parent().removeClass(prefix+'_animating');
-				
-				//Fire open callback
-				if (!init) {
-					settings.open(trigger);
-				}
-			});
-			el.attr('aria-hidden','false');
-			items.attr('tabindex', '0');
-			$this._setVisAttr(el, false);
-		} else {
-			el.addClass(prefix+'_hidden');
-			el.slideUp(duration, this.settings.easingClose, function() {
-				el.attr('aria-hidden','true');
-				items.attr('tabindex', '-1');
-				$this._setVisAttr(el, true);
-				el.hide(); //jQuery 1.7 bug fix
-				
-				$(trigger).removeClass(prefix+'_animating');
-				$(trigger).parent().removeClass(prefix+'_animating');
-				
-				//Fire init or close callback
-				if (!init)
-					settings.close(trigger);
-				else if (trigger == 'init')
-					settings.init();
-			});
-		}
-	}
-
-	// set attributes of element and children based on visibility
-	Plugin.prototype._setVisAttr = function(el, hidden) {
-		var $this = this;
-		
-		// select all parents that aren't hidden
-		var nonHidden = el.children('li').children('ul').not('.'+prefix+'_hidden');
-		
-		// iterate over all items setting appropriate tags
-		if (!hidden) {
-			nonHidden.each(function(){
-				var ul = $(this);
-				ul.attr('aria-hidden','false');
-				var items = $this._getActionItems(ul);
-				items.attr('tabindex', '0');
-				$this._setVisAttr(ul, hidden);
-			});
-		} else {
-			nonHidden.each(function(){
-				var ul = $(this);
-				ul.attr('aria-hidden','true');
-				var items = $this._getActionItems(ul);
-				items.attr('tabindex', '-1');
-				$this._setVisAttr(ul, hidden);
-			});
-		}
-	}
-
-	// get all 1st level items that are clickable
-	Plugin.prototype._getActionItems = function(el) {
-		var data = el.data("menu");
-		if (!data) {
-			data = {};
-			var items = el.children('li');
-			var anchors = items.children('a');
-			data.links = anchors.add(items.children('.'+prefix+'_item'));
-			el.data("menu", data);
-		}
-		return data.links;
-	}
-
-	Plugin.prototype._outlines = function(state) {
-		if (!state) {
-			$('.'+prefix+'_item, .'+prefix+'_btn').css('outline','none');
-		} else {
-			$('.'+prefix+'_item, .'+prefix+'_btn').css('outline','');
-		}
-	}
-	
-	Plugin.prototype.toggle = function(){
-		$this._menuToggle();
-	}
-	
-	Plugin.prototype.open = function(){
-		$this = this;
-		if ($this.btn.hasClass(prefix+'_collapsed')) {
-			$this._menuToggle();
-		}
-	}
-	
-	Plugin.prototype.close = function(){
-		$this = this;
-		if ($this.btn.hasClass(prefix+'_open')) {
-			$this._menuToggle();
-		}
-	}
-	
-	$.fn[mobileMenu] = function ( options ) {
-		var args = arguments;
-
-		// Is the first parameter an object (options), or was omitted, instantiate a new instance
-		if (options === undefined || typeof options === 'object') {
-			return this.each(function () {
-
-				// Only allow the plugin to be instantiated once due to methods
-				if (!$.data(this, 'plugin_' + mobileMenu)) {
-
-					// if it has no instance, create a new one, pass options to our plugin constructor,
-					// and store the plugin instance in the elements jQuery data object.
-					$.data(this, 'plugin_' + mobileMenu, new Plugin( this, options ));
-				}
-			});
-
-		// If is a string and doesn't start with an underscore or 'init' function, treat this as a call to a public method.
-		} else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
-
-			// Cache the method call to make it possible to return a value
-			var returns;
-
-			this.each(function () {
-				var instance = $.data(this, 'plugin_' + mobileMenu);
-
-				// Tests that there's already a plugin-instance and checks that the requested public method exists
-				if (instance instanceof Plugin && typeof instance[options] === 'function') {
-
-					// Call the method of our plugin instance, and pass it the supplied arguments.
-					returns = instance[options].apply( instance, Array.prototype.slice.call( args, 1 ) );
-				}
-			});
-
-			// If the earlier cached method gives a value back return the value, otherwise return this to preserve chainability.
-			return returns !== undefined ? returns : this;
-		}
-	};
+  var
+    // default settings object.
+    defaults = {
+      label: 'MENU',
+      duplicate: true,
+      duration: 200,
+      easingOpen: 'swing',
+      easingClose: 'swing',
+      closedSymbol: '&#9658;',
+      openedSymbol: '&#9660;',
+      prependTo: 'body',
+      parentTag: 'a',
+      closeOnClick: false,
+      allowParentLinks: false,
+      init: function () {
+      },
+      open: function () {
+      },
+      close: function () {
+      }
+    },
+    mobileMenu = 'slicknav',
+    prefix = 'slicknav';
+
+  function Plugin(element, options) {
+    this.element = element;
+
+    // jQuery has an extend method which merges the contents of two or
+    // more objects, storing the result in the first object. The first object
+    // is generally empty as we don't want to alter the default options for
+    // future instances of the plugin
+    this.settings = $.extend({}, defaults, options);
+
+    this._defaults = defaults;
+    this._name = mobileMenu;
+
+    this.init();
+  }
+
+  Plugin.prototype.init = function () {
+    var $this = this;
+    var menu = $(this.element);
+    var settings = this.settings;
+
+    // clone menu if needed
+    if (settings.duplicate) {
+      $this.mobileNav = menu.clone();
+      //remove ids from clone to prevent css issues
+      $this.mobileNav.removeAttr('id');
+      $this.mobileNav.find('*').each(function (i, e) {
+        $(e).removeAttr('id');
+      });
+    }
+    else {
+      $this.mobileNav = menu;
+    }
+
+    // styling class for the button
+    var iconClass = prefix + '_icon';
+
+    if (settings.label == '') {
+      iconClass += ' ' + prefix + '_no-text';
+    }
+
+    if (settings.parentTag == 'a') {
+      settings.parentTag = 'a href="#"';
+    }
+
+    // create menu bar
+    $this.mobileNav.attr('class', prefix + '_nav');
+    var menuBar = $('<div class="' + prefix + '_menu"></div>');
+    $this.btn = $('<' + settings.parentTag + ' aria-haspopup="true" tabindex="0" class="' + prefix + '_btn ' + prefix + '_collapsed"><span class="' + prefix + '_menutxt">' + settings.label + '</span><span class="' + iconClass + '"><span class="' + prefix + '_icon-bar"></span><span class="' + prefix + '_icon-bar"></span><span class="' + prefix + '_icon-bar"></span></span></a>');
+    $(menuBar).append($this.btn);
+    $(settings.prependTo).prepend(menuBar);
+    menuBar.append($this.mobileNav);
+
+    // iterate over structure adding additional structure
+    var items = $this.mobileNav.find('li');
+    $(items).each(function () {
+      var item = $(this);
+      var data = {};
+      data.children = item.children('ul').attr('role', 'menu');
+      item.data("menu", data);
+
+      // if a list item has a nested menu
+      if (data.children.length > 0) {
+
+        // select all text before the child menu
+        var a = item.contents();
+        var nodes = [];
+        $(a).each(function () {
+          if (!$(this).is("ul")) {
+            nodes.push(this);
+          }
+          else {
+            return false;
+          }
+        });
+
+        // wrap item text with tag and add classes
+        var wrap = $(nodes).wrapAll('<' + settings.parentTag + ' role="menuitem" aria-haspopup="true" tabindex="-1" class="' + prefix + '_item"/>').parent();
+
+        item.addClass(prefix + '_collapsed');
+        item.addClass(prefix + '_parent');
+
+        // create parent arrow
+        $(nodes).last().after('<span class="' + prefix + '_arrow">' + settings.closedSymbol + '</span>');
+
+
+      }
+      else {
+        if (item.children().length == 0) {
+          item.addClass(prefix + '_txtnode');
+        }
+      }
+
+      // accessibility for links
+      item.children('a').attr('role', 'menuitem').click(function () {
+        //Emulate menu close if set
+        if (settings.closeOnClick) {
+          $($this.btn).click();
+        }
+      });
+    });
+
+    // structure is in place, now hide appropriate items
+    $(items).each(function () {
+      var data = $(this).data("menu");
+      $this._visibilityToggle(data.children, false, null, true);
+    });
+
+    // finally toggle entire menu
+    $this._visibilityToggle($this.mobileNav, false, 'init', true);
+
+    // accessibility for menu button
+    $this.mobileNav.attr('role', 'menu');
+
+    // outline prevention when using mouse
+    $(document).mousedown(function () {
+      $this._outlines(false);
+    });
+
+    $(document).keyup(function () {
+      $this._outlines(true);
+    });
+
+    // menu button click
+    $($this.btn).click(function (e) {
+      e.preventDefault();
+      $this._menuToggle();
+    });
+
+    // click on menu parent
+    $this.mobileNav.on('click', '.' + prefix + '_item', function (e) {
+      e.preventDefault();
+      $this._itemClick($(this));
+    });
+
+    // check for enter key on menu button and menu parents
+    $($this.btn).keydown(function (e) {
+      var ev = e || event;
+      if (ev.keyCode == 13) {
+        e.preventDefault();
+        $this._menuToggle();
+      }
+    });
+
+    $this.mobileNav.on('keydown', '.' + prefix + '_item', function (e) {
+      var ev = e || event;
+      if (ev.keyCode == 13) {
+        e.preventDefault();
+        $this._itemClick($(e.target));
+      }
+    });
+
+    // allow links clickable within parent tags if set
+    if (settings.allowParentLinks) {
+      $('.' + prefix + '_item a').click(function (e) {
+        e.stopImmediatePropagation();
+      });
+    }
+  };
+
+  //toggle menu
+  Plugin.prototype._menuToggle = function (el) {
+    var $this = this;
+    var btn = $this.btn;
+    var mobileNav = $this.mobileNav;
+
+    if (btn.hasClass(prefix + '_collapsed')) {
+      btn.removeClass(prefix + '_collapsed');
+      btn.addClass(prefix + '_open');
+    }
+    else {
+      btn.removeClass(prefix + '_open');
+      btn.addClass(prefix + '_collapsed');
+    }
+    btn.addClass(prefix + '_animating');
+    $this._visibilityToggle(mobileNav, true, btn);
+  };
+
+  // toggle clicked items
+  Plugin.prototype._itemClick = function (el) {
+    var $this = this;
+    var settings = $this.settings;
+    var data = el.data("menu");
+    if (!data) {
+      data = {};
+      data.arrow = el.children('.' + prefix + '_arrow');
+      data.ul = el.next('ul');
+      data.parent = el.parent();
+      el.data("menu", data);
+    }
+    if (data.parent.hasClass(prefix + '_collapsed')) {
+      data.arrow.html(settings.openedSymbol);
+      data.parent.removeClass(prefix + '_collapsed');
+      data.parent.addClass(prefix + '_open');
+      data.parent.addClass(prefix + '_animating');
+      $this._visibilityToggle(data.ul, true, el);
+    }
+    else {
+      data.arrow.html(settings.closedSymbol);
+      data.parent.addClass(prefix + '_collapsed');
+      data.parent.removeClass(prefix + '_open');
+      data.parent.addClass(prefix + '_animating');
+      $this._visibilityToggle(data.ul, true, el);
+    }
+  };
+
+  // toggle actual visibility and accessibility tags
+  Plugin.prototype._visibilityToggle = function (el, animate, trigger, init) {
+    var $this = this;
+    var settings = $this.settings;
+    var items = $this._getActionItems(el);
+    var duration = 0;
+    if (animate) {
+      duration = settings.duration;
+    }
+
+    if (el.hasClass(prefix + '_hidden')) {
+      el.removeClass(prefix + '_hidden');
+      el.slideDown(duration, settings.easingOpen, function () {
+
+        $(trigger).removeClass(prefix + '_animating');
+        $(trigger).parent().removeClass(prefix + '_animating');
+
+        //Fire open callback
+        if (!init) {
+          settings.open(trigger);
+        }
+      });
+      el.attr('aria-hidden', 'false');
+      items.attr('tabindex', '0');
+      $this._setVisAttr(el, false);
+    }
+    else {
+      el.addClass(prefix + '_hidden');
+      el.slideUp(duration, this.settings.easingClose, function () {
+        el.attr('aria-hidden', 'true');
+        items.attr('tabindex', '-1');
+        $this._setVisAttr(el, true);
+        el.hide(); //jQuery 1.7 bug fix
+
+        $(trigger).removeClass(prefix + '_animating');
+        $(trigger).parent().removeClass(prefix + '_animating');
+
+        //Fire init or close callback
+        if (!init) {
+          settings.close(trigger);
+        }
+        else {
+          if (trigger == 'init') {
+            settings.init();
+          }
+        }
+      });
+    }
+  };
+
+  // set attributes of element and children based on visibility
+  Plugin.prototype._setVisAttr = function (el, hidden) {
+    var $this = this;
+
+    // select all parents that aren't hidden
+    var nonHidden = el.children('li').children('ul').not('.' + prefix + '_hidden');
+
+    // iterate over all items setting appropriate tags
+    if (!hidden) {
+      nonHidden.each(function () {
+        var ul = $(this);
+        ul.attr('aria-hidden', 'false');
+        var items = $this._getActionItems(ul);
+        items.attr('tabindex', '0');
+        $this._setVisAttr(ul, hidden);
+      });
+    }
+    else {
+      nonHidden.each(function () {
+        var ul = $(this);
+        ul.attr('aria-hidden', 'true');
+        var items = $this._getActionItems(ul);
+        items.attr('tabindex', '-1');
+        $this._setVisAttr(ul, hidden);
+      });
+    }
+  };
+
+  // get all 1st level items that are clickable
+  Plugin.prototype._getActionItems = function (el) {
+    var data = el.data("menu");
+    if (!data) {
+      data = {};
+      var items = el.children('li');
+      var anchors = items.children('a');
+      data.links = anchors.add(items.children('.' + prefix + '_item'));
+      el.data("menu", data);
+    }
+    return data.links;
+  };
+
+  Plugin.prototype._outlines = function (state) {
+    if (!state) {
+      $('.' + prefix + '_item, .' + prefix + '_btn').css('outline', 'none');
+    }
+    else {
+      $('.' + prefix + '_item, .' + prefix + '_btn').css('outline', '');
+    }
+  };
+
+  Plugin.prototype.toggle = function () {
+    $this._menuToggle();
+  };
+
+  Plugin.prototype.open = function () {
+    $this = this;
+    if ($this.btn.hasClass(prefix + '_collapsed')) {
+      $this._menuToggle();
+    }
+  };
+
+  Plugin.prototype.close = function () {
+    $this = this;
+    if ($this.btn.hasClass(prefix + '_open')) {
+      $this._menuToggle();
+    }
+  };
+
+  $.fn[mobileMenu] = function (options) {
+    var args = arguments;
+
+    // Is the first parameter an object (options), or was omitted, instantiate
+    // a new instance
+    if (options === undefined || typeof options === 'object') {
+      return this.each(function () {
+
+        // Only allow the plugin to be instantiated once due to methods
+        if (!$.data(this, 'plugin_' + mobileMenu)) {
+
+          // if it has no instance, create a new one, pass options to our
+          // plugin constructor, and store the plugin instance in the elements
+          // jQuery data object.
+          $.data(this, 'plugin_' + mobileMenu, new Plugin(this, options));
+        }
+      });
+
+      // If is a string and doesn't start with an underscore or 'init'
+      // function, treat this as a call to a public method.
+    }
+    else {
+      if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
+
+        // Cache the method call to make it possible to return a value
+        var returns;
+
+        this.each(function () {
+          var instance = $.data(this, 'plugin_' + mobileMenu);
+
+          // Tests that there's already a plugin-instance and checks that the
+          // requested public method exists
+          if (instance instanceof Plugin && typeof instance[options] === 'function') {
+
+            // Call the method of our plugin instance, and pass it the supplied
+            // arguments.
+            returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
+          }
+        });
+
+        // If the earlier cached method gives a value back return the value,
+        // otherwise return this to preserve chainability.
+        return returns !== undefined ? returns : this;
+      }
+    }
+  };
 }($jQueryAdminimal, document, window));
 
-(function($) {
+(function ($) {
+
+  Drupal.admin = Drupal.admin || {};
+  Drupal.admin.behaviors = Drupal.admin.behaviors || {};
 
 // Create the responsive menu using SlickNav.
-Drupal.admin.behaviors.responsivemenu = function (context, settings, $adminMenu) {
+  Drupal.admin.behaviors.responsivemenu = function (context, settings, $adminMenu) {
 
     $('#admin-menu-menu-responsive').slicknav({
-		label: 'Menu',
-		prependTo:'body',
-		closedSymbol: "<i class=\"closed\"></i>",
-		openedSymbol: "<i class=\"open\"></i>",
-		allowParentLinks: true
-	});
+      label: Drupal.t('Menu'),
+      prependTo: 'body',
+      closedSymbol: '<i class="closed"></i>',
+      openedSymbol: '<i class="open"></i>',
+      allowParentLinks: true
+    });
 
-};
+  };
 
 // Create the responsive shortcuts dropdown.
-Drupal.admin.behaviors.responsiveshortcuts = function (context, settings, $adminMenu) {
-
-  // Check if there are any shortucts to respondify.
-  if(jQuery("div.toolbar-shortcuts ul.menu li").length){
-
-	  // Create the dropdown base
-	  $("<select id='responsive-shortcuts-dropdown'/>").appendTo("#admin-menu-shortcuts-responsive div.toolbar-shortcuts");
-
-	  // Create default option "Select"
-	  $("<option />", {
-	    "selected"  :  "selected",
-	    "class"     :  "hide",
-	    "value"     :  "",
-	    "text"      :  Drupal.t('Shortcuts')
-	  }).appendTo("#admin-menu-shortcuts-responsive div.toolbar-shortcuts select");
-
-	  // Populate dropdown with menu items
-	  $("#admin-menu-shortcuts-responsive div.toolbar-shortcuts a").each(function() {
-	    var el = $(this);
-	    $("<option />", {
-	      "value"   :  el.attr("href"),
-	      "text"    :  el.text()
-	    }).appendTo("#admin-menu-shortcuts-responsive div.toolbar-shortcuts select");
-	  });
+  Drupal.admin.behaviors.responsiveshortcuts = function (context, settings, $adminMenu) {
+
+    // Check if there are any shortucts to respondify.
+    if (jQuery("div.toolbar-shortcuts ul.menu li").length) {
+
+      // Create the dropdown base
+      $('<select id="responsive-shortcuts-dropdown"/>').appendTo("#admin-menu-shortcuts-responsive div.toolbar-shortcuts");
+
+      // Create default option "Select"
+      $("<option />", {
+        "selected": "selected",
+        "class": "hide",
+        "value": "",
+        "text": Drupal.t('Shortcuts')
+      }).appendTo("#admin-menu-shortcuts-responsive div.toolbar-shortcuts select");
+
+      // Populate dropdown with menu items
+      $("#admin-menu-shortcuts-responsive div.toolbar-shortcuts a").each(function () {
+        var el = $(this);
+        $("<option />", {
+          "value": el.attr("href"),
+          "text": el.text()
+        }).appendTo("#admin-menu-shortcuts-responsive div.toolbar-shortcuts select");
+      });
 
       // Redirect the user when selecting an option.
-	  $("#admin-menu-shortcuts-responsive div.toolbar-shortcuts select").change(function() {
-	    window.location = $(this).find("option:selected").val();
-	  });
+      $("#admin-menu-shortcuts-responsive div.toolbar-shortcuts select").change(function () {
+        window.location = $(this).find("option:selected").val();
+      });
 
-	  // Clean the mess.
-	  $('#admin-menu-shortcuts-responsive div.toolbar-shortcuts ul').remove();
-	  // Move the select box into the responsive menu.
-	  $("#admin-menu-shortcuts-responsive").prependTo(".slicknav_menu");
+      // Clean the mess.
+      $('#admin-menu-shortcuts-responsive div.toolbar-shortcuts ul').remove();
+      // Move the select box into the responsive menu.
+      $("#admin-menu-shortcuts-responsive").prependTo(".slicknav_menu");
 
-	  }
+    }
 
-  // Remove the edit shortcuts link from the DOM to avoid duble rendering.
-  $('#admin-menu-shortcuts-responsive #edit-shortcuts').remove();
+    // Remove the edit shortcuts link from the DOM to avoid duble rendering.
+    $('#admin-menu-shortcuts-responsive #edit-shortcuts').remove();
 
-};
+  };
 })($jQueryAdminimal);

+ 444 - 414
sites/all/modules/contrib/admin/adminimal_admin_menu/js/slicknav/jquery.slicknav.js

@@ -4,429 +4,459 @@
 	licensed under MIT
 */
 ;(function ($, document, window) {
-	var
-	// default settings object.
-	defaults = {
-		label: 'MENU',
-		duplicate: true,
-		duration: 200,
-		easingOpen: 'swing',
-		easingClose: 'swing',
-		closedSymbol: '&#9658;',
-		openedSymbol: '&#9660;',
-		prependTo: 'body',
-		parentTag: 'a',
-		closeOnClick: false,
-		allowParentLinks: false,
-		init: function(){},
-		open: function(){},
-		close: function(){}
-	},
-	mobileMenu = 'slicknav',
-	prefix = 'slicknav';
-	
-	function Plugin( element, options ) {
-		this.element = element;
-
-        // jQuery has an extend method which merges the contents of two or
-        // more objects, storing the result in the first object. The first object
-        // is generally empty as we don't want to alter the default options for
-        // future instances of the plugin
-        this.settings = $.extend( {}, defaults, options) ;
-        
-        this._defaults = defaults;
-        this._name = mobileMenu;
-        
-        this.init();
-	}
-	
-	Plugin.prototype.init = function () {
-        var $this = this;
-		var menu = $(this.element);
-		var settings = this.settings;
-		
-		// clone menu if needed
-		if (settings.duplicate) {
-			$this.mobileNav = menu.clone();
-			//remove ids from clone to prevent css issues
-			$this.mobileNav.removeAttr('id');
-			$this.mobileNav.find('*').each(function(i,e){
-				$(e).removeAttr('id');
-			});
-		}
-		else
-			$this.mobileNav = menu;
-		
-		// styling class for the button
-		var iconClass = prefix+'_icon';
-		
-		if (settings.label == '') {
-			iconClass += ' '+prefix+'_no-text';
-		}
-		
-		if (settings.parentTag == 'a') {
-			settings.parentTag = 'a href="#"';
-		}
-		
-		// create menu bar
-		$this.mobileNav.attr('class', prefix+'_nav');
-		var menuBar = $('<div class="'+prefix+'_menu"></div>');
-		$this.btn = $('<'+settings.parentTag+' aria-haspopup="true" tabindex="0" class="'+prefix+'_btn '+prefix+'_collapsed"><span class="'+prefix+'_menutxt">'+settings.label+'</span><span class="'+iconClass+'"><span class="'+prefix+'_icon-bar"></span><span class="'+prefix+'_icon-bar"></span><span class="'+prefix+'_icon-bar"></span></span></a>');
-		$(menuBar).append($this.btn);		
-		$(settings.prependTo).prepend(menuBar);
-		menuBar.append($this.mobileNav);
-		
-		// iterate over structure adding additional structure
-		var items = $this.mobileNav.find('li');
-		$(items).each(function () {
-			var item = $(this);
-			data = {};
-			data.children = item.children('ul').attr('role','menu');
-			item.data("menu", data);
-			
-			// if a list item has a nested menu
-			if (data.children.length > 0) {
-			
-				// select all text before the child menu
-				var a = item.contents();
-				var nodes = [];
-				$(a).each(function(){
-					if(!$(this).is("ul")) {
-						nodes.push(this);
-					}
-					else {
-						return false;
-					}
-				});
-				
-				// wrap item text with tag and add classes
-				var wrap = $(nodes).wrapAll('<'+settings.parentTag+' role="menuitem" aria-haspopup="true" tabindex="-1" class="'+prefix+'_item"/>').parent();
-				
-				item.addClass(prefix+'_collapsed');
-				item.addClass(prefix+'_parent');
-				
-				// create parent arrow
-				$(nodes).last().after('<span class="'+prefix+'_arrow">'+settings.closedSymbol+'</span>');
-				
-			
-			} else if ( item.children().length == 0) {
-				 item.addClass(prefix+'_txtnode');
-			}
-			
-			// accessibility for links
-			item.children('a').attr('role', 'menuitem').click(function(){
-				//Emulate menu close if set
-				if (settings.closeOnClick)
-					$($this.btn).click();
-			});
-		});
-		
-		// structure is in place, now hide appropriate items
-		$(items).each(function () {
-			var data = $(this).data("menu");
-			$this._visibilityToggle(data.children, false, null, true);
-		});
-		
-		// finally toggle entire menu
-		$this._visibilityToggle($this.mobileNav, false, 'init', true);
-		
-		// accessibility for menu button
-		$this.mobileNav.attr('role','menu');
-		
-		// outline prevention when using mouse
-		$(document).mousedown(function(){
-			$this._outlines(false);
-		});
-		
-		$(document).keyup(function(){
-			$this._outlines(true);
-		});
-		
-		// menu button click
-		$($this.btn).click(function (e) {
-			e.preventDefault();
-			$this._menuToggle();			
-		});
-		
-		// click on menu parent
-		$this.mobileNav.on('click', '.'+prefix+'_item', function(e){
-			e.preventDefault();
-			$this._itemClick($(this));
-		});
-		
-		// check for enter key on menu button and menu parents
-		$($this.btn).keydown(function (e) {
-			var ev = e || event;
-			if(ev.keyCode == 13) {
-				e.preventDefault();
-				$this._menuToggle();
-			}
-		});
-		
-		$this.mobileNav.on('keydown', '.'+prefix+'_item', function(e) {
-			var ev = e || event;
-			if(ev.keyCode == 13) {
-				e.preventDefault();
-				$this._itemClick($(e.target));
-			}
-		});
-		
-		// allow links clickable within parent tags if set
-		if (settings.allowParentLinks) {
-			$('.'+prefix+'_item a').click(function(e){
-					e.stopImmediatePropagation();
-			});
-		}
-    };
-	
-	//toggle menu
-	Plugin.prototype._menuToggle = function(el){
-		var $this = this;
-		var btn = $this.btn;
-		var mobileNav = $this.mobileNav;
-		
-		if (btn.hasClass(prefix+'_collapsed')) {
-			btn.removeClass(prefix+'_collapsed');
-			btn.addClass(prefix+'_open');
-		} else {
-			btn.removeClass(prefix+'_open');
-			btn.addClass(prefix+'_collapsed');
-		}
-		btn.addClass(prefix+'_animating');
-		$this._visibilityToggle(mobileNav, true, btn);
-	}
-	
-	// toggle clicked items
-	Plugin.prototype._itemClick = function(el) {
-		var $this = this;
-		var settings = $this.settings;
-		var data = el.data("menu");
-		if (!data) {
-			data = {};
-			data.arrow = el.children('.'+prefix+'_arrow');
-			data.ul = el.next('ul');
-			data.parent = el.parent();
-			el.data("menu", data);
-		}
-		if (data.parent.hasClass(prefix+'_collapsed')) {
-			data.arrow.html(settings.openedSymbol);
-			data.parent.removeClass(prefix+'_collapsed');
-			data.parent.addClass(prefix+'_open');
-			data.parent.addClass(prefix+'_animating');
-			$this._visibilityToggle(data.ul, true, el);
-		} else {
-			data.arrow.html(settings.closedSymbol);
-			data.parent.addClass(prefix+'_collapsed');
-			data.parent.removeClass(prefix+'_open');
-			data.parent.addClass(prefix+'_animating');
-			$this._visibilityToggle(data.ul, true, el);
-		}
-	}
-
-	// toggle actual visibility and accessibility tags
-	Plugin.prototype._visibilityToggle = function(el, animate, trigger, init) {
-		var $this = this;
-		var settings = $this.settings;
-		var items = $this._getActionItems(el);
-		var duration = 0;
-		if (animate)
-			duration = settings.duration;
-		
-		if (el.hasClass(prefix+'_hidden')) {
-			el.removeClass(prefix+'_hidden');
-			el.slideDown(duration, settings.easingOpen, function(){
-				
-				$(trigger).removeClass(prefix+'_animating');
-				$(trigger).parent().removeClass(prefix+'_animating');
-				
-				//Fire open callback
-				if (!init) {
-					settings.open(trigger);
-				}
-			});
-			el.attr('aria-hidden','false');
-			items.attr('tabindex', '0');
-			$this._setVisAttr(el, false);
-		} else {
-			el.addClass(prefix+'_hidden');
-			el.slideUp(duration, this.settings.easingClose, function() {
-				el.attr('aria-hidden','true');
-				items.attr('tabindex', '-1');
-				$this._setVisAttr(el, true);
-				el.hide(); //jQuery 1.7 bug fix
-				
-				$(trigger).removeClass(prefix+'_animating');
-				$(trigger).parent().removeClass(prefix+'_animating');
-				
-				//Fire init or close callback
-				if (!init)
-					settings.close(trigger);
-				else if (trigger == 'init')
-					settings.init();
-			});
-		}
-	}
-
-	// set attributes of element and children based on visibility
-	Plugin.prototype._setVisAttr = function(el, hidden) {
-		var $this = this;
-		
-		// select all parents that aren't hidden
-		var nonHidden = el.children('li').children('ul').not('.'+prefix+'_hidden');
-		
-		// iterate over all items setting appropriate tags
-		if (!hidden) {
-			nonHidden.each(function(){
-				var ul = $(this);
-				ul.attr('aria-hidden','false');
-				var items = $this._getActionItems(ul);
-				items.attr('tabindex', '0');
-				$this._setVisAttr(ul, hidden);
-			});
-		} else {
-			nonHidden.each(function(){
-				var ul = $(this);
-				ul.attr('aria-hidden','true');
-				var items = $this._getActionItems(ul);
-				items.attr('tabindex', '-1');
-				$this._setVisAttr(ul, hidden);
-			});
-		}
-	}
-
-	// get all 1st level items that are clickable
-	Plugin.prototype._getActionItems = function(el) {
-		var data = el.data("menu");
-		if (!data) {
-			data = {};
-			var items = el.children('li');
-			var anchors = items.children('a');
-			data.links = anchors.add(items.children('.'+prefix+'_item'));
-			el.data("menu", data);
-		}
-		return data.links;
-	}
-
-	Plugin.prototype._outlines = function(state) {
-		if (!state) {
-			$('.'+prefix+'_item, .'+prefix+'_btn').css('outline','none');
-		} else {
-			$('.'+prefix+'_item, .'+prefix+'_btn').css('outline','');
-		}
-	}
-	
-	Plugin.prototype.toggle = function(){
-		$this._menuToggle();
-	}
-	
-	Plugin.prototype.open = function(){
-		$this = this;
-		if ($this.btn.hasClass(prefix+'_collapsed')) {
-			$this._menuToggle();
-		}
-	}
-	
-	Plugin.prototype.close = function(){
-		$this = this;
-		if ($this.btn.hasClass(prefix+'_open')) {
-			$this._menuToggle();
-		}
-	}
-	
-	$.fn[mobileMenu] = function ( options ) {
-		var args = arguments;
-
-		// Is the first parameter an object (options), or was omitted, instantiate a new instance
-		if (options === undefined || typeof options === 'object') {
-			return this.each(function () {
-
-				// Only allow the plugin to be instantiated once due to methods
-				if (!$.data(this, 'plugin_' + mobileMenu)) {
-
-					// if it has no instance, create a new one, pass options to our plugin constructor,
-					// and store the plugin instance in the elements jQuery data object.
-					$.data(this, 'plugin_' + mobileMenu, new Plugin( this, options ));
-				}
-			});
-
-		// If is a string and doesn't start with an underscore or 'init' function, treat this as a call to a public method.
-		} else if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
-
-			// Cache the method call to make it possible to return a value
-			var returns;
-
-			this.each(function () {
-				var instance = $.data(this, 'plugin_' + mobileMenu);
-
-				// Tests that there's already a plugin-instance and checks that the requested public method exists
-				if (instance instanceof Plugin && typeof instance[options] === 'function') {
-
-					// Call the method of our plugin instance, and pass it the supplied arguments.
-					returns = instance[options].apply( instance, Array.prototype.slice.call( args, 1 ) );
-				}
-			});
-
-			// If the earlier cached method gives a value back return the value, otherwise return this to preserve chainability.
-			return returns !== undefined ? returns : this;
-		}
-	};
+  var
+    // default settings object.
+    defaults = {
+      label: 'MENU',
+      duplicate: true,
+      duration: 200,
+      easingOpen: 'swing',
+      easingClose: 'swing',
+      closedSymbol: '&#9658;',
+      openedSymbol: '&#9660;',
+      prependTo: 'body',
+      parentTag: 'a',
+      closeOnClick: false,
+      allowParentLinks: false,
+      init: function () {
+      },
+      open: function () {
+      },
+      close: function () {
+      }
+    },
+    mobileMenu = 'slicknav',
+    prefix = 'slicknav';
+
+  function Plugin(element, options) {
+    this.element = element;
+
+    // jQuery has an extend method which merges the contents of two or
+    // more objects, storing the result in the first object. The first object
+    // is generally empty as we don't want to alter the default options for
+    // future instances of the plugin
+    this.settings = $.extend({}, defaults, options);
+
+    this._defaults = defaults;
+    this._name = mobileMenu;
+
+    this.init();
+  }
+
+  Plugin.prototype.init = function () {
+    var $this = this;
+    var menu = $(this.element);
+    var settings = this.settings;
+
+    // clone menu if needed
+    if (settings.duplicate) {
+      $this.mobileNav = menu.clone();
+      //remove ids from clone to prevent css issues
+      $this.mobileNav.removeAttr('id');
+      $this.mobileNav.find('*').each(function (i, e) {
+        $(e).removeAttr('id');
+      });
+    }
+    else {
+      $this.mobileNav = menu;
+    }
+
+    // styling class for the button
+    var iconClass = prefix + '_icon';
+
+    if (settings.label == '') {
+      iconClass += ' ' + prefix + '_no-text';
+    }
+
+    if (settings.parentTag == 'a') {
+      settings.parentTag = 'a href="#"';
+    }
+
+    // create menu bar
+    $this.mobileNav.attr('class', prefix + '_nav');
+    var menuBar = $('<div class="' + prefix + '_menu"></div>');
+    $this.btn = $('<' + settings.parentTag + ' aria-haspopup="true" tabindex="0" class="' + prefix + '_btn ' + prefix + '_collapsed"><span class="' + prefix + '_menutxt">' + settings.label + '</span><span class="' + iconClass + '"><span class="' + prefix + '_icon-bar"></span><span class="' + prefix + '_icon-bar"></span><span class="' + prefix + '_icon-bar"></span></span></a>');
+    $(menuBar).append($this.btn);
+    $(settings.prependTo).prepend(menuBar);
+    menuBar.append($this.mobileNav);
+
+    // iterate over structure adding additional structure
+    var items = $this.mobileNav.find('li');
+    $(items).each(function () {
+      var item = $(this);
+      var data = {};
+      data.children = item.children('ul').attr('role', 'menu');
+      item.data("menu", data);
+
+      // if a list item has a nested menu
+      if (data.children.length > 0) {
+
+        // select all text before the child menu
+        var a = item.contents();
+        var nodes = [];
+        $(a).each(function () {
+          if (!$(this).is("ul")) {
+            nodes.push(this);
+          }
+          else {
+            return false;
+          }
+        });
+
+        // wrap item text with tag and add classes
+        var wrap = $(nodes).wrapAll('<' + settings.parentTag + ' role="menuitem" aria-haspopup="true" tabindex="-1" class="' + prefix + '_item"/>').parent();
+
+        item.addClass(prefix + '_collapsed');
+        item.addClass(prefix + '_parent');
+
+        // create parent arrow
+        $(nodes).last().after('<span class="' + prefix + '_arrow">' + settings.closedSymbol + '</span>');
+
+
+      }
+      else {
+        if (item.children().length == 0) {
+          item.addClass(prefix + '_txtnode');
+        }
+      }
+
+      // accessibility for links
+      item.children('a').attr('role', 'menuitem').click(function () {
+        //Emulate menu close if set
+        if (settings.closeOnClick) {
+          $($this.btn).click();
+        }
+      });
+    });
+
+    // structure is in place, now hide appropriate items
+    $(items).each(function () {
+      var data = $(this).data("menu");
+      $this._visibilityToggle(data.children, false, null, true);
+    });
+
+    // finally toggle entire menu
+    $this._visibilityToggle($this.mobileNav, false, 'init', true);
+
+    // accessibility for menu button
+    $this.mobileNav.attr('role', 'menu');
+
+    // outline prevention when using mouse
+    $(document).mousedown(function () {
+      $this._outlines(false);
+    });
+
+    $(document).keyup(function () {
+      $this._outlines(true);
+    });
+
+    // menu button click
+    $($this.btn).click(function (e) {
+      e.preventDefault();
+      $this._menuToggle();
+    });
+
+    // click on menu parent
+    $this.mobileNav.on('click', '.' + prefix + '_item', function (e) {
+      e.preventDefault();
+      $this._itemClick($(this));
+    });
+
+    // check for enter key on menu button and menu parents
+    $($this.btn).keydown(function (e) {
+      var ev = e || event;
+      if (ev.keyCode == 13) {
+        e.preventDefault();
+        $this._menuToggle();
+      }
+    });
+
+    $this.mobileNav.on('keydown', '.' + prefix + '_item', function (e) {
+      var ev = e || event;
+      if (ev.keyCode == 13) {
+        e.preventDefault();
+        $this._itemClick($(e.target));
+      }
+    });
+
+    // allow links clickable within parent tags if set
+    if (settings.allowParentLinks) {
+      $('.' + prefix + '_item a').click(function (e) {
+        e.stopImmediatePropagation();
+      });
+    }
+  };
+
+  //toggle menu
+  Plugin.prototype._menuToggle = function (el) {
+    var $this = this;
+    var btn = $this.btn;
+    var mobileNav = $this.mobileNav;
+
+    if (btn.hasClass(prefix + '_collapsed')) {
+      btn.removeClass(prefix + '_collapsed');
+      btn.addClass(prefix + '_open');
+    }
+    else {
+      btn.removeClass(prefix + '_open');
+      btn.addClass(prefix + '_collapsed');
+    }
+    btn.addClass(prefix + '_animating');
+    $this._visibilityToggle(mobileNav, true, btn);
+  };
+
+  // toggle clicked items
+  Plugin.prototype._itemClick = function (el) {
+    var $this = this;
+    var settings = $this.settings;
+    var data = el.data("menu");
+    if (!data) {
+      data = {};
+      data.arrow = el.children('.' + prefix + '_arrow');
+      data.ul = el.next('ul');
+      data.parent = el.parent();
+      el.data("menu", data);
+    }
+    if (data.parent.hasClass(prefix + '_collapsed')) {
+      data.arrow.html(settings.openedSymbol);
+      data.parent.removeClass(prefix + '_collapsed');
+      data.parent.addClass(prefix + '_open');
+      data.parent.addClass(prefix + '_animating');
+      $this._visibilityToggle(data.ul, true, el);
+    }
+    else {
+      data.arrow.html(settings.closedSymbol);
+      data.parent.addClass(prefix + '_collapsed');
+      data.parent.removeClass(prefix + '_open');
+      data.parent.addClass(prefix + '_animating');
+      $this._visibilityToggle(data.ul, true, el);
+    }
+  };
+
+  // toggle actual visibility and accessibility tags
+  Plugin.prototype._visibilityToggle = function (el, animate, trigger, init) {
+    var $this = this;
+    var settings = $this.settings;
+    var items = $this._getActionItems(el);
+    var duration = 0;
+    if (animate) {
+      duration = settings.duration;
+    }
+
+    if (el.hasClass(prefix + '_hidden')) {
+      el.removeClass(prefix + '_hidden');
+      el.slideDown(duration, settings.easingOpen, function () {
+
+        $(trigger).removeClass(prefix + '_animating');
+        $(trigger).parent().removeClass(prefix + '_animating');
+
+        //Fire open callback
+        if (!init) {
+          settings.open(trigger);
+        }
+      });
+      el.attr('aria-hidden', 'false');
+      items.attr('tabindex', '0');
+      $this._setVisAttr(el, false);
+    }
+    else {
+      el.addClass(prefix + '_hidden');
+      el.slideUp(duration, this.settings.easingClose, function () {
+        el.attr('aria-hidden', 'true');
+        items.attr('tabindex', '-1');
+        $this._setVisAttr(el, true);
+        el.hide(); //jQuery 1.7 bug fix
+
+        $(trigger).removeClass(prefix + '_animating');
+        $(trigger).parent().removeClass(prefix + '_animating');
+
+        //Fire init or close callback
+        if (!init) {
+          settings.close(trigger);
+        }
+        else {
+          if (trigger == 'init') {
+            settings.init();
+          }
+        }
+      });
+    }
+  };
+
+  // set attributes of element and children based on visibility
+  Plugin.prototype._setVisAttr = function (el, hidden) {
+    var $this = this;
+
+    // select all parents that aren't hidden
+    var nonHidden = el.children('li').children('ul').not('.' + prefix + '_hidden');
+
+    // iterate over all items setting appropriate tags
+    if (!hidden) {
+      nonHidden.each(function () {
+        var ul = $(this);
+        ul.attr('aria-hidden', 'false');
+        var items = $this._getActionItems(ul);
+        items.attr('tabindex', '0');
+        $this._setVisAttr(ul, hidden);
+      });
+    }
+    else {
+      nonHidden.each(function () {
+        var ul = $(this);
+        ul.attr('aria-hidden', 'true');
+        var items = $this._getActionItems(ul);
+        items.attr('tabindex', '-1');
+        $this._setVisAttr(ul, hidden);
+      });
+    }
+  };
+
+  // get all 1st level items that are clickable
+  Plugin.prototype._getActionItems = function (el) {
+    var data = el.data("menu");
+    if (!data) {
+      data = {};
+      var items = el.children('li');
+      var anchors = items.children('a');
+      data.links = anchors.add(items.children('.' + prefix + '_item'));
+      el.data("menu", data);
+    }
+    return data.links;
+  };
+
+  Plugin.prototype._outlines = function (state) {
+    if (!state) {
+      $('.' + prefix + '_item, .' + prefix + '_btn').css('outline', 'none');
+    }
+    else {
+      $('.' + prefix + '_item, .' + prefix + '_btn').css('outline', '');
+    }
+  }
+
+  Plugin.prototype.toggle = function () {
+    $this._menuToggle();
+  };
+
+  Plugin.prototype.open = function () {
+    $this = this;
+    if ($this.btn.hasClass(prefix + '_collapsed')) {
+      $this._menuToggle();
+    }
+  };
+
+  Plugin.prototype.close = function () {
+    $this = this;
+    if ($this.btn.hasClass(prefix + '_open')) {
+      $this._menuToggle();
+    }
+  };
+
+  $.fn[mobileMenu] = function (options) {
+    var args = arguments;
+
+    // Is the first parameter an object (options), or was omitted, instantiate
+    // a new instance
+    if (options === undefined || typeof options === 'object') {
+      return this.each(function () {
+
+        // Only allow the plugin to be instantiated once due to methods
+        if (!$.data(this, 'plugin_' + mobileMenu)) {
+
+          // if it has no instance, create a new one, pass options to our
+          // plugin constructor, and store the plugin instance in the elements
+          // jQuery data object.
+          $.data(this, 'plugin_' + mobileMenu, new Plugin(this, options));
+        }
+      });
+
+      // If is a string and doesn't start with an underscore or 'init'
+      // function, treat this as a call to a public method.
+    }
+    else {
+      if (typeof options === 'string' && options[0] !== '_' && options !== 'init') {
+
+        // Cache the method call to make it possible to return a value
+        var returns;
+
+        this.each(function () {
+          var instance = $.data(this, 'plugin_' + mobileMenu);
+
+          // Tests that there's already a plugin-instance and checks that the
+          // requested public method exists
+          if (instance instanceof Plugin && typeof instance[options] === 'function') {
+
+            // Call the method of our plugin instance, and pass it the supplied
+            // arguments.
+            returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));
+          }
+        });
+
+        // If the earlier cached method gives a value back return the value,
+        // otherwise return this to preserve chainability.
+        return returns !== undefined ? returns : this;
+      }
+    }
+  };
 }(jQuery, document, window));
 
-(function($) {
+(function ($) {
 
-// Create the responsive menu using SlickNav.
-Drupal.admin.behaviors.responsivemenu = function (context, settings, $adminMenu) {
+  Drupal.admin = Drupal.admin || {};
+  Drupal.admin.behaviors = Drupal.admin.behaviors || {};
+
+  // Create the responsive menu using SlickNav.
+  Drupal.admin.behaviors.responsivemenu = function (context, settings, $adminMenu) {
 
     $('#admin-menu-menu-responsive').slicknav({
-		label: 'Menu',
-		prependTo:'body',
-		closedSymbol: "<i class=\"closed\"></i>",
-		openedSymbol: "<i class=\"open\"></i>",
-		allowParentLinks: true
-	});
-
-};
-
-// Create the responsive shortcuts dropdown.
-Drupal.admin.behaviors.responsiveshortcuts = function (context, settings, $adminMenu) {
-
-  // Check if there are any shortucts to respondify.
-  if(jQuery("div.toolbar-shortcuts ul.menu li").length){
-
-	  // Create the dropdown base
-	  $("<select id='responsive-shortcuts-dropdown'/>").appendTo("#admin-menu-shortcuts-responsive div.toolbar-shortcuts");
-
-	  // Create default option "Select"
-	  $("<option />", {
-	    "selected"  :  "selected",
-	    "class"     :  "hide",
-	    "value"     :  "",
-	    "text"      :  Drupal.t('Shortcuts')
-	  }).appendTo("#admin-menu-shortcuts-responsive div.toolbar-shortcuts select");
-
-	  // Populate dropdown with menu items
-	  $("#admin-menu-shortcuts-responsive div.toolbar-shortcuts a").each(function() {
-	    var el = $(this);
-	    $("<option />", {
-	      "value"   :  el.attr("href"),
-	      "text"    :  el.text()
-	    }).appendTo("#admin-menu-shortcuts-responsive div.toolbar-shortcuts select");
-	  });
+      label: Drupal.t('Menu'),
+      prependTo: 'body',
+      closedSymbol: "<i class=\"closed\"></i>",
+      openedSymbol: "<i class=\"open\"></i>",
+      allowParentLinks: true
+    });
+
+  };
+
+  // Create the responsive shortcuts dropdown.
+  Drupal.admin.behaviors.responsiveshortcuts = function (context, settings, $adminMenu) {
+
+    // Check if there are any shortucts to respondify.
+    if (jQuery("div.toolbar-shortcuts ul.menu li").length) {
+
+      // Create the dropdown base
+      $('<select id="responsive-shortcuts-dropdown"/>').appendTo("#admin-menu-shortcuts-responsive div.toolbar-shortcuts");
+
+      // Create default option "Select"
+      $("<option />", {
+        "selected": "selected",
+        "class": "hide",
+        "value": "",
+        "text": Drupal.t('Shortcuts')
+      }).appendTo("#admin-menu-shortcuts-responsive div.toolbar-shortcuts select");
+
+      // Populate dropdown with menu items
+      $("#admin-menu-shortcuts-responsive div.toolbar-shortcuts a").each(function () {
+        var el = $(this);
+        $("<option />", {
+          "value": el.attr("href"),
+          "text": el.text()
+        }).appendTo("#admin-menu-shortcuts-responsive div.toolbar-shortcuts select");
+      });
 
       // Redirect the user when selecting an option.
-	  $("#admin-menu-shortcuts-responsive div.toolbar-shortcuts select").change(function() {
-	    window.location = $(this).find("option:selected").val();
-	  });
+      $("#admin-menu-shortcuts-responsive div.toolbar-shortcuts select").change(function () {
+        window.location = $(this).find("option:selected").val();
+      });
 
-	  // Clean the mess.
-	  $('#admin-menu-shortcuts-responsive div.toolbar-shortcuts ul').remove();
-	  // Move the select box into the responsive menu.
-	  $("#admin-menu-shortcuts-responsive").prependTo(".slicknav_menu");
+      // Clean the mess.
+      $('#admin-menu-shortcuts-responsive div.toolbar-shortcuts ul').remove();
+      // Move the select box into the responsive menu.
+      $("#admin-menu-shortcuts-responsive").prependTo(".slicknav_menu");
 
-	  }
+    }
 
-  // Remove the edit shortcuts link from the DOM to avoid duble rendering.
-  $('#admin-menu-shortcuts-responsive #edit-shortcuts').remove();
+    // Remove the edit shortcuts link from the DOM to avoid duble rendering.
+    $('#admin-menu-shortcuts-responsive #edit-shortcuts').remove();
 
-};
+  };
 })(jQuery);

+ 209 - 180
sites/all/modules/contrib/admin/adminimal_admin_menu/js/slicknav/slicknav.css

@@ -2,255 +2,284 @@
     Mobile Menu Core Style
 */
 
-.slicknav_btn { position: relative; display: block; vertical-align: middle; float: right; padding: 0.438em 0.625em 0.438em 0.625em; line-height: 1.125em; cursor: pointer; }
-.slicknav_menu  .slicknav_menutxt { display: block; line-height: 1.188em; float: left; }
-.slicknav_menu .slicknav_icon { float: left; margin: 0.188em 0 0 0.438em; }
-.slicknav_menu .slicknav_no-text { margin: 0 }
-.slicknav_menu .slicknav_icon-bar { display: block; width: 1.125em; height: 0.125em; -webkit-border-radius: 1px; -moz-border-radius: 1px; border-radius: 1px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); }
-.slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar { margin-top: 0.188em }
-.slicknav_nav { clear: both }
+.slicknav_btn {
+  position: relative;
+  display: block;
+  vertical-align: middle;
+  float: right;
+  padding: 0.438em 0.625em 0.438em 0.625em;
+  line-height: 1.125em;
+  cursor: pointer;
+}
+.slicknav_menu .slicknav_menutxt {
+  display: block;
+  line-height: 1.188em;
+  float: left;
+}
+.slicknav_menu .slicknav_icon {
+  float: left;
+  margin: 0.188em 0 0 0.438em;
+}
+.slicknav_menu .slicknav_no-text {
+  margin: 0;
+}
+.slicknav_menu .slicknav_icon-bar {
+  display: block;
+  width: 1.125em;
+  height: 0.125em;
+  -webkit-border-radius: 1px;
+  -moz-border-radius: 1px;
+  border-radius: 1px;
+  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
+}
+.slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar {
+  margin-top: 0.188em;
+}
+.slicknav_nav {
+  clear: both;
+}
 .slicknav_nav ul,
-.slicknav_nav li { display: block }
-.slicknav_nav .slicknav_arrow { font-size: 0.8em; margin: 0 0 0 0.4em; }
-.slicknav_nav .slicknav_item { display: block; cursor: pointer; }
-.slicknav_nav a { display: block }
-.slicknav_nav .slicknav_item a { display: inline }
+.slicknav_nav li {
+  display: block;
+}
+.slicknav_nav .slicknav_arrow {
+  font-size: 0.8em;
+  margin: 0 0 0 0.4em;
+}
+.slicknav_nav .slicknav_item {
+  display: block;
+  cursor: pointer;
+}
+.slicknav_nav a {
+  display: block;
+}
+.slicknav_nav .slicknav_item a {
+  display: inline;
+}
 .slicknav_menu:before,
-.slicknav_menu:after { content: " "; display: table; }
-.slicknav_menu:after { clear: both }
+.slicknav_menu:after {
+  content: " ";
+  display: table;
+}
+.slicknav_menu:after {
+  clear: both;
+}
 /* IE6/7 support */
-.slicknav_menu { *zoom: 1 }
-
-/* 
+.slicknav_menu {
+  *zoom: 1;
+}
+/*
     User Default Style
     Change the following styles to modify the appearance of the menu.
 */
 
 .slicknav_menu {
-	font-size:16px;
+  font-size: 16px;
 }
 /* Button */
 .slicknav_btn {
-	margin: 5px 5px 6px;	
-	text-decoration:none;	
-	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);	
-	-webkit-border-radius: 4px;
-	-moz-border-radius: 4px;
-	border-radius: 4px;  
-	background-color: #222222;
+  margin: 5px 5px 6px;
+  text-decoration: none;
+  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
+  -webkit-border-radius: 4px;
+  -moz-border-radius: 4px;
+  border-radius: 4px;
+  background-color: #222;
 }
 /* Button Text */
-.slicknav_menu  .slicknav_menutxt {	
-	color: #FFF;
-	font-weight: bold;	
-	text-shadow: 0 1px 3px #000;	
+.slicknav_menu .slicknav_menutxt {
+  color: #fff;
+  font-weight: bold;
+  text-shadow: 0 1px 3px #000;
 }
 /* Button Lines */
 .slicknav_menu .slicknav_icon-bar {
   background-color: #f5f5f5;
 }
 .slicknav_menu {
-	background:#4c4c4c;
-	padding:5px;
+  background: #4c4c4c;
+  padding: 5px;
 }
 .slicknav_nav {
-	color:#fff;
-	margin:0;	
-	padding:0;
-	font-size:0.875em;
+  color: #fff;
+  margin: 0;
+  padding: 0;
+  font-size: 0.875em;
 }
-.slicknav_nav, .slicknav_nav ul {
-	list-style: none;
-	overflow:hidden;
+.slicknav_nav,
+.slicknav_nav ul {
+  list-style: none;
+  overflow: hidden;
 }
 .slicknav_nav ul {
-	padding:0;
-	margin:0 0 0 20px;
+  padding: 0;
+  margin: 0 0 0 20px;
 }
 .slicknav_nav .slicknav_item {
-	padding:5px 10px;
-	margin:2px 5px;
+  padding: 5px 10px;
+  margin: 2px 5px;
 }
-.slicknav_nav a{
-	padding:5px 10px;
-	margin:2px 5px;
-	text-decoration:none;
-	color:#fff;
+.slicknav_nav a {
+  padding: 5px 10px;
+  margin: 2px 5px;
+  text-decoration: none;
+  color: #fff;
 }
 .slicknav_nav .slicknav_item a {
-	padding:0;
-	margin:0;
+  padding: 0;
+  margin: 0;
 }
 .slicknav_nav .slicknav_item:hover {
-	-webkit-border-radius: 6px;
-	-moz-border-radius: 6px;
-	border-radius: 6px;
-	background:#ccc;
-	color:#fff;	
-}
-.slicknav_nav a:hover{
-	-webkit-border-radius: 6px;
-	-moz-border-radius: 6px;
-	border-radius: 6px;
-	background:#ccc;
-	color:#222;
+  -webkit-border-radius: 6px;
+  -moz-border-radius: 6px;
+  border-radius: 6px;
+  background: #ccc;
+  color: #fff;
+}
+.slicknav_nav a:hover {
+  -webkit-border-radius: 6px;
+  -moz-border-radius: 6px;
+  border-radius: 6px;
+  background: #ccc;
+  color: #222;
 }
 .slicknav_nav .slicknav_txtnode {
-     margin-left:15px;   
+  margin-left: 15px;
 }
-
 /* ADMiNiMAL MENU STYLING */
 .slicknav_menu {
-	display:none;
+  display: none;
 }
-
 #admin-menu-menu-responsive {
-	display: none;
+  display: none;
 }
-
 @media screen and (max-width: 1024px) {
-	body.admin-menu.adminimal-menu:before {
-		display: none;
-	}
-	#admin-menu-menu, a#edit-shortcuts, li.admin-menu-account, #admin-menu-search, #admin-menu-users, {
-		display:none;
-	}
-
-	#admin-menu {
-		display: none !important;
-	}
-
-	body.admin-menu, body.admin-menu.adminimal-menu.adminimal-backend, body.admin-menu.adminimal-menu.adminimal-frontend {
-		margin-top: 0px !important;
-	}
-
-	.slicknav_menu {
-		display:block;
-	}
-
-	#admin-menu-shortcuts-responsive {
-	    background: url("../../images/circledown.svg") no-repeat scroll 16px 50% transparent;
-	    float: right;
-	}
-
-	#admin-menu-shortcuts-responsive select {
-	    -moz-appearance: none;
-	    -webkit-appearance: none;
-	    text-indent: 0.01px;
-	    text-overflow: '';
-	    border: none;
-	    font-size: 0px;
-	    background: transparent;
-	    height: 46px;
-	    width: 46px;
-	    display: block;
-	}
-
-	#admin-menu-shortcuts-responsive select option {
-	    font-size: 14px;
-	    background: #fff;
-	    color: #333;
-	}
-
+  body.admin-menu.adminimal-menu:before {
+    display: none;
+  }
+  #admin-menu-menu,
+  a#edit-shortcuts,
+  li.admin-menu-account,
+  #admin-menu-search,
+  #admin-menu-users {
+    display: none;
+  }
+  #admin-menu {
+    display: none !important;
+  }
+  body.admin-menu,
+  body.admin-menu.adminimal-menu.adminimal-backend,
+  body.admin-menu.adminimal-menu.adminimal-frontend {
+    margin-top: 0 !important;
+  }
+  .slicknav_menu {
+    display: block;
+  }
+  #admin-menu-shortcuts-responsive {
+    background: url("../../images/circledown.svg") no-repeat scroll 16px 50% transparent;
+    float: right;
+  }
+  #admin-menu-shortcuts-responsive select {
+    -moz-appearance: none;
+    -webkit-appearance: none;
+    text-indent: 0.01em;
+    text-overflow: '';
+    border: none;
+    font-size: 0;
+    background: transparent;
+    height: 46px;
+    width: 46px;
+    display: block;
+  }
+  #admin-menu-shortcuts-responsive select option {
+    font-size: 14px;
+    background: #fff;
+    color: #333;
+  }
 }
-
 .slicknav_btn {
-	float: left;
+  float: left;
 }
-
 .slicknav_menu {
-    background: none repeat scroll 0 0 #222222;
-    padding: 0;
-    font-family: Open Sans, "Segoe UI", "Helvetica", sans-serif;
-    color: color: #FFFFFF;
+  background: none repeat scroll 0 0 #222;
+  padding: 0;
+  font-family: Open Sans, "Segoe UI", "Helvetica", sans-serif;
+  color: #fff;
 }
-
-.slicknav_menu a, .slicknav_menu a:link, .slicknav_menu a:active {
-	color: #fff !important;
-	text-decoration: none !important;
+.slicknav_menu a,
+.slicknav_menu a:link,
+.slicknav_menu a:active {
+  color: #fff !important;
+  text-decoration: none !important;
 }
-
 .slicknav_menu:after {
-    clear: none;
+  clear: none;
 }
-
 .slicknav_btn {
-    margin: 0;
-    outline: medium none;
-    padding: 5px 10px;
-    text-shadow: none;
-    border-radius: 0;
+  margin: 0;
+  outline: medium none;
+  padding: 5px 10px;
+  text-shadow: none;
+  border-radius: 0;
 }
-
 .slicknav_icon {
-	display: none;
+  display: none;
 }
-
 .slicknav_menu .slicknav_menutxt {
-	text-shadow: none;
-	font-weight: normal;
-}
-
-.slicknav_nav a:hover, .slicknav_nav .slicknav_item:hover {
-	border-radius: 0;
+  text-shadow: none;
+  font-weight: normal;
 }
-
-.slicknav_nav li.expandable, #admin-menu .slicknav_nav .dropdown li {
-	float: none !important;
+.slicknav_nav a:hover,
+.slicknav_nav .slicknav_item:hover {
+  border-radius: 0;
 }
-
-.slicknav_nav .slicknav_item {
-	
+.slicknav_nav li.expandable,
+#admin-menu .slicknav_nav .dropdown li {
+  float: none !important;
 }
-
 .slicknav_btn {
-    background: url("../../images/menu.svg") no-repeat scroll 8px 16px rgba(0, 0, 0, 0);
-    font-size: 23px;
-    padding: 10px 34px;
+  background: url("../../images/menu.svg") no-repeat scroll 8px 16px rgba(0, 0, 0, 0);
+  font-size: 23px;
+  padding: 10px 34px;
 }
-
 .slicknav_menu:after {
-    clear: both;
+  clear: both;
 }
-
-.slicknav_nav .slicknav_item:hover, .slicknav_nav a:hover {
-    background: none repeat scroll 0 0 #0074BD;
-    border-radius: 0;
-    color: #FFFFFF;
-    text-decoration: none !important;
+.slicknav_nav .slicknav_item:hover,
+.slicknav_nav a:hover {
+  background: none repeat scroll 0 0 #0074bd;
+  border-radius: 0;
+  color: #fff;
+  text-decoration: none !important;
 }
-
 .slicknav_nav .slicknav_arrow i {
-    display: inline-block;
-    background: url("../../images/menu-arrows.svg") no-repeat scroll 0px 3px rgba(0, 0, 0, 0);
-    font-size: 0.8em;
-    height: 16px;
-    margin: 0 0 0 0.4em;
-    width: 16px;
+  display: inline-block;
+  background: url("../../images/menu-arrows.svg") no-repeat scroll 0 3px rgba(0, 0, 0, 0);
+  font-size: 0.8em;
+  height: 16px;
+  margin: 0 0 0 0.4em;
+  width: 16px;
 }
-
 .slicknav_open .slicknav_arrow i.open {
-	background: url("../../images/menu-arrows.svg") no-repeat scroll -37px 0 rgba(0, 0, 0, 0);
+  background: url("../../images/menu-arrows.svg") no-repeat scroll -37px 0 rgba(0, 0, 0, 0);
 }
-
 .slicknav_nav li.admin-menu-toolbar-home-menu {
-	background-color: #333;
+  background-color: #333;
 }
-
 li.admin-menu-icon.slicknav_parent > a {
-	padding: 0;
-	margin: 0;
+  padding: 0;
+  margin: 0;
 }
-
 li.admin-menu-icon.slicknav_parent > a > span.slicknav_arrow {
-	position: absolute;
-	margin-top: 10px;
-	margin-left: -5px;
+  position: absolute;
+  margin-top: 10px;
+  margin-left: -5px;
 }
-
 .slicknav_nav li.admin-menu-toolbar-home-menu span.admin-menu-home-icon {
-    background: url("../../images/house.svg") no-repeat scroll 17px 10px rgba(0, 0, 0, 0);
-    display: inline-block;
-    height: 40px;
-    width: 50px;
-}
+  background: url("../../images/house.svg") no-repeat scroll 17px 10px rgba(0, 0, 0, 0);
+  display: inline-block;
+  height: 40px;
+  width: 50px;
+}

+ 0 - 18
sites/all/modules/contrib/admin/adminimal_admin_menu/updates/update_7100.php

@@ -1,18 +0,0 @@
-<?php
-
-/**
- * @file
- * Adminimal Menu Update file 7100.
- */
-
-// Define Adminimal Menu path.
-$module_path = drupal_get_path('module', 'adminimal_admin_menu');
-
-// Delete the "adminimal_admin_menu.js" file.
-file_unmanaged_delete($module_path . '/adminimal_admin_menu.js');
-
-// Empty the "slicknav" folder.
-file_unmanaged_delete_recursive($module_path . '/slicknav');
-
-// Delete the "slicknav" folder.
-drupal_rmdir($module_path . '/slicknav');

Some files were not shown because too many files changed in this diff