Révision 74f6bef0
Ajouté par Assos Assos il y a plus de 10 ans
drupal7/sites/all/themes/adaptivetheme/at_core/theme-settings.php | ||
---|---|---|
7 | 7 |
* @param $form: Nested array of form elements that comprise the form. |
8 | 8 |
* @param $form_state: A keyed array containing the current state of the form. |
9 | 9 |
*/ |
10 |
|
|
11 |
// Get our plugin system functions. |
|
12 |
require_once(drupal_get_path('theme', 'adaptivetheme') . '/inc/plugins.inc'); |
|
13 |
|
|
14 |
// We need some getters. |
|
15 |
require_once(drupal_get_path('theme', 'adaptivetheme') . '/inc/get.inc'); |
|
16 |
|
|
17 |
/** |
|
18 |
* Implements hook_form_system_theme_settings_alter(). |
|
19 |
*/ |
|
20 | 10 |
function adaptivetheme_form_system_theme_settings_alter(&$form, &$form_state, $form_id = NULL) { |
11 |
// Get our plugin system functions. |
|
12 |
require_once(drupal_get_path('theme', 'adaptivetheme') . '/inc/plugins.inc'); |
|
13 |
|
|
14 |
// We need some getters. |
|
15 |
require_once(drupal_get_path('theme', 'adaptivetheme') . '/inc/get.inc'); |
|
21 | 16 |
$path_to_at_core = drupal_get_path('theme', 'adaptivetheme'); |
22 | 17 |
|
23 | 18 |
// General "alters" use a form id. Settings should not be set here. The only |
... | ... | |
34 | 29 |
// Get the active themes info array |
35 | 30 |
$info_array = at_get_info($theme_name); |
36 | 31 |
|
32 |
// Set up variables for legacy and non-legacy themes |
|
33 |
$legacy_theme = FALSE; |
|
34 |
if (!isset($info_array['release']) || $info_array['release'] === '7.x-2.x') { |
|
35 |
$legacy_theme = TRUE; |
|
36 |
} |
|
37 |
elseif (isset($legacy_info['release']) && $legacy_info['release'] === '7.x-3.x') { |
|
38 |
$legacy_theme = FALSE; |
|
39 |
} |
|
40 |
|
|
37 | 41 |
// Version messages |
42 |
$version_message = ''; |
|
38 | 43 |
if (at_get_setting('atcore_version_test', $theme_name) === 1) { |
39 |
$legacy_info = at_get_info($theme_name); |
|
40 |
// Nag users of legacy sub-themes... |
|
41 |
if (!isset($legacy_info['release']) || $legacy_info['release'] === '7.x-2.x') { |
|
44 |
if ($legacy_theme == TRUE) { |
|
42 | 45 |
$version_message = t('<p>The version of your theme (@theme) is not designed to run on <a href="!link_project" target="_blank">Adaptivetheme 7.x.3.x</a>. It will probably run, but your experience will not be optimal. You have three courses of action to choose from:</p>', array('!link_project' => 'http://drupal.org/project/adaptivetheme', '@theme' => $theme_name)); |
43 | 46 |
$version_message .= t('<ol><li>Downgrade Adaptivetheme to 7.x-2.x</li><li>Upgrade your theme to the 7.x-3.x branch — you will need to check if an upgrade exists.</li><li>Add the line <code>"release = 7.x-3.x"</code> (less quotes) to your sub-themes info file and clear the cache to make this message go away.</li></ol>'); |
44 | 47 |
$version_message .= t('<p>You can turn off this message in the Debug settings, look for "Sub-theme compatibility test".</p>'); |
45 | 48 |
drupal_set_message(filter_xss_admin($version_message), 'warning'); |
46 | 49 |
} |
47 |
// Celebrate the nouveau intelligentsia... |
|
48 |
if (isset($legacy_info['release']) && $legacy_info['release'] === '7.x-3.x') { |
|
50 |
elseif ($legacy_theme == FALSE) { |
|
49 | 51 |
$version_message = t('<p>This theme (@theme) is compatible with <a href="!link_project" target="_blank">Adaptivetheme 7.x.3.x</a>. You are good to go! You can turn off this message in the Debug settings, look for "Sub-theme compatibility test".</p>', array('!link_project' => 'http://drupal.org/project/adaptivetheme', '@theme' => $theme_name)); |
50 | 52 |
drupal_set_message(filter_xss_admin($version_message), 'status'); |
51 | 53 |
} |
... | ... | |
65 | 67 |
$layout_header .= '<p class="logo-link"><a href="http://adaptivethemes.com" title="Adaptivethemes.com - Rocking the hardest since 2006" target="_blank"><img class="at-logo" src="' . $logo . '" /></a></p>'; |
66 | 68 |
$layout_header .= '</div>'; |
67 | 69 |
|
70 |
// INCLUDES |
|
71 |
$includes_array = array( |
|
72 |
'pagelayout', |
|
73 |
'responsivepanels', |
|
74 |
'global', |
|
75 |
'filemanagement', |
|
76 |
'css', |
|
77 |
'polyfills', |
|
78 |
'metatags', |
|
79 |
'debug', |
|
80 |
'extensions', |
|
81 |
); |
|
82 |
foreach ($includes_array as $include_file) { |
|
83 |
require_once($path_to_at_core . '/inc/forms/settings.' . $include_file . '.inc'); |
|
84 |
} |
|
85 |
|
|
68 | 86 |
$form['at-settings'] = array( |
69 | 87 |
'#type' => 'vertical_tabs', |
70 | 88 |
'#description' => t('Layout'), |
... | ... | |
76 | 94 |
), |
77 | 95 |
); |
78 | 96 |
|
79 |
// Include all the default settings forms. |
|
80 |
require_once($path_to_at_core . '/inc/forms/settings.pagelayout.inc'); |
|
81 |
require_once($path_to_at_core . '/inc/forms/settings.responsivepanels.inc'); |
|
82 |
require_once($path_to_at_core . '/inc/forms/settings.global.inc'); |
|
83 |
require_once($path_to_at_core . '/inc/forms/settings.polyfills.inc'); |
|
84 |
require_once($path_to_at_core . '/inc/forms/settings.metatags.inc'); |
|
85 |
require_once($path_to_at_core . '/inc/forms/settings.debug.inc'); |
|
86 |
require_once($path_to_at_core . '/inc/forms/settings.extensions.inc'); |
|
97 |
// Call all the default settings forms. |
|
98 |
at_core_page_layout_form($form, $theme_name); |
|
99 |
at_core_responsive_panels_form($form, $theme_name, $info_array); |
|
100 |
at_core_global_form($form, $theme_name); |
|
101 |
at_core_filemanagement_form($form, $theme_name); |
|
102 |
at_core_css_form($form, $theme_name); |
|
103 |
at_core_polyfills_form($form, $theme_name); |
|
104 |
at_core_metatags_form($form); |
|
105 |
at_core_debug_form($form); |
|
106 |
at_core_extensions_form($form); |
|
87 | 107 |
|
88 | 108 |
// EXTENSIONS |
89 | 109 |
$enable_extensions = isset($form_state['values']['enable_extensions']); |
... | ... | |
109 | 129 |
$enable_font_settings = isset($form_state['values']['enable_font_settings']); |
110 | 130 |
if (($enable_font_settings && $form_state['values']['enable_font_settings'] == 1) || (!$enable_font_settings && $form['at-settings']['extend']['enable']['enable_font_settings']['#default_value'] == 1)) { |
111 | 131 |
require_once($path_to_at_core . '/inc/forms/settings.fonts.inc'); |
132 |
at_core_fonts_form($form); |
|
112 | 133 |
} |
113 | 134 |
|
114 | 135 |
// Heading styles |
115 | 136 |
$enable_heading_settings = isset($form_state['values']['enable_heading_settings']); |
116 | 137 |
if (($enable_heading_settings && $form_state['values']['enable_heading_settings'] == 1) || (!$enable_heading_settings && $form['at-settings']['extend']['enable']['enable_heading_settings']['#default_value'] == 1)) { |
117 | 138 |
require_once($path_to_at_core . '/inc/forms/settings.headings.inc'); |
139 |
at_core_headings_form($form); |
|
118 | 140 |
} |
119 | 141 |
|
120 | 142 |
// Image alignment |
121 | 143 |
$enable_image_settings = isset($form_state['values']['enable_image_settings']); |
122 | 144 |
if (($enable_image_settings && $form_state['values']['enable_image_settings'] == 1) || (!$enable_image_settings && $form['at-settings']['extend']['enable']['enable_image_settings']['#default_value'] == 1)) { |
123 | 145 |
require_once($path_to_at_core . '/inc/forms/settings.images.inc'); |
146 |
at_core_images_form($form); |
|
124 | 147 |
} |
125 | 148 |
|
126 | 149 |
// Exclude CSS |
127 | 150 |
$enable_exclude_css = isset($form_state['values']['enable_exclude_css']); |
128 | 151 |
if (($enable_exclude_css && $form_state['values']['enable_exclude_css'] == 1) || (!$enable_exclude_css && $form['at-settings']['extend']['enable']['enable_exclude_css']['#default_value'] == 1)) { |
129 | 152 |
require_once($path_to_at_core . '/inc/forms/settings.cssexclude.inc'); |
153 |
at_core_css_exclude_form($form, $theme_name); |
|
130 | 154 |
} |
131 | 155 |
|
132 | 156 |
// Touch icons |
133 | 157 |
$enable_apple_touch_icons = isset($form_state['values']['enable_apple_touch_icons']); |
134 | 158 |
if (($enable_apple_touch_icons && $form_state['values']['enable_apple_touch_icons'] == 1) || (!$enable_apple_touch_icons && $form['at-settings']['extend']['enable']['enable_apple_touch_icons']['#default_value'] == 1)) { |
135 | 159 |
require_once($path_to_at_core . '/inc/forms/settings.touchicons.inc'); |
160 |
at_core_touch_icons_form($form, $theme_name); |
|
136 | 161 |
} |
137 | 162 |
|
138 | 163 |
// Custom CSS |
139 | 164 |
$enable_custom_css = isset($form_state['values']['enable_custom_css']); |
140 | 165 |
if (($enable_custom_css && $form_state['values']['enable_custom_css'] == 1) || (!$enable_custom_css && $form['at-settings']['extend']['enable']['enable_custom_css']['#default_value'] == 1)) { |
141 | 166 |
require_once($path_to_at_core . '/inc/forms/settings.customcss.inc'); |
167 |
at_core_custom_css_form($form); |
|
142 | 168 |
} |
143 | 169 |
|
144 |
// Mobile regions and blocks |
|
170 |
// Mobile regions and blocks (context regions)
|
|
145 | 171 |
$enable_context_regions = isset($form_state['values']['enable_context_regions']); |
146 | 172 |
if (($enable_context_regions && $form_state['values']['enable_context_regions'] == 1) || (!$enable_context_regions && $form['at-settings']['extend']['enable']['enable_context_regions']['#default_value'] == 1)) { |
147 | 173 |
require_once($path_to_at_core . '/inc/forms/settings.contextregions.inc'); |
174 |
at_core_context_regions_form($form, $info_array); |
|
175 |
} |
|
176 |
|
|
177 |
// Menu toggle |
|
178 |
$enable_menu_toggle = isset($form_state['values']['enable_menu_toggle']); |
|
179 |
if (($enable_menu_toggle && $form_state['values']['enable_menu_toggle'] == 1) || (!$enable_context_regions && $form['at-settings']['extend']['enable']['enable_menu_toggle']['#default_value'] == 1)) { |
|
180 |
require_once($path_to_at_core . '/inc/forms/settings.menutoggle.inc'); |
|
181 |
at_core_menu_toggle_form($form); |
|
148 | 182 |
} |
149 | 183 |
|
150 | 184 |
// Float Region blocks |
151 | 185 |
$enable_float_region_blocks = isset($form_state['values']['enable_float_region_blocks']); |
152 | 186 |
if (($enable_float_region_blocks && $form_state['values']['enable_float_region_blocks'] == 1) || (!$enable_float_region_blocks && $form['at-settings']['extend']['enable']['enable_float_region_blocks']['#default_value'] == 1)) { |
153 | 187 |
require_once($path_to_at_core . '/inc/forms/settings.floatregionblocks.inc'); |
188 |
at_core_float_region_blocks_form($form, $info_array); |
|
154 | 189 |
} |
155 | 190 |
|
156 | 191 |
// Modify output |
157 | 192 |
$enable_markup_overides = isset($form_state['values']['enable_markup_overides']); |
158 | 193 |
if (($enable_markup_overides && $form_state['values']['enable_markup_overides'] == 1) || (!$enable_markup_overides && $form['at-settings']['extend']['enable']['enable_markup_overides']['#default_value'] == 1)) { |
159 | 194 |
require_once($path_to_at_core . '/inc/forms/settings.modifyoutput.inc'); |
195 |
at_core_modify_output_form($form); |
|
160 | 196 |
} |
161 | 197 |
|
198 |
// Print a message if no extensions are enbabled, this is quite hard to detect |
|
199 |
// so we hack it by counting the elements in the array, if there are 4 or less |
|
200 |
// we assume no extensions are enabled. |
|
201 |
$count = count($form['at']); |
|
202 |
if ($count <= 4) { |
|
203 |
$form['at']['no_extensions_enabled'] = array( |
|
204 |
'#type' => 'markup', |
|
205 |
'#markup' => t('No extensions are currently active. Enable Extensions by clicking the Extensions tab above and checking the required extensions, then save the configuration.'), |
|
206 |
'#prefix' => '<div class="no-extensions-enabled">', |
|
207 |
'#suffix' => '</div>', |
|
208 |
); |
|
209 |
} |
|
162 | 210 |
} |
163 | 211 |
|
164 | 212 |
// Include a hidden form field with the current release information |
... | ... | |
211 | 259 |
} |
212 | 260 |
} |
213 | 261 |
|
262 |
// Include custom form validation and submit functions |
|
263 |
require_once(drupal_get_path('theme', 'adaptivetheme') . '/inc/forms/at_core.validate.inc'); |
|
264 |
require_once(drupal_get_path('theme', 'adaptivetheme') . '/inc/forms/at_core.submit.inc'); |
|
265 |
|
|
214 | 266 |
// Custom validate and submit functions |
215 | 267 |
$form['#validate'][] = 'at_core_settings_validate'; |
216 | 268 |
$form['#submit'][] = 'at_core_settings_submit'; |
217 | 269 |
} |
218 |
|
|
219 |
// Include custom form validation and submit functions |
|
220 |
require_once(drupal_get_path('theme', 'adaptivetheme') . '/inc/forms/at_core.validate.inc'); |
|
221 |
require_once(drupal_get_path('theme', 'adaptivetheme') . '/inc/forms/at_core.submit.inc'); |
Formats disponibles : Unified diff
Weekly update of contrib modules