false, 'separator' => false, ); $item = array_replace($itemDefault, $item); // applique les valeurs par default if ($context->menuIsActive($item['id'])) { $item['active'] = true; } if (!isset($item['class'])) { $item['class'] = '--item-' . preg_replace('/[^a-z0-9 ]/i', '-', $item['id']); } if (!empty($item['overrride'])) { $menu .= $item['overrride']; } elseif (!empty($item['children'])) { $menuChildren = ''; $haveChildActive = false; foreach ($item['children'] as $child) { $item = array_replace($itemDefault, $item); // applique les valeurs par default if (!empty($child['separator'])) { $menuChildren .= ''; } if ($context->menuIsActive($child['id'])) { $child['active'] = true; $haveChildActive = true; } if (!empty($child['children'])) { $menuChildren .= "\n\r" . '' . "\n\r"; $menuChildren .= getNavItem($child, $deep + 1); $menuChildren .= "\n\r" . '' . "\n\r"; } else { $menuChildren .= ''; } } $active = ''; if ($haveChildActive || $item['active']) { $active = 'active'; } $menu .= ''; } else { $menu .= '
  • ' . $item['name'] . '
  • '; } return $menu; } /** * Sort menu * uasort callback function to Sort menu fields * * @param array $a PDF lines array fields configs * @param array $b PDF lines array fields configs * @return int Return compare result * * // Sorting * uasort ( $this->cols, array( $this, 'menuSort' ) ); * */ function menuSortInv($a, $b) { if (empty($a['rank'])) { $a['rank'] = 0; } if (empty($b['rank'])) { $b['rank'] = 0; } if ($a['rank'] == $b['rank']) { return 0; } return ($a['rank'] < $b['rank']) ? -1 : 1; }