function services_client_connection_get_plugins in Services Client 7.2
Same name and namespace in other branches
- 7 services_client_connection/services_client_connection.module \services_client_connection_get_plugins()
Get list of all plugins
Parameters
string $type: Type of required plugins
int $services_version: Optionally can provide version of services module that have to be supported by plugin
bool $select_box: Whether should be returned back as options for select box in format PluginName => Human Readable
1 call to services_client_connection_get_plugins()
- services_client_connection_export_ui_form in services_client_connection/
plugins/ export_ui/ services_client_connection.inc - Basic form configuration
File
- services_client_connection/
services_client_connection.module, line 76 - Services Client Connection allows to configure different connections via UI and store them as exportable configuration. API client should be able to communicate with different versions of remote Services module via unified API client.
Code
function services_client_connection_get_plugins($type, $services_version = NULL, $select_box = FALSE) {
$output = array();
$plugins = ctools_get_plugins('services_client_connection', $type);
// Let other modules alter list of plugins
drupal_alter('services_client_connection_plugins', $plugins, $type);
// Filter plugins by remote services version
if ($services_version) {
foreach ($plugins as $key => $plugin) {
if (isset($plugin['services_version'])) {
if (is_array($plugin['services_version']) && in_array($services_version, $plugin['services_version'])) {
$output[$key] = $plugin;
}
elseif ($plugin['services_version'] == $services_version) {
$output[$key] = $plugin;
}
}
else {
$output[$key] = $plugin;
}
}
}
else {
$output = $plugins;
}
if ($select_box) {
$options = array();
foreach ($output as $key => $plugin) {
$options[$key] = $plugin['name'];
}
$output = $options;
}
return $output;
}