Project

General

Profile

1
<?php
2
/**
3
* @package   yoo_solar
4
* @author    YOOtheme http://www.yootheme.com
5
* @copyright Copyright (C) YOOtheme GmbH
6
* @license   http://www.gnu.org/licenses/gpl.html GNU/GPL
7
*/
8

    
9
// generate css for layout
10
$css[] = sprintf('.wrapper { max-width: %dpx; }', $this['config']->get('template_width'));
11

    
12
// generate css for fixed header
13
if ($this['config']->get('header_fixed')) {
14
	$css[] = '#page.fixed-header #block-top-a { height: '.intval($this['config']->get('header_height')).'px; }';
15
	$css[] = '#page.fixed-header #block-main { margin-top: '.intval($this['config']->get('header_height')).'px; }';
16
}
17

    
18
// generate css for 3-column-layout
19
$sidebar_a       = '';
20
$sidebar_b       = '';
21
$maininner_width = 100;
22
$sidebar_a_width = intval($this['config']->get('sidebar-a_width'));
23
$sidebar_b_width = intval($this['config']->get('sidebar-b_width'));
24
$sidebar_classes = "";
25
$rtl             = $this['config']->get('direction') == 'rtl';
26
$body_config	 = array();
27

    
28
// set widths
29
if ($this['modules']->count('sidebar-a')) {
30
	$sidebar_a = $this['config']->get('sidebar-a'); 
31
	$maininner_width -= $sidebar_a_width;
32
	$css[] = sprintf('#sidebar-a { width: %d%%; }', $sidebar_a_width);
33
}
34

    
35
if ($this['modules']->count('sidebar-b')) {
36
	$sidebar_b = $this['config']->get('sidebar-b'); 
37
	$maininner_width -= $sidebar_b_width;
38
	$css[] = sprintf('#sidebar-b { width: %d%%; }', $sidebar_b_width);
39
}
40

    
41
$css[] = sprintf('#maininner { width: %d%%; }', $maininner_width);
42

    
43
// all sidebars right
44
if (($sidebar_a == 'right' || !$sidebar_a) && ($sidebar_b == 'right' || !$sidebar_b)) {
45
	$sidebar_classes .= ($sidebar_a) ? 'sidebar-a-right ' : '';
46
	$sidebar_classes .= ($sidebar_b) ? 'sidebar-b-right ' : '';
47

    
48
// all sidebars left
49
} elseif (($sidebar_a == 'left' || !$sidebar_a) && ($sidebar_b == 'left' || !$sidebar_b)) {
50
	$sidebar_classes .= ($sidebar_a) ? 'sidebar-a-left ' : '';
51
	$sidebar_classes .= ($sidebar_b) ? 'sidebar-b-left ' : '';
52
	$css[] = sprintf('#maininner { float: %s; }', $rtl ? 'left' : 'right');
53

    
54
// sidebar-a left and sidebar-b right
55
} elseif ($sidebar_a == 'left') {
56
	$sidebar_classes .= 'sidebar-a-left sidebar-b-right ';
57
	$css[] = '#maininner, #sidebar-a { position: relative; }';
58
	$css[] = sprintf('#maininner { %s: %d%%; }', $rtl ? 'right' : 'left', $sidebar_a_width);
59
	$css[] = sprintf('#sidebar-a { %s: -%d%%; }', $rtl ? 'right' : 'left', $maininner_width);
60

    
61
// sidebar-b left and sidebar-a right
62
} elseif ($sidebar_b == 'left') {
63
	$sidebar_classes .= 'sidebar-a-right sidebar-b-left ';
64
	$css[] = '#maininner, #sidebar-a, #sidebar-b { position: relative; }';
65
	$css[] = sprintf('#maininner, #sidebar-a { %s: %d%%; }', $rtl ? 'right' : 'left', $sidebar_b_width);
66
	$css[] = sprintf('#sidebar-b { %s: -%d%%; }', $rtl ? 'right' : 'left', $maininner_width + $sidebar_a_width);
67
}
68

    
69
// number of sidebars
70
if ($sidebar_a && $sidebar_b) {
71
	$sidebar_classes .= 'sidebars-2 ';
72
} elseif ($sidebar_a || $sidebar_b) {
73
	$sidebar_classes .= 'sidebars-1 ';
74
}
75

    
76
// generate css for dropdown menu
77
foreach (array(1 => '.dropdown', 2 => '.columns2', 3 => '.columns3', 4 => '.columns4') as $i => $class) {
78
	$css[] = sprintf('#menu %s { width: %dpx; }', $class, $i * intval($this['config']->get('menu_width')));
79
}
80

    
81
// load css
82
$this['asset']->addFile('css', 'css:base.css');
83
$this['asset']->addFile('css', 'css:layout.css');
84
$this['asset']->addFile('css', 'css:menus.css');
85
$this['asset']->addString('css', implode("\n", $css));
86
$this['asset']->addFile('css', 'css:modules.css');
87
$this['asset']->addFile('css', 'css:tools.css');
88
$this['asset']->addFile('css', 'css:system.css');
89
$this['asset']->addFile('css', 'css:extensions.css');
90
$this['asset']->addFile('css', 'css:custom.css');
91
if ($this['config']->get('animation') == '1') $this['asset']->addFile('css', 'css:animation.css');
92
if (($texture = $this['config']->get('texture')) && $this['path']->path("css:/texture/$texture.css")) { $this['asset']->addFile('css', "css:/texture/$texture.css"); }
93
if (($color = $this['config']->get('color')) && $this['path']->path("css:/color/$color.css")) { $this['asset']->addFile('css', "css:/color/$color.css"); }
94
if (($font = $this['config']->get('font1')) && $this['path']->path("css:/font1/$font.css")) { $this['asset']->addFile('css', "css:/font1/$font.css"); }
95
if (($font = $this['config']->get('font2')) && $this['path']->path("css:/font2/$font.css")) { $this['asset']->addFile('css', "css:/font2/$font.css"); }
96
if (($font = $this['config']->get('font3')) && $this['path']->path("css:/font3/$font.css")) { $this['asset']->addFile('css', "css:/font3/$font.css"); }
97
$this['asset']->addFile('css', 'css:style.css');
98
if ($this['config']->get('direction') == 'rtl') {
99
	$this['asset']->addFile('css', 'css:rtl.css');
100
	if (($color = $this['config']->get('color')) && $this['path']->path("css:/color/$color-rtl.css")) { $this['asset']->addFile('css', "css:/color/$color-rtl.css"); }
101
}
102
$this['asset']->addFile('css', 'css:responsive.css');
103
$this['asset']->addFile('css', 'css:print.css');
104

    
105
// load fonts
106
$http  = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
107

    
108
$fonts = array(
109
	'droidsans' => 'template:fonts/droidsans.css',
110
	'opensans' => 'template:fonts/opensans.css',
111
	'yanonekaffeesatz' => 'template:fonts/yanonekaffeesatz.css',
112
	'mavenpro' => 'template:fonts/mavenpro.css',
113
	'kreon' => 'template:fonts/kreon.css',
114
	'patuaone' => 'template:fonts/patuaone.css',
115
	'robotoslab'=> 'template:fonts/robotoslab.css',
116
	'robotoslabweb'=> 'template:fonts/robotoslabweb.css',
117
	'robotocondensed'=> 'template:fonts/robotocondensed.css',
118
	'opensanslightcond'=> 'template:fonts/opensanslightcond.css',
119
	'ubuntucondensed'=> 'template:fonts/ubuntucondensed.css');
