function _oa_core_panels_sort in Open Atrium Core 7.2
Helper function to put panes in correct order using the position property For Page Manager/Panels objects
Parameters
$data:
1 call to _oa_core_panels_sort()
- oa_core_default_page_manager_handlers_alter in ./
oa_core.module - Implements hook_default_page_manager_handlers_alter(). $data['node_edit_panel_context']->conf['display']->content
File
- ./
oa_core.module, line 2146
Code
function _oa_core_panels_sort(&$data) {
foreach ($data as $key => $panel) {
$regions = array();
// Group panes by region
if (isset($panel->conf['display'])) {
foreach ($panel->conf['display']->content as $pid => $pane) {
$regions[$pane->panel][$pid] = $pane->position;
}
// Sort each region by position
$data[$key]->conf['display']->panels = array();
foreach ($regions as $region => $panels) {
asort($panels);
$data[$key]->conf['display']->panels[$region] = array_keys($panels);
foreach ($data[$key]->conf['display']->panels[$region] as $index => $pid) {
$data[$key]->conf['display']->content[$pid]->position = $index;
}
}
}
}
}