static function methodGetAppliance($params, $protocol) { global $DB; if (isset($params['help'])) { return array('help' => 'bool,optional', 'id2name' => 'bool,optional', 'externalid OR id' => 'string'); } if (!Session::getLoginUserID()) { return PluginWebservicesMethodCommon::Error($protocol, WEBSERVICES_ERROR_NOTAUTHENTICATED); } if (!isset($params['externalid']) && !isset($params['id'])) { return PluginWebservicesMethodCommon::Error($protocol, WEBSERVICES_ERROR_MISSINGPARAMETER); } $appli = new self(); $found = false; if (isset($params['id'])) { $found = $appli->getFromDB(intval($params['id'])); } else { if (isset($params['externalid'])) { $found = $appli->getFromDBbyExternalID(addslashes($params["externalid"])); } } if (!$found || !$appli->can($appli->fields["id"], 'r')) { return PluginWebservicesMethodCommon::Error($protocol, WEBSERVICES_ERROR_NOTFOUND); } $resp = $appli->fields; if (isset($params['id2name'])) { $resp['plugin_appliances_appliancetypes_name'] = Html::clean(Dropdown::getDropdownName('glpi_plugin_appliances_appliancetypes', $resp['plugin_appliances_appliancetypes_id'])); $resp['plugin_appliances_environments_name'] = Html::clean(Dropdown::getDropdownName('glpi_plugin_appliances_environments', $resp['plugin_appliances_environments_id'])); $resp['users_name'] = Html::clean(Dropdown::getDropdownName('glpi_users', $resp['users_id'])); $resp['groups_name'] = Html::clean(Dropdown::getDropdownName('glpi_groups', $resp['groups_id'])); } return $resp; }