function panels_load_displays in Panels 8.3
Same name and namespace in other branches
- 5.2 panels.module \panels_load_displays()
- 6.3 panels.module \panels_load_displays()
- 6.2 panels.module \panels_load_displays()
- 7.3 panels.module \panels_load_displays()
Load and fill the requested $display object(s).
Helper function primarily for for panels_load_display().
@todo schema API can drasticly simplify this code.
Parameters
array $dids: An indexed array of dids to be loaded from the database.
Return value
$displays An array of displays, keyed by their display dids.
Related topics
1 call to panels_load_displays()
- panels_load_display in ./
panels.module - Load a single display.
File
- ./
panels.module, line 554 - panels.module
Code
function panels_load_displays($dids) {
$displays = array();
if (empty($dids) || !is_array($dids)) {
return $displays;
}
$result = db_query("SELECT * FROM {panels_display} WHERE did IN (:dids)", array(
':dids' => $dids,
));
ctools_include('export');
foreach ($result as $obj) {
$displays[$obj->did] = ctools_export_unpack_object('panels_display', $obj);
// Modify the hide_title field to go from a bool to an int if necessary.
}
$result = db_query("SELECT * FROM {panels_pane} WHERE did IN (:dids) ORDER BY did, panel, position", array(
':dids' => $dids,
));
foreach ($result as $obj) {
$pane = ctools_export_unpack_object('panels_pane', $obj);
$displays[$pane->did]->panels[$pane->panel][] = $pane->pid;
$displays[$pane->did]->content[$pane->pid] = $pane;
}
return $displays;
}