Example #1
0
 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;
 }