function om_maximenu_init in OM Maximenu 6
Same name and namespace in other branches
- 8 inc/om_maximenu.render.inc \om_maximenu_init()
- 7 inc/om_maximenu.render.inc \om_maximenu_init()
Implementation of hook_init().
File
- inc/
om_maximenu.render.inc, line 16 - OM Maximenu Render
Code
function om_maximenu_init() {
global $_om_maximenu_variable;
global $_om_maximenu_block_classes;
global $_om_maximenu_visible_blocks;
$_om_maximenu_visible_blocks = om_maximenu_blocks_visibility();
drupal_add_css(OM_MAXIMENU_PATH . '/css/om_maximenu.css');
drupal_add_js(OM_MAXIMENU_PATH . '/js/om_maximenu.js');
// add om tools custom block classes
if (module_exists('om_tools')) {
$om_tools_values = variable_get('om_tools', '');
$om_blocks = isset($om_tools_values['block']) ? $om_tools_values['block'] : array();
if (!empty($om_blocks) && $om_blocks['block_classes_switch'] == 1) {
$_om_maximenu_block_classes = array();
foreach ($om_blocks as $block_key => $block_class) {
$block = explode('___', $block_key);
if (isset($block[1])) {
// filters switch/reset
$module = $block[1];
$delta = $block[2];
$_om_maximenu_block_classes[$module][$delta] = $block_class;
}
}
}
}
// all menus settings
$_om_maximenu_variable = variable_get('om_maximenu', array());
$maximenu = $_om_maximenu_variable;
if (!empty($maximenu)) {
foreach ($maximenu as $menu_key => $menu_content) {
$visibility_values = isset($menu_content['menu_visibility']) ? $menu_content['menu_visibility'] : array(
'visibility' => 0,
'pages' => '',
);
$visibility = om_maximenu_menu_visibility($visibility_values);
if ($menu_content['output'] == 'block' && !isset($menu_content['modal_content'])) {
// effects won't load if disabled blocks
$status = !empty($menu_content['block_options']['region']) ? 1 : 0;
}
elseif (isset($menu_content['modal_content']) && $menu_content['modal_content'] == 1) {
$status = 1;
// forced include for modal
}
else {
$status = 1;
// all non-blocks
}
if ($visibility && $status) {
// update change from tabbed to style
$menu_content['style'] = isset($menu_content['tabbed']) ? $menu_content['tabbed'] : $menu_content['style'];
$action = isset($menu_content['action']) ? $menu_content['action'] : 'hover';
$active = isset($menu_content['active']) ? $menu_content['active'] : 0;
$longmenu = isset($menu_content['longmenu']) ? $menu_content['longmenu'] : FALSE;
$displace = isset($menu_content['displace']) ? $menu_content['displace'] : 0;
$delay = isset($menu_content['delay']) ? $menu_content['delay'] : 1000;
$fadeout = isset($menu_content['fadeout']) ? $menu_content['fadeout'] : 1;
$skin = isset($menu_content['skin']) ? $menu_content['skin'] : 'bubble';
$animated_bg = isset($menu_content['animated_bg']) ? 1 : 0;
$animated_link = isset($menu_content['animated_link']) ? 1 : 0;
$jiggle = isset($menu_content['jiggle']) ? 1 : 0;
$scroll = isset($menu_content['scroll']) ? 1 : 0;
$style = isset($menu_content['style']) ? $menu_content['style'] : '';
$dock = isset($menu_content['float_options']['dock']) ? 1 : 0;
$maximenu_name = om_string_name($menu_content['title']);
// add action per OM Maximenu
om_maximenu_action($action, $maximenu_name, $displace, $style, $delay, $fadeout);
// add css per OM Maximenu
drupal_add_css(OM_MAXIMENU_PATH . '/skin/' . $skin . '/' . $skin . '.css');
// add 'active-trail' to menu li when submenus are active
if ($active) {
om_maximenu_active_js($maximenu_name, $animated_bg, $style);
}
// scroll long menu if it won't fit the container
if ($longmenu) {
om_maximenu_longmenu_js($maximenu_name, $longmenu);
}
// animated bg effect
if ($animated_bg) {
om_maximenu_bg_slider($maximenu_name);
}
// animated link effect
if ($animated_link) {
om_maximenu_link_slider($maximenu_name);
}
// animated link jiggle
if ($jiggle) {
om_maximenu_jiggle($maximenu_name);
}
// scrolling float
if ($scroll) {
om_maximenu_scroll($maximenu_name);
}
// jquery fisheye dock effect
if ($dock) {
om_maximenu_dock($maximenu_name);
}
}
}
}
}