Browse Source

Protect the webservices...

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@2382 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 12 years ago
parent
commit
b7238b8b7e
2 changed files with 11 additions and 4 deletions
  1. 7 0
      webservices/webservices.basic.php
  2. 4 4
      webservices/webservices.class.inc.php

+ 7 - 0
webservices/webservices.basic.php

@@ -107,6 +107,13 @@ class BasicServices extends WebServicesBase
 		}
 		}
 		UserRights::Login($sLogin);
 		UserRights::Login($sLogin);
 
 
+		if (!class_exists('Incident'))
+		{
+			$oRes = new WebServiceResult();
+			$oRes->LogError("The class Incident does not exist. Did you install the Incident Management (ITIL) module ?");
+			return $oRes;
+		}
+		
 		$aCallerDesc = self::SoapStructToExternalKeySearch($oCallerDesc);
 		$aCallerDesc = self::SoapStructToExternalKeySearch($oCallerDesc);
 		$aCustomerDesc = self::SoapStructToExternalKeySearch($oCustomerDesc);
 		$aCustomerDesc = self::SoapStructToExternalKeySearch($oCustomerDesc);
 		$aServiceDesc = self::SoapStructToExternalKeySearch($oServiceDesc);
 		$aServiceDesc = self::SoapStructToExternalKeySearch($oServiceDesc);

+ 4 - 4
webservices/webservices.class.inc.php

@@ -284,10 +284,10 @@ abstract class WebServicesBase
 		$oLog->Set('userinfo', UserRights::GetUser());
 		$oLog->Set('userinfo', UserRights::GetUser());
 		$oLog->Set('verb', $sVerb);
 		$oLog->Set('verb', $sVerb);
 		$oLog->Set('result', $oRes->IsOk());
 		$oLog->Set('result', $oRes->IsOk());
-		$this->TrimAndSetValue($oLog, 'log_info', $oRes->GetInfoAsText());
-		$this->TrimAndSetValue($oLog, 'log_warning', $oRes->GetWarningsAsText());
-		$this->TrimAndSetValue($oLog, 'log_error', $oRes->GetErrorsAsText());
-		$this->TrimAndSetValue($oLog, 'data', $oRes->GetReturnedDataAsText());
+		$this->TrimAndSetValue($oLog, 'log_info', (string)$oRes->GetInfoAsText());
+		$this->TrimAndSetValue($oLog, 'log_warning', (string)$oRes->GetWarningsAsText());
+		$this->TrimAndSetValue($oLog, 'log_error', (string)$oRes->GetErrorsAsText());
+		$this->TrimAndSetValue($oLog, 'data', (string)$oRes->GetReturnedDataAsText());
 		$oLog->DBInsertNoReload();
 		$oLog->DBInsertNoReload();
 	}
 	}