You are here

function om_maximenu_block_load in OM Maximenu 7

Same name and namespace in other branches
  1. 8 inc/om_maximenu.render.inc \om_maximenu_block_load()
  2. 6 inc/om_maximenu.render.inc \om_maximenu_block_load()

Load all OM Maximenu blocks

This will process all created OM Maximenu blocks

1 call to om_maximenu_block_load()
om_maximenu_block_view in ./om_maximenu.module
Implementation of hook_block_view().

File

inc/om_maximenu.render.inc, line 105
OM Maximenu Render

Code

function om_maximenu_block_load($maximenu_delta = '') {
  global $_om_maximenu_variable;
  $maximenu = $_om_maximenu_variable;
  $maximenu_delta = explode('-', $maximenu_delta);

  // ex. $maximenu_delta = 'om-maximenu-1';
  $delta = $maximenu_delta[2];
  $out = array();

  // om delta always starts with 1
  if (isset($maximenu[$delta]) && $delta != 0) {
    if (!empty($maximenu) && $maximenu[$delta]['output'] == 'block') {
      $visibility_values = isset($maximenu[$delta]['menu_visibility']) ? $maximenu[$delta]['menu_visibility'] : array(
        'visibility' => 0,
        'pages' => '',
      );
      $visibility = om_maximenu_menu_visibility($visibility_values);
      if ($visibility) {

        // update change from tabbed to style
        $maximenu[$delta]['style'] = isset($maximenu[$delta]['tabbed']) ? $maximenu[$delta]['tabbed'] : $maximenu[$delta]['style'];

        // exclude modal window jquery scripts because these will be loaded on om_maximenu_load()
        // effects won't load on disabled blocks
        if (!empty($maximenu[$delta]['block_options']['region']) && $maximenu[$delta]['style'] == '') {
          om_maximenu_asset_loader($maximenu[$delta]);
        }
        elseif (!empty($maximenu[$delta]['block_options']['region']) && (isset($maximenu[$delta]['style']) && $maximenu[$delta]['style'] != 'modal')) {
          om_maximenu_asset_loader($maximenu[$delta]);
        }
        $out['title'] = check_plain($maximenu[$delta]['title']);
        $out['content'] = om_maximenu_links_render($maximenu[$delta], $delta);
      }
    }
  }
  return $out;
}