Pathologic was missing because of a .git folder inside.
[yaffs-website] / web / modules / contrib / superfish / superfish.theme.inc
index 650735661a741d3fd3300d53f594adf55f930334..8bc6cb8041d96daeedb3e6504a39f15102dcb489 100644 (file)
@@ -1,16 +1,14 @@
 <?php
+
 /**
  * @file
  * Preprocessors and theme functions of the Superfish module.
  */
 
 use Drupal\Core\Url;
-use Drupal\Core\Menu\MenuLinkDefault;
 use Drupal\Core\Menu\InaccessibleMenuLink;
 use Drupal\Core\Language\LanguageInterface;
-use Drupal\Core\Template\Attribute;
 use Drupal\Component\Utility\Html;
-use Drupal\Component\Utility\Unicode;
 use Drupal\Component\Utility\SafeMarkup;
 
 /**
@@ -29,23 +27,24 @@ use Drupal\Component\Utility\SafeMarkup;
  *
  * @see superfish.html.twig
  */
-
 function template_preprocess_superfish(array &$variables) {
   $element = $variables['element'];
 
-  $menu_items_rendered = array(
+  $menu_items_rendered = [
     '#theme' => 'superfish_menu_items',
     '#menu_name' => $element['#menu_name'],
     '#tree' => $element['#tree'],
     '#settings' => $element['#settings'],
-    '#cloned_parent' => false
-  );
+    '#cloned_parent' => FALSE,
+  ];
 
-  $menu_classes = array('menu', 'sf-menu');
+  $direction = \Drupal::languageManager()->getCurrentLanguage()->getDirection();
+  $menu_classes = ['menu', 'sf-menu'];
   $menu_classes[] = 'sf-' . $element['#menu_name'];
   $menu_classes[] = 'sf-' . $element['#settings']['menu_type'];
   $menu_classes[] = 'sf-style-' . $element['#settings']['style'];
-  $menu_classes[] = (\Drupal::languageManager()->getCurrentLanguage()->getDirection() === LanguageInterface::DIRECTION_RTL) ? 'rtl' : '';
+
+  $menu_classes[] = ($direction === LanguageInterface::DIRECTION_RTL) ? 'rtl' : '';
   if (strpos($element['#settings']['ulclass'], ' ') !== FALSE) {
     $l = explode(' ', $element['#settings']['ulclass']);
     foreach ($l as $c) {
@@ -55,7 +54,7 @@ function template_preprocess_superfish(array &$variables) {
   else {
     $menu_classes[] = Html::cleanCssIdentifier($element['#settings']['ulclass']);
   }
-  $menu_classes = implode(' ', superfish_array_remove_empty($menu_classes));
+  $menu_classes = implode(' ', sf_array_filter($menu_classes));
 
   $variables['id'] = $element['#html_id'];
   $variables['menu_classes'] = $menu_classes;
@@ -79,7 +78,6 @@ function template_preprocess_superfish(array &$variables) {
  *
  * @see superfish-menu-items.html.twig
  */
-
 function template_preprocess_superfish_menu_items(array &$variables) {
 
   $element = $variables['element'];
@@ -88,7 +86,7 @@ function template_preprocess_superfish_menu_items(array &$variables) {
   $settings = $sfsettings = $element['#settings'];
   $multicolumn = $multicolumn_below = $settings['multicolumn'];
 
-  $variables['menu_items'] = array();
+  $variables['menu_items'] = [];
 
   $menu = $element['#tree'];
 
@@ -99,19 +97,21 @@ function template_preprocess_superfish_menu_items(array &$variables) {
     array_unshift($menu, $element['#cloned_parent']);
   }
 
-  $active_trails = \Drupal::service('menu.active_trail')->getActiveTrailIds($element['#menu_name']);
+  $active_trails = \Drupal::service('menu.active_trail')
+    ->getActiveTrailIds($element['#menu_name']);
 
   foreach ($menu as $key => $menu_item) {
 
-    if (null !== $menu_item->link && !($menu_item->link instanceof InaccessibleMenuLink)) {
+    if (NULL !== $menu_item->link &&
+        !($menu_item->link instanceof InaccessibleMenuLink)) {
 
-      $item_class = $link_class = array();
+      $item_class = $link_class = [];
       $multicolumn_wrapper = $multicolumn_column = $multicolumn_content = FALSE;
 
       // Menu link properties.
       $link = $menu_item->link->getPluginDefinition();
 
-      $item = array(
+      $item = [
         'id'            => $link['id'],
         'text'          => $menu_item->link->getTitle(),
         'description'   => $menu_item->link->getDescription(),
@@ -122,8 +122,8 @@ function template_preprocess_superfish_menu_items(array &$variables) {
         'subtree'       => $menu_item->subtree,
         'depth'         => $menu_item->depth,
         'hasChildren'   => $menu_item->hasChildren,
-        'inActiveTrail' => $menu_item->inActiveTrail
-      );
+        'inActiveTrail' => $menu_item->inActiveTrail,
+      ];
 
       if ($menu_item->link->getUrlObject()->isRouted()) {
         // Adding the "is-active" class.
@@ -132,20 +132,27 @@ function template_preprocess_superfish_menu_items(array &$variables) {
         $current_url = Url::fromRoute('<current>');
         $current_path = $current_url->toString();
         $link_url = $item['url']->toString();
-        if ($link_url == $current_path || $link_url == $request_uri || $link_url == $host . $request_uri) {
+        if ($link_url == $current_path || $link_url == $request_uri ||
+            $link_url == $host . $request_uri) {
           $link_class[] = 'is-active';
         }
       }
 
       // Adding the necessary "active-trail" class.
-      if ($item['inActiveTrail'] || array_key_exists($item['id'], $active_trails) || ($menu_item->link->getUrlObject()->isRouted() && $menu_item->link->getUrlObject()->getRouteName() == '<front>' && \Drupal::service('path.matcher')->isFrontPage())) {
+      if ($item['inActiveTrail'] ||
+          array_key_exists($item['id'], $active_trails) ||
+          ($menu_item->link->getUrlObject()->isRouted() &&
+          $menu_item->link->getUrlObject()->getRouteName() == '<front>' &&
+          \Drupal::service('path.matcher')->isFrontPage())) {
         $item_class[] = 'active-trail';
       }
 
       // Add menu link depth classes to the <li> element and its link.
-      $link_class[] = $settings['itemdepth'] ? 'sf-depth-' . $item['depth'] : '';
-      $item_class[] = $settings['itemdepth'] ? 'sf-depth-' . $item['depth'] : '';
-      // Indicates a cloned parent link, i.e. does not exist in the actual menu tree.
+      if ($settings['itemdepth']) {
+        $link_class[] = 'sf-depth-' . $item['depth'];
+        $item_class[] = 'sf-depth-' . $item['depth'];
+      }
+      // Indicates a cloned parent, i.e. does not exist in the actual menu tree.
       $item_class[] = $element['#cloned_parent'] ? 'sf-clone-parent' : '';
 
       // Adding custom <li> classes.
@@ -176,10 +183,16 @@ function template_preprocess_superfish_menu_items(array &$variables) {
       // Inserting link description (the "title" attribute) into the text.
       if ($settings['add_linkdescription'] && !empty($item['description'])) {
         $link_text = '@text <span class="sf-description">@description</span>';
-        $link_text_replace = array('@text' => $item['text'], '@description' => $item['description']);
-      } else {
+        $link_text_replace = [
+          '@text'        => $item['text'],
+          '@description' => $item['description'],
+        ];
+      }
+      else {
         $link_text = '@text';
-        $link_text_replace = array('@text' => $item['text']);
+        $link_text_replace = [
+          '@text' => $item['text'],
+        ];
       }
 
       // Hiding link descriptions (the "title" attribute).
@@ -192,9 +205,25 @@ function template_preprocess_superfish_menu_items(array &$variables) {
 
         // Multi-column sub-menus.
         if ($settings['multicolumn']) {
-          $multicolumn_wrapper = ($item['depth'] == $settings['multicolumn_depth']) ? TRUE : FALSE;
-          $multicolumn_column = ($item['depth'] == $settings['multicolumn_depth'] + 1) ? TRUE : FALSE;
-          $multicolumn_content = ($item['depth'] >= $settings['multicolumn_depth'] && $item['depth'] <= $settings['multicolumn_levels']) ? TRUE : FALSE;
+          if ($item['depth'] == $settings['multicolumn_depth']) {
+            $multicolumn_wrapper = TRUE;
+          }
+          else {
+            $multicolumn_wrapper = FALSE;
+          }
+          if ($item['depth'] == $settings['multicolumn_depth'] + 1) {
+            $multicolumn_column = TRUE;
+          }
+          else {
+            $multicolumn_column = FALSE;
+          }
+          if ($item['depth'] >= $settings['multicolumn_depth'] &&
+              $item['depth'] <= $settings['multicolumn_levels']) {
+            $multicolumn_content = TRUE;
+          }
+          else {
+            $multicolumn_content = FALSE;
+          }
         }
 
         // sfTouchscreen.
@@ -208,13 +237,13 @@ function template_preprocess_superfish_menu_items(array &$variables) {
         }
 
         // Render the sub-menu.
-        $children = array(
+        $children = [
           '#theme'         => 'superfish_menu_items',
           '#menu_name'     => $element['#menu_name'],
           '#tree'          => $item['subtree'],
           '#settings'      => $sfsettings,
-          '#cloned_parent' => $cloned_parent
-        );
+          '#cloned_parent' => $cloned_parent,
+        ];
 
         if ($item['subtree']) {
           // Adding some more classes.
@@ -228,44 +257,48 @@ function template_preprocess_superfish_menu_items(array &$variables) {
       }
 
       // Preparing <li> classes for the theme.
-      $item_class = implode(' ', superfish_array_remove_empty($item_class));
+      $item_class = implode(' ', sf_array_filter($item_class));
 
       // Merging link classes.
       if (isset($item['options']['attributes']['class'])) {
         $link_class_current = $item['options']['attributes']['class'];
         if (!is_array($link_class_current)) {
-          $link_class_current = array($link_class_current);
+          $link_class_current = [$link_class_current];
         }
-        $link_class = array_merge($link_class_current, superfish_array_remove_empty($link_class));
+        $link_class = array_merge(
+          $link_class_current,
+          sf_array_filter($link_class)
+        );
       }
-      $item['options']['attributes']['class'] = superfish_array_remove_empty($link_class);
+      $item['options']['attributes']['class'] = sf_array_filter($link_class);
 
       // Dirty fix! to only add a "menuparent" class.
       $item['options_menuparent'] = $item['options'];
       $item['options_menuparent']['attributes']['class'][] = 'menuparent';
-      $link_element = array(
+      $link_element = [
         '#type' => 'link',
         '#title' => SafeMarkup::format($link_text, $link_text_replace),
         '#url' => $item['url'],
-        '#options' => $item['options']
-      );
-      $link_element_menuparent = array(
+        '#options' => $item['options'],
+      ];
+      $link_element_menuparent = [
         '#type' => 'link',
         '#title' => SafeMarkup::format($link_text, $link_text_replace),
         '#url' => $item['url'],
-        '#options' => $item['options_menuparent']
-      );
+        '#options' => $item['options_menuparent'],
+      ];
 
-      $variables['menu_items'][] = array(
-        'id'                  => Html::getUniqueId($element['#menu_name'] .'-'. $item['id']),
+      $id = $element['#menu_name'] . '-' . $item['id'];
+      $variables['menu_items'][] = [
+        'id'                  => Html::getUniqueId($id),
         'item_class'          => $item_class,
         'link'                => $link_element,
         'link_menuparent'     => $link_element_menuparent,
         'children'            => $children,
         'multicolumn_wrapper' => $multicolumn_wrapper,
         'multicolumn_content' => $multicolumn_content,
-        'multicolumn_column'  => $multicolumn_column
-      );
+        'multicolumn_column'  => $multicolumn_column,
+      ];
     }
   }
 }