1
|
<?php
|
2
|
|
3
|
|
4
|
|
5
|
|
6
|
|
7
|
|
8
|
|
9
|
|
10
|
|
11
|
|
12
|
|
13
|
|
14
|
|
15
|
|
16
|
|
17
|
|
18
|
|
19
|
function tao_css_alter(&$css) {
|
20
|
$exclude = array(
|
21
|
'misc/vertical-tabs.css' => FALSE,
|
22
|
'modules/aggregator/aggregator.css' => FALSE,
|
23
|
'modules/block/block.css' => FALSE,
|
24
|
'modules/book/book.css' => FALSE,
|
25
|
'modules/comment/comment.css' => FALSE,
|
26
|
'modules/dblog/dblog.css' => FALSE,
|
27
|
'modules/file/file.css' => FALSE,
|
28
|
'modules/filter/filter.css' => FALSE,
|
29
|
'modules/forum/forum.css' => FALSE,
|
30
|
'modules/help/help.css' => FALSE,
|
31
|
'modules/menu/menu.css' => FALSE,
|
32
|
'modules/node/node.css' => FALSE,
|
33
|
'modules/openid/openid.css' => FALSE,
|
34
|
'modules/poll/poll.css' => FALSE,
|
35
|
'modules/profile/profile.css' => FALSE,
|
36
|
'modules/search/search.css' => FALSE,
|
37
|
'modules/statistics/statistics.css' => FALSE,
|
38
|
'modules/syslog/syslog.css' => FALSE,
|
39
|
'modules/system/admin.css' => FALSE,
|
40
|
'modules/system/maintenance.css' => FALSE,
|
41
|
'modules/system/system.css' => FALSE,
|
42
|
'modules/system/system.admin.css' => FALSE,
|
43
|
'modules/system/system.base.css' => FALSE,
|
44
|
'modules/system/system.maintenance.css' => FALSE,
|
45
|
'modules/system/system.menus.css' => FALSE,
|
46
|
'modules/system/system.theme.css' => FALSE,
|
47
|
'modules/taxonomy/taxonomy.css' => FALSE,
|
48
|
'modules/tracker/tracker.css' => FALSE,
|
49
|
'modules/update/update.css' => FALSE,
|
50
|
'modules/user/user.css' => FALSE,
|
51
|
);
|
52
|
$css = array_diff_key($css, $exclude);
|
53
|
}
|
54
|
|
55
|
|
56
|
|
57
|
|
58
|
function tao_theme() {
|
59
|
$items = array();
|
60
|
|
61
|
|
62
|
$items['block'] = array(
|
63
|
'arguments' => array('block' => NULL),
|
64
|
'template' => 'object',
|
65
|
'path' => drupal_get_path('theme', 'tao') .'/templates',
|
66
|
);
|
67
|
$items['comment'] = array(
|
68
|
'arguments' => array('comment' => NULL, 'node' => NULL, 'links' => array()),
|
69
|
'template' => 'object',
|
70
|
'path' => drupal_get_path('theme', 'tao') .'/templates',
|
71
|
);
|
72
|
$items['node'] = array(
|
73
|
'arguments' => array('node' => NULL, 'teaser' => FALSE, 'page' => FALSE),
|
74
|
'template' => 'node',
|
75
|
'path' => drupal_get_path('theme', 'tao') .'/templates',
|
76
|
);
|
77
|
$items['fieldset'] = array(
|
78
|
'arguments' => array('element' => array()),
|
79
|
'template' => 'fieldset',
|
80
|
'path' => drupal_get_path('theme', 'tao') .'/templates',
|
81
|
);
|
82
|
|
83
|
|
84
|
$items['pager_list'] = array('arguments' => array(
|
85
|
'tags' => array(),
|
86
|
'limit' => 10,
|
87
|
'element' => 0,
|
88
|
'parameters' => array(),
|
89
|
'quantity' => 9,
|
90
|
));
|
91
|
|
92
|
return $items;
|
93
|
}
|
94
|
|
95
|
|
96
|
|
97
|
|
98
|
function tao_preprocess_html(&$vars) {
|
99
|
$vars['classes_array'][] = 'tao';
|
100
|
|
101
|
|
102
|
$tao_path = drupal_get_path('theme', 'tao');
|
103
|
$info = drupal_parse_info_file($tao_path.'/tao.info');
|
104
|
$ie = $info['stylesheets']['ie'];
|
105
|
foreach ($ie as $key => $value) {
|
106
|
drupal_add_css(
|
107
|
$tao_path.'/'.$value,
|
108
|
array(
|
109
|
'browsers' => array(
|
110
|
'IE' => $key,
|
111
|
'!IE' => FALSE
|
112
|
)
|
113
|
)
|
114
|
);
|
115
|
}
|
116
|
|
117
|
}
|
118
|
|
119
|
|
120
|
|
121
|
|
122
|
function tao_preprocess_page(&$vars) {
|
123
|
|
124
|
$vars['primary_local_tasks'] = menu_primary_local_tasks();
|
125
|
$vars['secondary_local_tasks'] = menu_secondary_local_tasks();
|
126
|
|
127
|
|
128
|
$vars['site_name'] = l($vars['site_name'], '<front>');
|
129
|
}
|
130
|
|
131
|
|
132
|
|
133
|
|
134
|
function tao_preprocess_block(&$vars) {
|
135
|
$vars['hook'] = 'block';
|
136
|
|
137
|
$vars['attributes_array']['id'] = $vars['block_html_id'];
|
138
|
$vars['attributes_array']['class'] = $vars['classes_array'];
|
139
|
|
140
|
$vars['title_attributes_array']['class'][] = $vars['hook'] . '-title';
|
141
|
$vars['title_attributes_array']['class'][] = 'clearfix';
|
142
|
|
143
|
$vars['content_attributes_array']['class'][] = $vars['hook'] . '-content';
|
144
|
$vars['content_attributes_array']['class'][] = 'clearfix';
|
145
|
if ($vars['block']->module == 'block') {
|
146
|
$vars['content_attributes_array']['class'][] = 'prose';
|
147
|
}
|
148
|
|
149
|
$vars['title'] = !empty($vars['block']->subject) ? $vars['block']->subject : '';
|
150
|
|
151
|
|
152
|
|
153
|
|
154
|
|
155
|
|
156
|
if ($vars['block']->module === 'system' && $vars['block']->delta === 'main') {
|
157
|
$vars['classes_array'] = array_diff($vars['classes_array'], array('block'));
|
158
|
$vars['classes_array'][] = 'block-page-content';
|
159
|
}
|
160
|
}
|
161
|
|
162
|
|
163
|
|
164
|
|
165
|
function tao_preprocess_node(&$vars) {
|
166
|
$vars['hook'] = 'node';
|
167
|
|
168
|
$vars['classes_array'][] = 'clearfix';
|
169
|
|
170
|
$vars['attributes_array']['id'] = "node-{$vars['node']->nid}";
|
171
|
|
172
|
$vars['title_attributes_array']['class'][] = $vars['hook'] . '-title';
|
173
|
$vars['title_attributes_array']['class'][] = 'clearfix';
|
174
|
|
175
|
$vars['content_attributes_array']['class'][] = $vars['hook'] . '-content';
|
176
|
$vars['content_attributes_array']['class'][] = 'clearfix';
|
177
|
$vars['content_attributes_array']['class'][] = 'prose';
|
178
|
|
179
|
if (isset($vars['content']['links'])) {
|
180
|
$vars['links'] = $vars['content']['links'];
|
181
|
unset($vars['content']['links']);
|
182
|
}
|
183
|
|
184
|
if (isset($vars['content']['comments'])) {
|
185
|
$vars['post_object']['comments'] = $vars['content']['comments'];
|
186
|
unset($vars['content']['comments']);
|
187
|
}
|
188
|
|
189
|
if ($vars['display_submitted']) {
|
190
|
$vars['submitted'] = t('Submitted by !username on !datetime', array(
|
191
|
'!username' => $vars['name'],
|
192
|
'!datetime' => $vars['date'],
|
193
|
));
|
194
|
}
|
195
|
}
|
196
|
|
197
|
|
198
|
|
199
|
|
200
|
function tao_preprocess_comment(&$vars) {
|
201
|
$vars['hook'] = 'comment';
|
202
|
|
203
|
$vars['classes_array'][] = 'clearfix';
|
204
|
|
205
|
$vars['title_attributes_array']['class'][] = $vars['hook'] . '-title';
|
206
|
$vars['title_attributes_array']['class'][] = 'clearfix';
|
207
|
|
208
|
$vars['content_attributes_array']['class'][] = $vars['hook'] . '-content';
|
209
|
$vars['content_attributes_array']['class'][] = 'clearfix';
|
210
|
|
211
|
$vars['submitted'] = t('Submitted by !username on !datetime', array(
|
212
|
'!username' => $vars['author'],
|
213
|
'!datetime' => $vars['created'],
|
214
|
));
|
215
|
|
216
|
if (isset($vars['content']['links'])) {
|
217
|
$vars['links'] = $vars['content']['links'];
|
218
|
unset($vars['content']['links']);
|
219
|
}
|
220
|
}
|
221
|
|
222
|
|
223
|
|
224
|
|
225
|
function tao_preprocess_fieldset(&$vars) {
|
226
|
$element = $vars['element'];
|
227
|
_form_set_class($element, array('form-wrapper'));
|
228
|
$vars['attributes'] = isset($element['#attributes']) ? $element['#attributes'] : array();
|
229
|
$vars['attributes']['class'][] = 'fieldset';
|
230
|
if (!empty($element['#title'])) {
|
231
|
$vars['attributes']['class'][] = 'titled';
|
232
|
}
|
233
|
if (!empty($element['#id'])) {
|
234
|
if (!empty($element["#attributes"]["id"])) {
|
235
|
$vars['attributes']['id'] = $element["#attributes"]["id"];
|
236
|
} else {
|
237
|
$vars['attributes']['id'] = $element['#id'];
|
238
|
}
|
239
|
}
|
240
|
|
241
|
$description = !empty($element['#description']) ? "<div class='description'>{$element['#description']}</div>" : '';
|
242
|
$children = !empty($element['#children']) ? $element['#children'] : '';
|
243
|
$value = !empty($element['#value']) ? $element['#value'] : '';
|
244
|
$vars['content'] = $description . $children . $value;
|
245
|
$vars['title'] = !empty($element['#title']) ? $element['#title'] : '';
|
246
|
$vars['hook'] = 'fieldset';
|
247
|
}
|
248
|
|
249
|
|
250
|
|
251
|
|
252
|
function tao_preprocess_field(&$vars) {
|
253
|
|
254
|
if ($vars['element']['#field_type'] === 'text_with_summary') {
|
255
|
$vars['classes_array'][] = 'prose';
|
256
|
}
|
257
|
}
|
258
|
|
259
|
|
260
|
|
261
|
|
262
|
|
263
|
|
264
|
|
265
|
|
266
|
|
267
|
function tao_textarea($vars) {
|
268
|
$element = $vars['element'];
|
269
|
$element['#attributes']['name'] = $element['#name'];
|
270
|
$element['#attributes']['id'] = $element['#id'];
|
271
|
$element['#attributes']['cols'] = $element['#cols'];
|
272
|
$element['#attributes']['rows'] = $element['#rows'];
|
273
|
_form_set_class($element, array('form-textarea'));
|
274
|
|
275
|
$wrapper_attributes = array(
|
276
|
'class' => array('form-textarea-wrapper'),
|
277
|
);
|
278
|
|
279
|
|
280
|
if (!empty($element['#resizable'])) {
|
281
|
$wrapper_attributes['class'][] = 'resizable';
|
282
|
}
|
283
|
|
284
|
$output = '<div' . drupal_attributes($wrapper_attributes) . '>';
|
285
|
$output .= '<textarea' . drupal_attributes($element['#attributes']) . '>' . check_plain($element['#value']) . '</textarea>';
|
286
|
$output .= '</div>';
|
287
|
return $output;
|
288
|
}
|
289
|
|
290
|
|
291
|
|
292
|
|
293
|
|
294
|
|
295
|
|
296
|
|
297
|
function tao_pager($vars) {
|
298
|
$tags = $vars['tags'];
|
299
|
$element = $vars['element'];
|
300
|
$parameters = $vars['parameters'];
|
301
|
$quantity = $vars['quantity'];
|
302
|
$pager_list = theme('pager_list', $vars);
|
303
|
|
304
|
$links = array();
|
305
|
$links['pager-first'] = theme('pager_first', array(
|
306
|
'text' => (isset($tags[0]) ? $tags[0] : t('First')),
|
307
|
'element' => $element,
|
308
|
'parameters' => $parameters
|
309
|
));
|
310
|
$links['pager-previous'] = theme('pager_previous', array(
|
311
|
'text' => (isset($tags[1]) ? $tags[1] : t('Prev')),
|
312
|
'element' => $element,
|
313
|
'interval' => 1,
|
314
|
'parameters' => $parameters
|
315
|
));
|
316
|
$links['pager-next'] = theme('pager_next', array(
|
317
|
'text' => (isset($tags[3]) ? $tags[3] : t('Next')),
|
318
|
'element' => $element,
|
319
|
'interval' => 1,
|
320
|
'parameters' => $parameters
|
321
|
));
|
322
|
$links['pager-last'] = theme('pager_last', array(
|
323
|
'text' => (isset($tags[4]) ? $tags[4] : t('Last')),
|
324
|
'element' => $element,
|
325
|
'parameters' => $parameters
|
326
|
));
|
327
|
$links = array_filter($links);
|
328
|
$pager_links = theme('links', array(
|
329
|
'links' => $links,
|
330
|
'attributes' => array('class' => 'links pager pager-links')
|
331
|
));
|
332
|
if ($pager_list) {
|
333
|
return '<div class="pager clearfix">' . $pager_list . ' ' . $pager_links . '</div>';
|
334
|
}
|
335
|
}
|
336
|
|
337
|
|
338
|
|
339
|
|
340
|
function tao_pager_list($vars) {
|
341
|
$tags = $vars['tags'];
|
342
|
$element = $vars['element'];
|
343
|
$parameters = $vars['parameters'];
|
344
|
$quantity = $vars['quantity'];
|
345
|
|
346
|
global $pager_page_array, $pager_total;
|
347
|
if ($pager_total[$element] > 1) {
|
348
|
|
349
|
|
350
|
$pager_middle = ceil($quantity / 2);
|
351
|
|
352
|
$pager_current = $pager_page_array[$element] + 1;
|
353
|
|
354
|
$pager_first = $pager_current - $pager_middle + 1;
|
355
|
|
356
|
$pager_last = $pager_current + $quantity - $pager_middle;
|
357
|
|
358
|
$pager_max = $pager_total[$element];
|
359
|
|
360
|
|
361
|
|
362
|
$i = $pager_first;
|
363
|
if ($pager_last > $pager_max) {
|
364
|
|
365
|
$i = $i + ($pager_max - $pager_last);
|
366
|
$pager_last = $pager_max;
|
367
|
}
|
368
|
if ($i <= 0) {
|
369
|
|
370
|
$pager_last = $pager_last + (1 - $i);
|
371
|
$i = 1;
|
372
|
}
|
373
|
|
374
|
|
375
|
$links = array();
|
376
|
|
377
|
|
378
|
if ($i != $pager_max) {
|
379
|
|
380
|
for ($i; $i <= $pager_last && $i <= $pager_max; $i++) {
|
381
|
if ($i < $pager_current) {
|
382
|
$links["$i pager-item"] = theme('pager_previous', array(
|
383
|
'text' => $i,
|
384
|
'element' => $element,
|
385
|
'interval' => ($pager_current - $i),
|
386
|
'parameters' => $parameters
|
387
|
));
|
388
|
}
|
389
|
if ($i == $pager_current) {
|
390
|
$links["$i pager-current"] = array('title' => $i);
|
391
|
}
|
392
|
if ($i > $pager_current) {
|
393
|
$links["$i pager-item"] = theme('pager_next', array(
|
394
|
'text' => $i,
|
395
|
'element' => $element,
|
396
|
'interval' => ($i - $pager_current),
|
397
|
'parameters' => $parameters
|
398
|
));
|
399
|
}
|
400
|
}
|
401
|
return theme('links', array(
|
402
|
'links' => $links,
|
403
|
'attributes' => array('class' => 'links pager pager-list')
|
404
|
));
|
405
|
}
|
406
|
}
|
407
|
return '';
|
408
|
}
|
409
|
|
410
|
|
411
|
|
412
|
|
413
|
function tao_pager_link($vars) {
|
414
|
$text = $vars['text'];
|
415
|
$page_new = $vars['page_new'];
|
416
|
$element = $vars['element'];
|
417
|
$parameters = $vars['parameters'];
|
418
|
$attributes = $vars['attributes'];
|
419
|
|
420
|
$page = isset($_GET['page']) ? $_GET['page'] : '';
|
421
|
if ($new_page = implode(',', pager_load_array($page_new[$element], $element, explode(',', $page)))) {
|
422
|
$parameters['page'] = $new_page;
|
423
|
}
|
424
|
|
425
|
$query = array();
|
426
|
if (count($parameters)) {
|
427
|
$query = drupal_get_query_parameters($parameters, array());
|
428
|
}
|
429
|
if ($query_pager = pager_get_query_parameters()) {
|
430
|
$query = array_merge($query, $query_pager);
|
431
|
}
|
432
|
|
433
|
|
434
|
if (!isset($attributes['title'])) {
|
435
|
static $titles = NULL;
|
436
|
if (!isset($titles)) {
|
437
|
$titles = array(
|
438
|
t('« first') => t('Go to first page'),
|
439
|
t('‹ previous') => t('Go to previous page'),
|
440
|
t('next ›') => t('Go to next page'),
|
441
|
t('last »') => t('Go to last page'),
|
442
|
);
|
443
|
}
|
444
|
if (isset($titles[$text])) {
|
445
|
$attributes['title'] = $titles[$text];
|
446
|
}
|
447
|
else if (is_numeric($text)) {
|
448
|
$attributes['title'] = t('Go to page @number', array('@number' => $text));
|
449
|
}
|
450
|
}
|
451
|
|
452
|
return array(
|
453
|
'title' => $text,
|
454
|
'href' => $_GET['q'],
|
455
|
'attributes' => $attributes,
|
456
|
'query' => count($query) ? $query : NULL,
|
457
|
);
|
458
|
}
|
459
|
|
460
|
|
461
|
|
462
|
|
463
|
function tao_views_mini_pager($vars) {
|
464
|
$tags = $vars['tags'];
|
465
|
$quantity = $vars['quantity'];
|
466
|
$element = $vars['element'];
|
467
|
$parameters = $vars['parameters'];
|
468
|
|
469
|
global $pager_page_array, $pager_total;
|
470
|
|
471
|
|
472
|
|
473
|
$pager_middle = ceil($quantity / 2);
|
474
|
|
475
|
$pager_current = $pager_page_array[$element] + 1;
|
476
|
|
477
|
$pager_max = $pager_total[$element];
|
478
|
|
479
|
|
480
|
$links = array();
|
481
|
if ($pager_total[$element] > 1) {
|
482
|
$links['pager-previous'] = theme('pager_previous', array(
|
483
|
'text' => (isset($tags[1]) ? $tags[1] : t('Prev')),
|
484
|
'element' => $element,
|
485
|
'interval' => 1,
|
486
|
'parameters' => $parameters
|
487
|
));
|
488
|
$links['pager-current'] = array(
|
489
|
'title' => t('@current of @max', array(
|
490
|
'@current' => $pager_current,
|
491
|
'@max' => $pager_max)
|
492
|
)
|
493
|
);
|
494
|
$links['pager-next'] = theme('pager_next', array(
|
495
|
'text' => (isset($tags[3]) ? $tags[3] : t('Next')),
|
496
|
'element' => $element,
|
497
|
'interval' => 1,
|
498
|
'parameters' => $parameters
|
499
|
));
|
500
|
return theme('links', array('links' => $links, 'attributes' => array('class' => array('links', 'pager', 'views-mini-pager'))));
|
501
|
}
|
502
|
}
|