function _oa_core_panelizer_sort in Open Atrium Core 7.2
Helper function to put panes in correct order using the position property For Panelizer objects
Parameters
$data:
2 calls to _oa_core_panelizer_sort()
- oa_core_default_panels_mini_alter in ./
oa_core.module - Implements hook_default_panels_mini_alter(). $data['node_edit_panel_context']->conf['display']->content
- oa_core_panelizer_defaults_override_alter in ./
oa_core.module - Implements hook_panelizer_defaults_override_alter().
File
- ./
oa_core.module, line 2120
Code
function _oa_core_panelizer_sort(&$data) {
foreach ($data as $key => $panel) {
$regions = array();
// Group panes by region
if (isset($panel->display)) {
foreach ($panel->display->content as $pid => $pane) {
$regions[$pane->panel][$pid] = $pane->position;
}
// Sort each region by position
$data[$key]->display->panels = array();
foreach ($regions as $region => $panels) {
asort($panels);
$data[$key]->display->panels[$region] = array_keys($panels);
foreach ($data[$key]->display->panels[$region] as $index => $pid) {
$data[$key]->display->content[$pid]->position = $index;
}
}
}
}
}