function GetCompletedApplications() { global $sugar_config; $arrSoapOptions = array('trace' => true, 'exceptions' => true, 'cache_wsdl' => WSDL_CACHE_NONE, 'features' => SOAP_SINGLE_ELEMENT_ARRAYS, 'login' => $sugar_config['labgroup_user'], 'password' => $sugar_config['labgroup_pass']); $arrAuth = array('User' => $sugar_config['labgroup_user'], 'Password' => $sugar_config['labgroup_pass']); $strWSDL = $sugar_config['labgroup_url']; $objSoapClient = new SoapClient($strWSDL, $arrSoapOptions); $objAuthHeader = new AuthHeader($arrAuth); $objHeader = new SoapHeader(XSD_NAMESPACE, 'AuthHeader', $objAuthHeader, false); $objSoapClient->__setSoapHeaders($objHeader); $objResult = $objSoapClient->GetApplications(array("lastApplicationID" => "-1", "maximumApplicationCount" => 3)); if (is_soap_fault($objResult)) { $strError = "SOAP Fault: (faultcode: {$objResult->faultcode} faultstring: {$objResult->faultstring})"; $GLOBALS['log']->fatal($strError); trigger_error("SOAP Fault: (faultcode: {$objResult->faultcode}, faultstring: {$objResult->faultstring})", E_USER_ERROR); } /* //TESTING echo "<pre>"; print_r($objResult); echo "</pre>"; */ require_once "LabGroup/AccountApplications/classes/class.Applications.php"; if (isset($objResult->GetApplicationsResult) && count($objResult->GetApplicationsResult->Applications->Application) > 0) { $objApplicationsList = $objResult->GetApplicationsResult->Applications; foreach ($objApplicationsList->Application as $objApplication) { $objApplication = new Applications($objApplication); try { $objApplication->importApplication(); } catch (Exception $e) { $GLOBALS['log']->fatal($e->getMessage()); } unset($objApplication); } } else { $strError = "No result list of applications was returned by the API or List is empty"; $GLOBALS['log']->error($strError); trigger_error($strError, E_USER_NOTICE); } // For the SugarCRM scheduler to complete the task, this function must return true return true; }