get('template_width')); // generate css for fixed header if ($this['config']->get('header_fixed')) { $css[] = '#page.fixed-header #block-top-a { height: '.intval($this['config']->get('header_height')).'px; }'; $css[] = '#page.fixed-header #block-main { margin-top: '.intval($this['config']->get('header_height')).'px; }'; } // generate css for 3-column-layout $sidebar_a = ''; $sidebar_b = ''; $maininner_width = 100; $sidebar_a_width = intval($this['config']->get('sidebar-a_width')); $sidebar_b_width = intval($this['config']->get('sidebar-b_width')); $sidebar_classes = ""; $rtl = $this['config']->get('direction') == 'rtl'; $body_config = array(); // set widths if ($this['modules']->count('sidebar-a')) { $sidebar_a = $this['config']->get('sidebar-a'); $maininner_width -= $sidebar_a_width; $css[] = sprintf('#sidebar-a { width: %d%%; }', $sidebar_a_width); } if ($this['modules']->count('sidebar-b')) { $sidebar_b = $this['config']->get('sidebar-b'); $maininner_width -= $sidebar_b_width; $css[] = sprintf('#sidebar-b { width: %d%%; }', $sidebar_b_width); } $css[] = sprintf('#maininner { width: %d%%; }', $maininner_width); // all sidebars right if (($sidebar_a == 'right' || !$sidebar_a) && ($sidebar_b == 'right' || !$sidebar_b)) { $sidebar_classes .= ($sidebar_a) ? 'sidebar-a-right ' : ''; $sidebar_classes .= ($sidebar_b) ? 'sidebar-b-right ' : ''; // all sidebars left } elseif (($sidebar_a == 'left' || !$sidebar_a) && ($sidebar_b == 'left' || !$sidebar_b)) { $sidebar_classes .= ($sidebar_a) ? 'sidebar-a-left ' : ''; $sidebar_classes .= ($sidebar_b) ? 'sidebar-b-left ' : ''; $css[] = sprintf('#maininner { float: %s; }', $rtl ? 'left' : 'right'); // sidebar-a left and sidebar-b right } elseif ($sidebar_a == 'left') { $sidebar_classes .= 'sidebar-a-left sidebar-b-right '; $css[] = '#maininner, #sidebar-a { position: relative; }'; $css[] = sprintf('#maininner { %s: %d%%; }', $rtl ? 'right' : 'left', $sidebar_a_width); $css[] = sprintf('#sidebar-a { %s: -%d%%; }', $rtl ? 'right' : 'left', $maininner_width); // sidebar-b left and sidebar-a right } elseif ($sidebar_b == 'left') { $sidebar_classes .= 'sidebar-a-right sidebar-b-left '; $css[] = '#maininner, #sidebar-a, #sidebar-b { position: relative; }'; $css[] = sprintf('#maininner, #sidebar-a { %s: %d%%; }', $rtl ? 'right' : 'left', $sidebar_b_width); $css[] = sprintf('#sidebar-b { %s: -%d%%; }', $rtl ? 'right' : 'left', $maininner_width + $sidebar_a_width); } // number of sidebars if ($sidebar_a && $sidebar_b) { $sidebar_classes .= 'sidebars-2 '; } elseif ($sidebar_a || $sidebar_b) { $sidebar_classes .= 'sidebars-1 '; } // generate css for dropdown menu foreach (array(1 => '.dropdown', 2 => '.columns2', 3 => '.columns3', 4 => '.columns4') as $i => $class) { $css[] = sprintf('#menu %s { width: %dpx; }', $class, $i * intval($this['config']->get('menu_width'))); } // load css $this['asset']->addFile('css', 'css:base.css'); $this['asset']->addFile('css', 'css:layout.css'); $this['asset']->addFile('css', 'css:menus.css'); $this['asset']->addString('css', implode("\n", $css)); $this['asset']->addFile('css', 'css:modules.css'); $this['asset']->addFile('css', 'css:tools.css'); $this['asset']->addFile('css', 'css:system.css'); $this['asset']->addFile('css', 'css:extensions.css'); $this['asset']->addFile('css', 'css:custom.css'); if ($this['config']->get('animation') == '1') $this['asset']->addFile('css', 'css:animation.css'); if (($texture = $this['config']->get('texture')) && $this['path']->path("css:/texture/$texture.css")) { $this['asset']->addFile('css', "css:/texture/$texture.css"); } if (($color = $this['config']->get('color')) && $this['path']->path("css:/color/$color.css")) { $this['asset']->addFile('css', "css:/color/$color.css"); } if (($font = $this['config']->get('font1')) && $this['path']->path("css:/font1/$font.css")) { $this['asset']->addFile('css', "css:/font1/$font.css"); } if (($font = $this['config']->get('font2')) && $this['path']->path("css:/font2/$font.css")) { $this['asset']->addFile('css', "css:/font2/$font.css"); } if (($font = $this['config']->get('font3')) && $this['path']->path("css:/font3/$font.css")) { $this['asset']->addFile('css', "css:/font3/$font.css"); } $this['asset']->addFile('css', 'css:style.css'); if ($this['config']->get('direction') == 'rtl') { $this['asset']->addFile('css', 'css:rtl.css'); if (($color = $this['config']->get('color')) && $this['path']->path("css:/color/$color-rtl.css")) { $this['asset']->addFile('css', "css:/color/$color-rtl.css"); } } $this['asset']->addFile('css', 'css:responsive.css'); $this['asset']->addFile('css', 'css:print.css'); // load fonts $http = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http'; $fonts = array( 'droidsans' => 'template:fonts/droidsans.css', 'opensans' => 'template:fonts/opensans.css', 'yanonekaffeesatz' => 'template:fonts/yanonekaffeesatz.css', 'mavenpro' => 'template:fonts/mavenpro.css', 'kreon' => 'template:fonts/kreon.css', 'kreon' => 'template:fonts/kreon.css', 'patuaone' => 'template:fonts/patuaone.css'); foreach (array_unique(array($this['config']->get('font1'), $this['config']->get('font2'), $this['config']->get('font3'))) as $font) { if (isset($fonts[$font])) { $this['asset']->addFile('css', $fonts[$font]); } } // set body css classes $body_classes = $sidebar_classes.' '; $body_classes .= $this['system']->isBlog() ? 'isblog ' : 'noblog '; $body_classes .= $this['config']->get('page_class'); // set fixed header body css class if ($this['config']->get('header_fixed', 0)) { $body_classes .= ($this['config']->get('header_fixed', 0)) ? ' fixed-header ' : ''; } // check for toolbar if ($this['modules']->count('toolbar-l + toolbar-r') || $this['config']->get('date')) { $body_classes .= ' fixed-toolbar '; } $this['config']->set('body_classes', $body_classes); // add social buttons $body_config['twitter'] = (int) $this['config']->get('twitter', 0); $body_config['plusone'] = (int) $this['config']->get('plusone', 0); $body_config['facebook'] = (int) $this['config']->get('facebook', 0); $this['config']->set('body_config', json_encode($body_config)); // add javascripts $this['asset']->addFile('js', 'js:warp.js'); $this['asset']->addFile('js', 'js:responsive.js'); $this['asset']->addFile('js', 'js:accordionmenu.js'); $this['asset']->addFile('js', 'js:dropdownmenu.js'); if ($this['config']->get('fp_grid_status', 1)) { $this['asset']->addFile('js', 'js:jquery.gridalicious.js'); } $this['asset']->addFile('js', 'js:template.js'); // internet explorer if ($this['useragent']->browser() == 'msie') { // add conditional comments $head[] = sprintf('', $this['path']->url('js:html5.js')); $head[] = sprintf('', $this['path']->url('css:ie8.css')); } // add $head if (isset($head)) { $this['template']->set('head', implode("\n", $head)); }