function sweaver_object_load in Sweaver 7
Same name and namespace in other branches
- 6 sweaver.module \sweaver_object_load()
Load one object or all objects.
Parameters
$name: The machine name of the object.
$map: Can be an array passed on by the load arguments of the menu or a string. In case of array, object_type will be in $map[6]
$status: Whether to return all objects or only enabled.
Return value
One object or an array of objects.
10 calls to sweaver_object_load()
- sweaver_ctools_object_list in ./
sweaver.module - Helper function to return list for CTools.
- sweaver_drush_css_to_json in drush/
sweaver.drush.inc - Convert the stylesheet back to JSON format.
- sweaver_drush_json_to_css in drush/
sweaver.drush.inc - Convert the properties which are collected by the editor. They are saved in the database as a JSON object but all properties do not have their pre- and/or suffix on them.
- sweaver_object_form_validate in plugins/
sweaver_plugin_editor/ sweaver_plugin_editor.admin.inc - Object new/edit validate callback.
- sweaver_plugin_editor::sweaver_form in plugins/
sweaver_plugin_editor/ sweaver_plugin_editor.inc - Frontend form.
File
- ./
sweaver.module, line 223 - Sweaver functions.
Code
function sweaver_object_load($name = NULL, $map = NULL, $status = 'enabled') {
static $run = FALSE;
static $objects = NULL;
$object_type = is_array($map) ? $map[6] : $map;
if (!$run) {
if ($objects_cache = cache_get('sweaver')) {
$objects = $objects_cache->data;
}
else {
ctools_include('export');
$objects = new stdClass();
foreach (array(
'sweaver_selector',
'sweaver_property',
'sweaver_type',
) as $object_to_load) {
$loaded_objects = ctools_export_load_object($object_to_load);
foreach ($loaded_objects as $key => $object) {
$object_type_key = str_replace('sweaver_', '', $object->table);
if (!isset($object->disabled)) {
$object->disabled = FALSE;
}
if ($object->disabled == FALSE) {
$objects->{$object_type_key}->enabled[$key] = $object;
}
$objects->{$object_type_key}->all[$key] = $object;
}
}
// Let sweaver plugins alter objects.
$sweaver = Sweaver::get_instance();
foreach (array_keys($sweaver
->get_plugins_registry(TRUE)) as $plugin_name) {
$sweaver_plugin = $sweaver
->get_plugin($plugin_name);
$sweaver_plugin
->sweaver_objects_alter($objects);
}
cache_set('sweaver', $objects);
}
$run = TRUE;
}
if ($name) {
return isset($objects->{$object_type}->all[$name]) ? $objects->{$object_type}->all[$name] : FALSE;
}
else {
return isset($objects->{$object_type}->{$status}) ? $objects->{$object_type}->{$status} : array();
}
}