You are here

function jquerymenu_block_info in JQuery menu 7.4

Same name and namespace in other branches
  1. 7.3 jquerymenu.module \jquerymenu_block_info()

Implements hook_block_info().

File

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

Code

function jquerymenu_block_info() {

  // create array to hold blocks
  $blocks = array();

  // get a 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;
  }

  // loop through each jquerymenu
  foreach ($enabledmenus as $mid => $name) {

    // get the title of the menu

    //$title = db_query("SELECT title FROM {menu_custom} WHERE menu_name = :name", array(':name'=> $name))->fetchCol('title');
    $title = db_query("SELECT title FROM {menu_custom} WHERE menu_name = :name", array(
      ':name' => $name,
    ))
      ->fetchField();

    // If menu has no title, delete it.
    if (empty($title)) {
      db_delete('jquerymenus')
        ->condition('menu_name', $name)
        ->execute();
      db_delete('block')
        ->condition('module', 'jquerymenu')
        ->condition('delta', $mid)
        ->execute();
    }

    // Create a block.
    $blocks[$mid] = array(
      'info' => $title . ' - ' . t('jQuery Menu'),
      'status' => TRUE,
      'region' => 'sidebar_first',
      'weight' => 0,
      'visibility' => BLOCK_VISIBILITY_NOTLISTED,
      'cache' => DRUPAL_NO_CACHE,
    );
  }
  return $blocks;
}