1 |
85ad3d82
|
Assos Assos
|
<?php
|
2 |
|
|
|
3 |
|
|
/**
|
4 |
|
|
* @file
|
5 |
|
|
* Generate form elments for the Headings Styles settings.
|
6 |
|
|
*/
|
7 |
74f6bef0
|
Assos Assos
|
function at_core_headings_form(&$form) {
|
8 |
|
|
// Title styles
|
9 |
|
|
$form['at']['titles'] = array(
|
10 |
|
|
'#type' => 'fieldset',
|
11 |
|
|
'#title' => t('Title Styles'),
|
12 |
|
|
'#description' => t('<h3>Title Styles</h3><p>Add extra styles to headings. Text shadows only work for CSS3 capable browsers such as Firefox, Safari, IE9 etc.</p>'),
|
13 |
|
|
'#weight' => -100,
|
14 |
|
|
);
|
15 |
85ad3d82
|
Assos Assos
|
|
16 |
74f6bef0
|
Assos Assos
|
// Array of valid title types
|
17 |
|
|
$headings_valid_types = array(
|
18 |
|
|
'site_name',
|
19 |
|
|
'site_slogan',
|
20 |
|
|
'page_title',
|
21 |
|
|
'node_title',
|
22 |
|
|
'block_title',
|
23 |
|
|
'comment_title',
|
24 |
|
|
);
|
25 |
85ad3d82
|
Assos Assos
|
|
26 |
74f6bef0
|
Assos Assos
|
// Get the fonts list
|
27 |
|
|
$form_elements = font_elements();
|
28 |
85ad3d82
|
Assos Assos
|
|
29 |
74f6bef0
|
Assos Assos
|
foreach ($form_elements as $key => $value) {
|
30 |
85ad3d82
|
Assos Assos
|
|
31 |
74f6bef0
|
Assos Assos
|
$heading = $key;
|
32 |
85ad3d82
|
Assos Assos
|
|
33 |
74f6bef0
|
Assos Assos
|
if (in_array($heading, $headings_valid_types)) {
|
34 |
85ad3d82
|
Assos Assos
|
|
35 |
74f6bef0
|
Assos Assos
|
$element = $value['element']; // e.g. "ptf" (page_title_font), this is used to set array keys and eventually body classes
|
36 |
|
|
$setting = $heading; // use the key for these settings, it doesnt have "font" in it
|
37 |
|
|
$container = $value['setting']; // the theme setting used to retrieve the font values, e.g. "site_name_font"
|
38 |
85ad3d82
|
Assos Assos
|
|
39 |
74f6bef0
|
Assos Assos
|
$setting_container = str_replace('_', '-', $container) . '-style'; // a nicer string for fielset classes
|
40 |
|
|
$title = str_replace('_', ' ', drupal_ucfirst($heading)); // use the key for titles, it doesnt have "font" in it
|
41 |
85ad3d82
|
Assos Assos
|
|
42 |
74f6bef0
|
Assos Assos
|
// Set easy reusable variables
|
43 |
|
|
$setting_case = $setting . '_case';
|
44 |
|
|
$setting_weight = $setting . '_weight';
|
45 |
|
|
$setting_alignment = $setting . '_alignment';
|
46 |
|
|
$setting_shadow = $setting . '_shadow';
|
47 |
85ad3d82
|
Assos Assos
|
|
48 |
74f6bef0
|
Assos Assos
|
// Fieldset wrapper for each title
|
49 |
|
|
$form['at']['titles']['' . $setting_container . ''] = array(
|
50 |
|
|
'#type' => 'fieldset',
|
51 |
|
|
'#title' => t($title),
|
52 |
|
|
'#description' => t("<strong>$title</strong>"),
|
53 |
|
|
'#attributes' => array('class' => array('headings-styles-wrapper')),
|
54 |
|
|
);
|
55 |
85ad3d82
|
Assos Assos
|
|
56 |
74f6bef0
|
Assos Assos
|
// Case
|
57 |
|
|
$form['at']['titles']['' . $setting_container . '']['' . $setting_case . ''] = array(
|
58 |
|
|
'#type' => 'select',
|
59 |
|
|
'#title' => t('Case'),
|
60 |
|
|
'#default_value' => at_get_setting($setting_case),
|
61 |
|
|
'#options' => font_style_options('case', $element),
|
62 |
|
|
);
|
63 |
85ad3d82
|
Assos Assos
|
|
64 |
74f6bef0
|
Assos Assos
|
// Weight
|
65 |
|
|
$form['at']['titles']['' . $setting_container . '']['' . $setting_weight . ''] = array(
|
66 |
|
|
'#type' => 'select',
|
67 |
|
|
'#title' => t('Weight'),
|
68 |
|
|
'#default_value' => at_get_setting($setting_weight),
|
69 |
|
|
'#options' => font_style_options('weight', $element),
|
70 |
|
|
);
|
71 |
85ad3d82
|
Assos Assos
|
|
72 |
74f6bef0
|
Assos Assos
|
// Alignment
|
73 |
|
|
$form['at']['titles']['' . $setting_container . '']['' . $setting_alignment . ''] = array(
|
74 |
|
|
'#type' => 'select',
|
75 |
|
|
'#title' => t('Alignment'),
|
76 |
|
|
'#default_value' => at_get_setting($setting_alignment),
|
77 |
|
|
'#options' => font_style_options('alignment', $element),
|
78 |
|
|
);
|
79 |
85ad3d82
|
Assos Assos
|
|
80 |
74f6bef0
|
Assos Assos
|
// Text shadow
|
81 |
|
|
$form['at']['titles']['' . $setting_container . '']['' . $setting_shadow . ''] = array(
|
82 |
|
|
'#type' => 'select',
|
83 |
|
|
'#title' => t('Shadow'),
|
84 |
|
|
'#default_value' => at_get_setting($setting_shadow),
|
85 |
|
|
'#options' => font_style_options('shadow', $element),
|
86 |
|
|
);
|
87 |
|
|
}
|
88 |
85ad3d82
|
Assos Assos
|
}
|
89 |
|
|
} |