1 |
85ad3d82
|
Assos Assos
|
<?php
|
2 |
|
|
|
3 |
|
|
/**
|
4 |
|
|
* @file
|
5 |
|
|
* Generate form elments for the Float Region Blocks settings.
|
6 |
|
|
*/
|
7 |
74f6bef0
|
Assos Assos
|
function at_core_float_region_blocks_form(&$form, $info_array) {
|
8 |
|
|
// Regions we don't want to include
|
9 |
|
|
$unset_regions = array(
|
10 |
|
|
'dashboard_main',
|
11 |
|
|
'dashboard_sidebar',
|
12 |
|
|
'dashboard_inactive',
|
13 |
|
|
'page_bottom',
|
14 |
|
|
'page_top',
|
15 |
|
|
'content', // exclude the main content region
|
16 |
|
|
);
|
17 |
85ad3d82
|
Assos Assos
|
|
18 |
74f6bef0
|
Assos Assos
|
// Prepare regions
|
19 |
|
|
foreach ($info_array['regions'] as $key => $value) {
|
20 |
|
|
if (in_array($key, $unset_regions)) {
|
21 |
|
|
unset($key);
|
22 |
|
|
}
|
23 |
|
|
if (isset($key)) {
|
24 |
|
|
$regions[$key] = $value;
|
25 |
|
|
}
|
26 |
85ad3d82
|
Assos Assos
|
}
|
27 |
|
|
|
28 |
74f6bef0
|
Assos Assos
|
// Setup the options for the select list
|
29 |
|
|
$fbr_options = array(
|
30 |
|
|
'<none>' => t('none'),
|
31 |
|
|
'2' => '2',
|
32 |
|
|
'3' => '3',
|
33 |
|
|
'4' => '4',
|
34 |
|
|
'5' => '5',
|
35 |
|
|
'6' => '6',
|
36 |
|
|
'7' => '7',
|
37 |
|
|
'8' => '8',
|
38 |
|
|
'9' => '9',
|
39 |
|
|
'10' => '10',
|
40 |
|
|
'11' => '11',
|
41 |
|
|
'12' => '12',
|
42 |
|
|
);
|
43 |
85ad3d82
|
Assos Assos
|
|
44 |
74f6bef0
|
Assos Assos
|
$direction_options = array(
|
45 |
|
|
'left' => t('Left'),
|
46 |
|
|
'right' => t('Right'),
|
47 |
|
|
);
|
48 |
85ad3d82
|
Assos Assos
|
|
49 |
74f6bef0
|
Assos Assos
|
// Don't include this feature for now, its too late in the cycle
|
50 |
|
|
// $breakpoints = array(
|
51 |
|
|
// '<none>' => t('none - I can handle this in CSS'),
|
52 |
|
|
// 'smalltouch_portrait' => t('Smalltouch Portrait'),
|
53 |
|
|
// 'smalltouch_landscape' => t('Smalltouch Landscape'),
|
54 |
|
|
// 'tablet_portrait' => t('Tablet Portrait'),
|
55 |
|
|
// 'tablet_landscape' => t('Tablet Landscape'),
|
56 |
|
|
// );
|
57 |
85ad3d82
|
Assos Assos
|
|
58 |
74f6bef0
|
Assos Assos
|
// Top level wrapper fieldset
|
59 |
|
|
$form['at']['float-region-blocks'] = array(
|
60 |
|
|
'#type' => 'fieldset',
|
61 |
|
|
'#title' => t('Float Region Blocks'),
|
62 |
|
|
'#description' => t('<h3>Float Region Blocks</h3><p>Select number of columns<sup>(i)</sup> for each region. For example if you want four blocks to line horizontally up choose 4, then select the float direction. Clearing<sup>(ii)</sup> (if you are trying to create a grid) and mobile displays<sup>(iii)</sup> must be accounted for in your theme.<p><ol><li>This will not create real columns, it merely sets a width on each block in the region. For example if you select 4, each block will be 25% wide, if you then add a fifth block to that region it will wrap below the other four, and so on.</li><li>There is no automagical clearing for uneven height blocks, so be weary of trying to create a grid with this. If you need real columns use a <a href="!gpanels_link" target="_blank">Gpanel</a> or the <a href="!panels_link" target="_blank">Panels module</a>.</li><li>See <code>responsive.custom.css</code> in your theme for an example of how to control blocks in mobile displays.</li></ol>', array('!gpanels_link' => 'http://adaptivethemes.com/documentation/using-gpanels', '!panels_link' => 'http://drupal.org/project/panels')),
|
63 |
|
|
'#weight' => 35,
|
64 |
|
|
);
|
65 |
85ad3d82
|
Assos Assos
|
|
66 |
74f6bef0
|
Assos Assos
|
// Build form elements for each region
|
67 |
|
|
foreach ($regions as $region_name => $region_label) {
|
68 |
85ad3d82
|
Assos Assos
|
|
69 |
74f6bef0
|
Assos Assos
|
$title = check_plain($region_label);
|
70 |
|
|
$region_name = check_plain($region_name);
|
71 |
85ad3d82
|
Assos Assos
|
|
72 |
74f6bef0
|
Assos Assos
|
$form['at']['float-region-blocks']['region-options-' . $region_name] = array(
|
73 |
|
|
'#type' => 'fieldset',
|
74 |
|
|
'#title' => t("Options for the $title region"),
|
75 |
|
|
);
|
76 |
|
|
$form['at']['float-region-blocks']['region-options-' . $region_name]['float_block_' . $region_name] = array(
|
77 |
|
|
'#type' => 'select',
|
78 |
|
|
'#title' => t($title),
|
79 |
|
|
'#default_value' => at_get_setting('float_block_' . $region_name),
|
80 |
|
|
'#options' => $fbr_options,
|
81 |
|
|
);
|
82 |
|
|
$form['at']['float-region-blocks']['region-options-' . $region_name]['float_block_direction_' . $region_name] = array(
|
83 |
|
|
'#type' => 'radios',
|
84 |
|
|
'#title' => t('Float'),
|
85 |
|
|
'#default_value' => at_get_setting('float_block_direction_' . $region_name) ? at_get_setting('float_block_direction_' . $region_name) : 'left',
|
86 |
|
|
'#options' => $direction_options,
|
87 |
|
|
'#states' => array('invisible' => array('select[name=float_block_' . $region_name . ']' => array('value' => '<none>'))),
|
88 |
|
|
);
|
89 |
85ad3d82
|
Assos Assos
|
|
90 |
74f6bef0
|
Assos Assos
|
// Don't include this feature for now, its too late in the cycle, better to
|
91 |
|
|
// work on a much improved way of doing this for a point release later on.
|
92 |
|
|
//$form['at']['float-region-blocks']['region-options-' . $region_name]['float_block_breakpoint_' . $region_name] = array(
|
93 |
|
|
// '#type' => 'select',
|
94 |
|
|
// '#title' => t('Breakpoint'),
|
95 |
|
|
// '#default_value' => at_get_setting('float_block_breakpoint_' . $region_name),
|
96 |
|
|
// '#options' => $breakpoints,
|
97 |
|
|
//);
|
98 |
|
|
}
|
99 |
85ad3d82
|
Assos Assos
|
} |