You are here

function jquerymenu_block_view in JQuery menu 7.3

Same name and namespace in other branches
  1. 7.4 jquerymenu.module \jquerymenu_block_view()

Implements hook_block_view().

File

./jquerymenu.module, line 114
The jQuerymenu module parses hierarchical link arrays and renders them as click and expand menu blocks.

Code

function jquerymenu_block_view($delta = '') {
  global $user;
  $block = array();

  // List of enabled jquerymenus.
  $result = db_query("SELECT mid, menu_name FROM {jquerymenus}");
  $enabledmenus = array();
  foreach ($result as $enabled) {
    $enabledmenus[$enabled->mid] = $enabled->menu_name;
  }

  // create variable to hold current active menu
  $old_activemenu = menu_get_active_menu_names();

  // loop through all jquerymenus
  foreach ($enabledmenus as $mid => $menuname) {

    // gets the data structure representing a named menu tree
    $menutree = menu_tree_all_data($menuname);
    if (!empty($menutree)) {
      if ($delta == $mid) {
        if ($menuname == 'navigation' && !empty($user->uid)) {

          // D6 to D7 conversion: ?? use the associative array or not?
          $title = theme('username', (array) $user);

          //$title = theme('username', array('user' => $user));
        }
        else {
          $title = db_query("SELECT title FROM {menu_custom} WHERE menu_name = :name", array(
            ':name' => $menuname,
          ))
            ->fetchField();
        }
        menu_set_active_menu_names($menuname);

        // get the path to root menu root
        $trail = jquerymenu_trail_creator();
        $block['subject'] = t($title);

        // create the block content
        $block['content'] = theme('jquerymenu_menu', array(
          'tree' => $menutree,
          'trail' => $trail,
        ));
      }
    }
  }

  // return active menu to what it was originally
  menu_set_active_menu_names($old_activemenu);
  return $block;
}