/** * Draws menus * @param $menu_position * @param $draw */ public static function DrawMenu($menu_position = 'left', $draw = true) { global $objSettings, $objLogin; $output = ''; if ($menu_position == 'left') { $objLogin->DrawLoginLinks(); } // Get all menus which have items (links to pages) $menus = self::GetMenus($menu_position); $menus_count = $menus[1]; $objNews = News::Instance(); $show_news_block = ModulesSettings::Get('news', 'show_news_block'); $show_subscribe_block = ModulesSettings::Get('news', 'show_newsletter_subscribe_block'); if (Modules::IsModuleInstalled('news') && ($show_news_block == 'right side' || $show_subscribe_block == 'right side')) { $menus_count++; } $show_inquiries_block = ModulesSettings::Get('inquiries', 'show_inquiries_block'); if (Modules::IsModuleInstalled('inquiries') && $show_inquiries_block == 'right side') { $menus_count++; } if (ModulesSettings::Get('listings', 'show_categories_side_block') == $menu_position . ' side') { $output .= Categories::DrawSideBlock(false); $menus_count++; } if (ModulesSettings::Get('listings', 'show_featured_block') == $menu_position . ' side') { $output .= Listings::DrawFeaturedBlock(false); $menus_count++; } if (ModulesSettings::Get('listings', 'show_recent_block') == $menu_position . ' side') { $output .= Listings::DrawRecentBlock(false); $menus_count++; } if (ModulesSettings::Get('listings', 'show_directory_statistics') == $menu_position . ' side') { $menus_count++; } if ($menus_count > 0) { $output .= '<div id="column-' . $menu_position . '-wrapper">'; } // Display all menu titles (names) according to their order for ($menu_ind = 0; $menu_ind < $menus[1]; $menu_ind++) { // Start draw new menu $output .= draw_block_top($menus[0][$menu_ind]['menu_name'], '', 'maximazed', false); $menu_links = self::GetMenuLinks($menus[0][$menu_ind]['id'], Application::Get('lang'), $menu_position); if ($menu_links[1] > 0) { $output .= '<ul>'; } for ($menu_link_ind = 0; $menu_link_ind < $menu_links[1]; $menu_link_ind++) { $class = Application::Get('page_id') == $menu_links[0][$menu_link_ind]['id'] ? ' active' : ''; if ($menu_links[0][$menu_link_ind]['content_type'] == 'link') { $output .= '<li>' . prepare_permanent_link($menu_links[0][$menu_link_ind]['link_url'], $menu_links[0][$menu_link_ind]['menu_link'], $menu_links[0][$menu_link_ind]['link_target'], 'main_menu_link' . $class) . '</li>'; } else { // draw current menu link $output .= '<li>' . prepare_link('pages', 'pid', $menu_links[0][$menu_link_ind]['id'], $menu_links[0][$menu_link_ind]['page_key'], $menu_links[0][$menu_link_ind]['menu_link'], 'main_menu_link' . $class) . '</li>'; } } if ($menu_links[1] > 0) { $output .= '</ul>'; } $output .= draw_block_bottom(false); } if ($menu_position == 'left') { if (!$objLogin->IsLoggedIn() || Application::Get('preview') == 'yes') { if (Modules::IsModuleInstalled('customers') && ModulesSettings::Get('customers', 'allow_login') == 'yes') { if (Application::Get('customer') != 'login') { $output .= Customers::DrawLoginFormBlock(false); } } } if (Modules::IsModuleInstalled('news')) { if ($show_news_block == 'left side') { $output .= $objNews->DrawNewsBlock(false); } if ($show_subscribe_block == 'left side') { $output .= $objNews->DrawSubscribeBlock(false); } } if (Modules::IsModuleInstalled('inquiries')) { if ($show_inquiries_block == 'left side') { $output .= Inquiries::DrawLastInquiriesBlock(false); } } } if ($menu_position == 'right') { if (Modules::IsModuleInstalled('inquiries')) { if ($show_inquiries_block == 'right side') { $output .= Inquiries::DrawLastInquiriesBlock(false); } } if (Modules::IsModuleInstalled('news')) { if ($show_news_block == 'right side') { $output .= $objNews->DrawNewsBlock(false); } if ($show_subscribe_block == 'right side') { $output .= $objNews->DrawSubscribeBlock(false); } } } if (ModulesSettings::Get('listings', 'show_directory_statistics') == $menu_position . ' side') { $output .= Listings::DrawDirectoryStatistics(false); } if ($menu_position == 'right') { if (Modules::IsModuleInstalled('adsense')) { $output .= '<div class="adsense-vertical">' . Adsense::GetVerticalBanerCode() . '</div>'; } } if ($menus_count > 0) { $output .= '</div>'; } $output .= '<br />'; if ($draw) { echo $output; } else { return $output; } }