function panels_load_displays in Panels 7.3
Same name and namespace in other branches
- 8.3 panels.module \panels_load_displays()
- 5.2 panels.module \panels_load_displays()
- 6.3 panels.module \panels_load_displays()
- 6.2 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
array An array of displays, keyed by their display dids.
4 calls to panels_load_displays()
- panels_load_display in ./
panels.module - Load a single display.
- panels_mini_load_all in panels_mini/
panels_mini.module - Load all mini panels.
- panels_update_7302 in ./
panels.install - Adding universally unique identifiers to panels.
- _18n_panels_fetch_all_panel_displays in i18n_panels/
i18n_panels.module - Returns a list of really all available panel displays.
1 string reference to 'panels_load_displays'
- panels_update_7302 in ./
panels.install - Adding universally unique identifiers to panels.
File
- ./
panels.module, line 993 - Core functionality for the Panels engine.
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;
}