120

    
121

    
122

    
123
foreach (array_unique(array($this['config']->get('font1'), $this['config']->get('font2'), $this['config']->get('font3'))) as $font) {
124
	if (isset($fonts[$font])) {
125
		$this['asset']->addFile('css', $fonts[$font]);
126
	}
127
}
128

    
129
// set body css classes
130
$body_classes  = $sidebar_classes.' ';
131
$body_classes .= $this['system']->isBlog() ? 'isblog ' : 'noblog ';
132
$body_classes .= $this['config']->get('page_class');
133

    
134
// set fixed header body css class
135
if ($this['config']->get('header_fixed', 0)) {
136
	$body_classes .= ($this['config']->get('header_fixed', 0)) ? ' fixed-header ' : '';
137
}
138

    
139
// check for toolbar
140
if ($this['modules']->count('toolbar-l + toolbar-r') || $this['config']->get('date')) {
141
	$body_classes .= ' fixed-toolbar ';
142
}
143

    
144
$this['config']->set('body_classes', $body_classes);
145

    
146
// add social buttons
147
$body_config['twitter'] = (int) $this['config']->get('twitter', 0);
148
$body_config['plusone'] = (int) $this['config']->get('plusone', 0);
149
$body_config['facebook'] = (int) $this['config']->get('facebook', 0);
150

    
151
$this['config']->set('body_config', json_encode($body_config));
152

    
153
// add javascripts
154
$this['asset']->addFile('js', 'js:warp.js');
155
$this['asset']->addFile('js', 'js:responsive.js');
156
$this['asset']->addFile('js', 'js:accordionmenu.js');
157
$this['asset']->addFile('js', 'js:dropdownmenu.js');
158

    
159
if ($this['config']->get('fp_grid_status', 1)) {
160
	$this['asset']->addFile('js', 'js:jquery.gridalicious.js');
161
}
162

    
163
$this['asset']->addFile('js', 'js:template.js');
164

    
165
// internet explorer
166
if ($this['useragent']->browser() == 'msie') {
167

    
168
	// add conditional comments
169
	$head[] = sprintf('<!--[if lte IE 8]><script src="%s"></script><![endif]-->', $this['path']->url('js:html5.js'));
170
	$head[] = sprintf('<!--[if IE 8]><link rel="stylesheet" href="%s" /><![endif]-->', $this['path']->url('css:ie8.css'));
171

    
172
}
173

    
174
// add $head
175
if (isset($head)) {
176
	$this['template']->set('head', implode("\n", $head));
177
}
(3-3/4)