Esempio n. 1
0
 private static function send_xml()
 {
     // Cover old and new format
     $api_server = Config::Get('VACENTRAL_API_SERVER');
     if ($api_server == '') {
         $api_server = Config::Get('PHPVMS_API_SERVER');
     }
     ob_start();
     $web_service = new CodonWebService();
     $options = array(CURLOPT_USERAGENT => 'phpVMS (' . PHPVMS_VERSION . ')');
     $web_service->setOptions($options);
     self::$xml_response = $web_service->post($api_server . '/update', self::$xml->asXML());
     if (!self::$xml_response) {
         if (Config::Get('VACENTRAL_DEBUG_MODE') == true) {
             Debug::log(self::$method . ' - ' . date('h:i:s A - m/d/Y'), 'vacentral');
             Debug::log(print_r($web_service->errors, true), 'vacentral');
         }
         self::$last_error = 'No response from API server';
         return false;
     }
     self::$response = @simplexml_load_string(self::$xml_response);
     ob_end_clean();
     if (!is_object(self::$response)) {
         if (Config::Get('VACENTRAL_DEBUG_MODE') == true) {
             Debug::log(self::$method . ' - ' . date('h:i:s A - m/d/Y'), 'vacentral');
             Debug::log('   - no response from server', 'vacentral');
         }
         self::$last_error = 'No response from API server';
         return false;
     }
     if (Config::Get('VACENTRAL_DEBUG_MODE') == true) {
         Debug::log(self::$method . ' - ' . date('h:i:s A - m/d/Y'), 'vacentral');
         Debug::log('   - ' . (string) self::$response->detail, 'vacentral');
         Debug::log('   - ' . (string) self::$response->dbg, 'vacentral');
         # Extra detail
         if (Config::Get('VACENTRAL_DEBUG_DETAIL') == '2') {
             Debug::log('SENT XML: ', 'vacentral');
             Debug::log(self::$xml->asXML(), 'vacentral');
             Debug::log('RECIEVED XML: ', 'vacentral');
             Debug::log(self::$response->asXML(), 'vacentral');
             Debug::log('', 'vacentral');
         }
     }
     if ((int) self::$response->responsecode != 200) {
         if (Config::Get('VACENTRAL_DEBUG_MODE') == true) {
             Debug::log(self::$method . ' - ', 'vacentral');
             Debug::log('   - ' . (string) self::$response->message->detail, 'vacentral');
         }
         self::$last_error = self::$response->message->detail;
         return false;
     }
     return true;
 }