function views_fetch_plugin_names
3.x views.module | views_fetch_plugin_names($type, $key = NULL, $base = array()) |
2.x admin.inc | views_fetch_plugin_names($type, $key = NULL, $base = array()) |
Fetch a list of all base tables available
Parameters
$type: Either 'display', 'style' or 'row'
$key: For style plugins, this is an optional type to restrict to. May be 'normal', 'summary', 'feed' or others based on the neds of the display.
$base: An array of possible base tables.
Return value
A keyed array of in the form of 'base_table' => 'Description'.
3 calls to views_fetch_plugin_names()
- views_plugin_display::options_form in plugins/
views_plugin_display.inc - Provide the default form for setting options.
- views_ui_add_display_form in includes/
admin.inc - Form to add a display to a view.
- views_ui_change_style_form in includes/
admin.inc - Form to change_style items in the views UI.
File
Code
function views_fetch_plugin_names($type, $key = NULL, $base = array()) {
$data = views_fetch_plugin_data();
$plugins[$type] = array();
foreach ($data[$type] as $id => $plugin) {
// Skip plugins that don't conform to our key.
if ($key && (empty($plugin['type']) || $plugin['type'] != $key)) {
continue;
}
if (empty($plugin['no ui']) && (empty($base) || empty($plugin['base']) || array_intersect($base, $plugin['base']))) {
$plugins[$type][$id] = $plugin['title'];
}
}
if (!empty($plugins[$type])) {
asort($plugins[$type]);
return $plugins[$type];
}
// fall-through
return array();
}