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
// 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

    
(1-1/3)