View source
<?php
function enterprise_ds_layouts_ds_layout_info() {
$layout_path = drupal_get_path('module', 'enterprise_ds_layouts') . '/ds_layouts';
$layouts = array(
'bootstrap_1col_stacked' => array(
'label' => t('One column stacked'),
'module' => 'bootstrap',
'path' => $layout_path . '/bootstrap_1col_stacked',
'regions' => array(
'header' => t('Header'),
'sticky' => t('Sticky Header'),
'middle' => t('Content'),
'footer' => t('Footer'),
),
),
'bootstrap_1col_fluid_stacked' => array(
'label' => t('One column fluid stacked'),
'module' => 'bootstrap',
'path' => $layout_path . '/bootstrap_1col_fluid_stacked',
'regions' => array(
'header' => t('Header'),
'middle' => t('Content'),
'footer' => t('Footer'),
),
'image' => TRUE,
),
'bootstrap_2col_fluid_stacked' => array(
'label' => t('Two column fluid stacked'),
'module' => 'bootstrap',
'path' => $layout_path . '/bootstrap_2col_fluid_stacked',
'regions' => array(
'header' => t('Header'),
'left' => t('Left'),
'right' => t('Right'),
'footer' => t('Footer'),
),
'image' => TRUE,
),
);
return $layouts;
}
function enterprise_ds_layouts_ds_classes_alter(&$classes, $name) {
if ('ds_classes_regions' === $name) {
$classes['no-grid'] = t('No Span');
$classes['span1'] = t('Span 1');
$classes['span2'] = t('Span 2');
$classes['span3'] = t('Span 3');
$classes['span4'] = t('Span 4');
$classes['span5'] = t('Span 5');
$classes['span6'] = t('Span 6');
$classes['span7'] = t('Span 7');
$classes['span8'] = t('Span 8');
$classes['span9'] = t('Span 9');
$classes['span10'] = t('Span 10');
$classes['span11'] = t('Span 11');
$classes['span12'] = t('Span 12');
$classes['visible-phone'] = t('Phone: visible');
$classes['visible-tablet'] = t('Tablet: visible');
$classes['visible-desktop'] = t('Desktop: visible');
$classes['hidden-phone'] = t('Phone: hidden');
$classes['hidden-tablet'] = t('Tablet: hidden');
$classes['hidden-desktop'] = t('Desktop: hidden');
$classes['text-align-left'] = t('Text Align: Left');
$classes['text-align-center'] = t('Text Align: Center');
$classes['text-align-right'] = t('Text Align: Right');
$classes['text-align-justify'] = t('Text Align: Justify');
$classes['margin-top'] = t('Margin: Top');
$classes['margin-right'] = t('Margin: Right');
$classes['margin-bottom'] = t('Margin: Bottom');
$classes['margin-left'] = t('Margin: Left');
$classes['no-margin-top'] = t('No Margin: Top');
$classes['no-margin-right'] = t('No Margin: Right');
$classes['no-margin-bottom'] = t('No Margin: Bottom');
$classes['no-margin-left'] = t('No Margin: Left');
$classes['pull-left'] = t('Float Left');
$classes['pull-right'] = t('Float Right');
$classes['no-wrap'] = t('No Wrap (Overflow)');
}
}
function enterprise_ds_layouts_span_columns(&$classes, $columns = 1) {
if (is_string($classes)) {
$classes = explode(' ', $classes);
}
$no_span = FALSE;
foreach ($classes as $key => $class) {
if (strpos($class, 'span') === 0 || strpos($class, 'no-grid') === 0) {
$classes = implode(' ', $classes);
return;
}
}
switch ($columns) {
case 1:
$classes[] = 'span12';
break;
case 2:
$classes[] = 'span6';
break;
case 3:
$classes[] = 'span4';
break;
case 4:
$classes[] = 'span3';
break;
}
$classes = implode(' ', $classes);
}
function enterprise_ds_layouts_span_column_replace(&$classes, $columns = 1) {
$classes_array = $classes;
if (is_string($classes_array)) {
$classes_array = explode(' ', $classes);
}
$classes_array = array_filter($classes_array);
foreach ($classes_array as $key => &$class) {
if (strpos($class, 'span') === 0) {
unset($classes_array[$key]);
enterprise_ds_layouts_span_columns($class, $columns);
}
}
$classes = implode(' ', $classes_array);
}