function panels_tabs_panels_pre_render in Panels Tabs 6
Implements hook_panels_pre_render().
File
- ./
panels_tabs.module, line 34 - Definition of the 'tabs' panel style.
Code
function panels_tabs_panels_pre_render($display, $renderer = NULL) {
// Don't run if we are using an old version of panels or legacy mode
if (empty($renderer)) {
return;
}
elseif (panels_tabs_style_version() == 2) {
$tabs_regions = array();
// Check if the tabs style has been applied to entire panel
$global_style = !empty($renderer->display->panel_settings['style']) ? $renderer->display->panel_settings['style'] : '';
// Get the list of regions for the panel
$regions = panels_get_regions($renderer->plugins['layout'], $renderer->display);
// Find out which regions are using the tabs style and add to an array
foreach ($regions as $region_id => $title) {
$settings = !empty($renderer->display->panel_settings[$region_id]) ? $renderer->display->panel_settings[$region_id] : array();
if ($global_style == 'tabs' && (empty($settings['style']) || $settings['style'] == -1)) {
$tabs_regions[] = $region_id;
}
elseif (!empty($settings['style']) && $settings['style'] == 'tabs') {
$tabs_regions[] = $region_id;
}
}
// Go through all the panes and mark those that are in a tab region.
foreach ($renderer->display->content as $pane_id => $pane) {
if (in_array($pane->panel, $tabs_regions)) {
$renderer->display->content[$pane_id]->region_style = 'tabs';
}
}
}
}