roles); // Check for Admin, logged in $vars['logged_in'] = ($user->uid > 0) ? TRUE : FALSE; } function acquia_marina_preprocess_page(&$vars) { global $language; // Remove sidebars if disabled e.g., for Panels if (!$vars['show_blocks']) { $vars['sidebar_first'] = ''; $vars['sidebar_last'] = ''; } // Build array of helpful body classes $body_classes = array(); $body_classes[] = ($vars['logged_in']) ? 'logged-in' : 'not-logged-in'; // Page user is logged in $body_classes[] = ($vars['is_front']) ? 'front' : 'not-front'; // Page is front page if (isset($vars['node'])) { $body_classes[] = ($vars['node']) ? 'full-node' : ''; // Page is one full node $body_classes[] = (($vars['node']->type == 'forum') || (arg(0) == 'forum')) ? 'forum' : ''; // Page is Forum page $body_classes[] = ($vars['node']->type) ? 'node-type-'. $vars['node']->type : ''; // Page has node-type-x, e.g., node-type-page } else { $body_classes[] = (arg(0) == 'forum') ? 'forum' : ''; // Page is Forum page } $body_classes[] = (module_exists('panels_page') && (panels_page_get_current())) ? 'panels' : ''; // Page is Panels page $body_classes[] = 'layout-'. (($vars['sidebar_first']) ? 'first-main' : 'main') . (($vars['sidebar_last']) ? '-last' : ''); // Page sidebars are active if ($vars['preface_first'] || $vars['preface_middle'] || $vars['preface_last']) { // Preface regions are active $preface_regions = 'preface'; $preface_regions .= ($vars['preface_first']) ? '-first' : ''; $preface_regions .= ($vars['preface_middle']) ? '-middle' : ''; $preface_regions .= ($vars['preface_last']) ? '-last' : ''; $body_classes[] = $preface_regions; } if ($vars['postscript_first'] || $vars['postscript_middle'] || $vars['postscript_last']) { // Postscript regions are active $postscript_regions = 'postscript'; $postscript_regions .= ($vars['postscript_first']) ? '-first' : ''; $postscript_regions .= ($vars['postscript_middle']) ? '-middle' : ''; $postscript_regions .= ($vars['postscript_last']) ? '-last' : ''; $body_classes[] = $postscript_regions; } $body_classes = array_filter($body_classes); // Remove empty elements $vars['body_classes'] = implode(' ', $body_classes); // Create class list separated by spaces // Add preface & postscript classes with number of active sub-regions $region_list = array( 'prefaces' => array('preface_first', 'preface_middle', 'preface_last'), 'postscripts' => array('postscript_first', 'postscript_middle', 'postscript_last') ); foreach ($region_list as $sub_region_key => $sub_region_list) { $active_regions = array(); foreach ($sub_region_list as $region_item) { if (!empty($vars[$region_item])) { $active_regions[] = $region_item; } } $vars[$sub_region_key] = $sub_region_key .'-'. strval(count($active_regions)); } // Generate menu tree from source of primary links if (module_exists('i18nmenu')) { $vars['primary_links_tree']=i18nmenu_translated_tree(variable_get('menu_primary_links_source', 'primary-links')); } else { $vars['primary_links_tree'] = menu_tree(variable_get('menu_primary_links_source', 'primary-links')); } // TNT THEME SETTINGS SECTION // Display mission statement on all pages if (theme_get_setting('mission_statement_pages') == 'all') { $vars['mission'] = theme_get_setting('mission', false); } // Hide breadcrumb on all pages if (theme_get_setting('breadcrumb_display') == 0) { $vars['breadcrumb'] = ''; } // Set site title, slogan, mission, page title & separator if (!module_exists('page_title')) { $title = t(variable_get('site_name', '')); $slogan = t(variable_get('site_slogan', '')); $mission = t(variable_get('site_mission', '')); $page_title = t(drupal_get_title()); $title_separator = theme_get_setting('configurable_separator'); if (drupal_is_front_page()) { // Front page title settings switch (theme_get_setting('front_page_title_display')) { case 'title_slogan': $vars['head_title'] = drupal_set_title($title . $title_separator . $slogan); break; case 'slogan_title': $vars['head_title'] = drupal_set_title($slogan . $title_separator . $title); break; case 'title_mission': $vars['head_title'] = drupal_set_title($title . $title_separator . $mission); break; case 'custom': if (theme_get_setting('page_title_display_custom') !== '') { $vars['head_title'] = drupal_set_title(t(theme_get_setting('page_title_display_custom'))); } } } else { // Non-front page title settings switch (theme_get_setting('other_page_title_display')) { case 'ptitle_slogan': $vars['head_title'] = drupal_set_title($page_title . $title_separator . $slogan); break; case 'ptitle_stitle': $vars['head_title'] = drupal_set_title($page_title . $title_separator . $title); break; case 'ptitle_smission': $vars['head_title'] = drupal_set_title($page_title . $title_separator . $mission); break; case 'ptitle_custom': if (theme_get_setting('other_page_title_display_custom') !== '') { $vars['head_title'] = drupal_set_title($page_title . $title_separator . t(theme_get_setting('other_page_title_display_custom'))); } break; case 'custom': if (theme_get_setting('other_page_title_display_custom') !== '') { $vars['head_title'] = drupal_set_title(t(theme_get_setting('other_page_title_display_custom'))); } } } $vars['head_title'] = strip_tags($vars['head_title']); // Remove any potential html tags } // Set meta keywords and description (unless using Meta tags module) if (!module_exists('nodewords')) { if (theme_get_setting('meta_keywords') !== '') { $keywords = ''; $vars['head'] .= $keywords ."\n"; } if (theme_get_setting('meta_description') !== '') { $keywords = ''; $vars['head'] .= $keywords ."\n"; } } // Add custom theme settings $theme_settings_path = path_to_theme() . '/theme_settings/'; drupal_add_css($theme_settings_path . theme_get_setting('theme_width') . '.css', 'theme'); drupal_add_css($theme_settings_path . theme_get_setting('theme_fonts') . '.css', 'theme'); $banner_file = theme_get_setting('theme_banner'); $vars['banner_image'] = ($banner_file == 'none') ? '' : 'style="background: url('. base_path() . $theme_settings_path .'banners/'. $banner_file .') no-repeat;"'; // Set IE6 & IE7 stylesheets, plus right-to-left versions $theme_path = base_path() . path_to_theme(); $vars['ie6_styles'] = '' . "\n"; $vars['ie7_styles'] = '' . "\n"; if (defined('LANGUAGE_RTL') && $language->direction == LANGUAGE_RTL) { $vars['ie6_styles'] .= ' ' . "\n"; $vars['ie7_styles'] .= ' ' . "\n"; } if (file_exists(path_to_theme() . '/local.css')) { // Add local css file if present $theme_path = base_path() . path_to_theme() . '/local.css'; $vars['local_styles'] = '' . "\n"; } // Use grouped import technique for more than 30 un-aggregated stylesheets (css limit fix for IE) $css = drupal_add_css(); if (theme_get_setting('fix_css_limit') && !variable_get('preprocess_css', FALSE) && acquia_marina_css_count($css) > 26) { $styles = ''; $suffix = "\n".''."\n"; foreach ($css as $media => $types) { $prefix = '