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
|
// init vars
|
10
|
$id = $module->id;
|
11
|
$position = $module->position;
|
12
|
$title = $module->title;
|
13
|
$showtitle = $module->showtitle;
|
14
|
$content = $module->content;
|
15
|
$split_color = '';
|
16
|
$subtitle = '';
|
17
|
$title_template = '';
|
18
|
|
19
|
// init params
|
20
|
foreach (array('suffix', 'style', 'color', 'header', 'badge', 'icon', 'dropdownwidth') as $var) {
|
21
|
$$var = isset($params[$var]) ? $params[$var] : null;
|
22
|
}
|
23
|
|
24
|
if (strpos($style,";")!==false) {
|
25
|
parse_str(str_replace(";","&",$style));
|
26
|
}
|
27
|
|
28
|
// set default module types
|
29
|
if ($style == '') {
|
30
|
if ($module->position == 'top-a') $style = 'plain';
|
31
|
if ($module->position == 'top-b') $style = 'box';
|
32
|
if ($module->position == 'bottom-a') $style = 'plain';
|
33
|
if ($module->position == 'bottom-b') $style = 'plain';
|
34
|
if ($module->position == 'innertop') $style = 'box';
|
35
|
if ($module->position == 'innerbottom') $style = 'box';
|
36
|
if ($module->position == 'sidebar-a') $style = 'box';
|
37
|
if ($module->position == 'sidebar-b') $style = 'box';
|
38
|
}
|
39
|
|
40
|
// test module styles here
|
41
|
//$style = '';
|
42
|
//$color = '';
|
43
|
//$badge = 'top';
|
44
|
//$header = 'line';
|
45
|
//$icon = '';
|
46
|
//$title = '';
|
47
|
//$content = '<ul class="line line-icon"><li>This is a demo text.</li><li><a href="#">Link</a></li></ul><ul class="zebra"><li>This is a demo text.</li><li><a href="#">Link</a></li></ul><a class="button-more" href="#">Read More</a><ul class="check"><li>Check List</li></ul><em>em Element</em><br /><em class="box">em with class box</em><br /><code>code Element</code><form class="short style"><div><input type="text"></div><div><textarea >Textarea text</textarea></div><div><a href="#" class="button-default">Button Default</a><a href="#" class="button-primary">Button Primary</a><button type="submit" name="Submit">Log in</button></div><a class=" button-primary">test</a></form>';
|
48
|
|
49
|
// force module style
|
50
|
if (in_array($module->position, array('absolute', 'breadcrumbs', 'logo', 'banner', 'search', 'debug'))) {
|
51
|
$style = 'raw';
|
52
|
$showtitle = 0;
|
53
|
}
|
54
|
if (in_array($module->position, array( 'toolbar-r' ,'toolbar-l', 'footer'))) {
|
55
|
$style = '';
|
56
|
$showtitle = 0;
|
57
|
}
|
58
|
if ($module->position == 'menu') {
|
59
|
$style = $module->menu ? 'raw' : 'dropdown';
|
60
|
}
|
61
|
|
62
|
// set module template using the style
|
63
|
switch ($style) {
|
64
|
|
65
|
case 'postit':
|
66
|
$template = 'default-3';
|
67
|
$style = 'mod-'.$style;
|
68
|
$style .= ($color) ? ' mod-postit-'.$color : '';
|
69
|
$header = ($header) ? ' module-title-'.$header : '';
|
70
|
$subtitle = 1;
|
71
|
$title_template = '<h3 class="module-title'.$header.'">%s</h3>';
|
72
|
break;
|
73
|
|
74
|
case 'plain':
|
75
|
case 'box':
|
76
|
$template = 'default-1';
|
77
|
$style = 'mod-'.$style;
|
78
|
$style .= ($color) ? ' '.$style.'-'.$color : '';
|
79
|
$header = ($header) ? ' module-title-'.$header : '';
|
80
|
$subtitle = 1;
|
81
|
$title_template = '<h3 class="module-title'.$header.'">%s</h3>';
|
82
|
break;
|
83
|
|
84
|
case 'dropdown':
|
85
|
$template = 'dropdown';
|
86
|
$subtitle = 1;
|
87
|
break;
|
88
|
|
89
|
case 'raw':
|
90
|
$template = 'raw';
|
91
|
break;
|
92
|
|
93
|
default:
|
94
|
$template = 'default-1';
|
95
|
$style = $suffix;
|
96
|
$suffix = '';
|
97
|
$title_template = '<h3 class="module-title">%s</h3>';
|
98
|
}
|
99
|
|
100
|
$style.=" ".$suffix;
|
101
|
|
102
|
// set badge if exists
|
103
|
if ($badge) {
|
104
|
$badge = '<div class="badge badge-'.$badge.'"></div>';
|
105
|
}
|
106
|
|
107
|
// split title in two colors
|
108
|
if ($split_color) {
|
109
|
$pos = mb_strpos($title, ' ');
|
110
|
if ($pos !== false) {
|
111
|
$title = '<span class="color">'.mb_substr($title, 0, $pos).'</span>'.mb_substr($title, $pos);
|
112
|
}
|
113
|
}
|
114
|
|
115
|
// create subtitle
|
116
|
if ($subtitle) {
|
117
|
$pos = mb_strpos($title, '||');
|
118
|
if ($pos !== false) {
|
119
|
$title = '<span class="title">'.mb_substr($title, 0, $pos).'</span><span class="subtitle">'.mb_substr($title, $pos + 2).'</span>';
|
120
|
}
|
121
|
}
|
122
|
|
123
|
// create title icon if exists
|
124
|
if ($icon) {
|
125
|
$title = '<span class="icon icon-'.$icon.'"></span>'.$title.'';
|
126
|
}
|
127
|
|
128
|
// create title template
|
129
|
if ($title_template) {
|
130
|
$title = sprintf($title_template, $title);
|
131
|
}
|
132
|
|
133
|
// set dropdownwidth if exists
|
134
|
if ($dropdownwidth) {
|
135
|
$dropdownwidth = 'style="width: '.$dropdownwidth.'px;"';
|
136
|
}
|
137
|
|
138
|
// render menu
|
139
|
if ($module->menu) {
|
140
|
|
141
|
// set menu renderer
|
142
|
if (isset($params['menu'])) {
|
143
|
$renderer = $params['menu'];
|
144
|
} else if (in_array($module->position, array('menu'))) {
|
145
|
$renderer = 'dropdown';
|
146
|
} else if (in_array($module->position, array('toolbar-l', 'toolbar-r', 'footer'))) {
|
147
|
$renderer = 'default';
|
148
|
} else {
|
149
|
$renderer = 'accordion';
|
150
|
}
|
151
|
|
152
|
// set menu style
|
153
|
if ($renderer == 'dropdown') {
|
154
|
$module->menu_style = 'menu-dropdown';
|
155
|
} else if ($renderer == 'accordion') {
|
156
|
$module->menu_style = 'menu-sidebar';
|
157
|
} else if ($renderer == 'default') {
|
158
|
$module->menu_style = 'menu-line';
|
159
|
} else {
|
160
|
$module->menu_style = null;
|
161
|
}
|
162
|
|
163
|
$content = $this['menu']->process($module, array_unique(array('pre', 'default', $renderer, 'post')));
|
164
|
}
|
165
|
|
166
|
// render module
|
167
|
echo $this->render("modules/templates/{$template}", compact('style', 'badge', 'showtitle', 'title', 'content', 'dropdownwidth'));
|
168
|
|