3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $privateKey = '0ac56cf42961b3a00e3a54e8608ac56628331a1a21e28e44288b713442c05d9c'; //your private-key $publicKey = 'd7830ae49fbe30ce79aa033662057fcb8c0d57959411066208444d709c3cd87a'; //your public-key $resource = '/shipment/'; //uri of a resource //$timestamp = time(); //actual datetime in timestamp format $timestamp = strtotime("31-10-2014 11:40:01"); //only needed for the testing-server $baseUrl = 'https://testing.swissconnect.ch/api/'; $basicAuthUser = 'swissconnect'; $basicAuthPass = 't3St-M4th1lda'; $contentData = '<?xml version="1.0"?> <auftrag> <system_fk_id>9999</system_fk_id> <startdatum>2014-09-04 16:57:00</startdatum> <rechnungsbeschreibung_offiziell>4700946399 / S-GE</rechnungsbeschreibung_offiziell> <rechnungsbeschreibung_intern>Hier allenfalls Name des Bestellers</rechnungsbeschreibung_intern> <rechnungssteller>2</rechnungssteller> <bezahl_kurier_id>600</bezahl_kurier_id> <bemerkung>bitte Monteur 30 Min. vorher anrufen / Appelz le monteur 30 Min. avant svp.</bemerkung> <auftrag_absender_kontaktadressen> <item> <firma>Schindler Aufzüge AG, SP-SA</firma> <addresse>Zugerstr. 13</addresse> <postleitzahl>6030</postleitzahl> <ort>Ebikon</ort> <kontakt>J.Varga / 041 445 47 64</kontakt> </item> </auftrag_absender_kontaktadressen> <auftrag_empfaenger_kontaktadressen> <item> <firma>Schindler Aufzüge AG Genève</firma> <addresse>chemin de la mairie 24</addresse> <postleitzahl>1258</postleitzahl> <ort>Perly</ort> <kontakt>N.Marcarini</kontakt> </item> </auftrag_empfaenger_kontaktadressen> <auftrag_dritte_kontaktadressen> <item> <kontaktadresse_id>62300</kontaktadresse_id> <bezahlt_bool>true</bezahlt_bool> </item> </auftrag_dritte_kontaktadressen> <colis> <item> <anzahl>1</anzahl> <gewicht>2.0</gewicht> <laenge>30.0</laenge> <breite>40.0</breite> <hoehe>40.0</hoehe> <beschreibung>Paket</beschreibung> <referenz>1</referenz> </item> <item> <anzahl>1</anzahl> <gewicht>4.0</gewicht> <laenge>10.0</laenge> <breite>20.0</breite> <hoehe>20.0</hoehe> <beschreibung>Paket</beschreibung> </item> <item> <anzahl>1</anzahl> <gewicht>3.3</gewicht> <laenge>215.0</laenge> <breite>11.0</breite> <hoehe>7.0</hoehe> <beschreibung>Paket</beschreibung> </item> </colis> <auftrag_kuriere_dritte> <item> <kurier_id>101</kurier_id> </item> </auftrag_kuriere_dritte> <empfaenger_email>tobias.kapinos@ch.schindler.com</empfaenger_email> </auftrag>'; //For the hash-key we do not need the serverPW $url = $baseUrl . $privateKey . '/' . $timestamp . $resource; //generating hash which has to be placed in the header of the request. Header name: X-hash $resultHash = hash('sha256', $url . $contentData); $sendUrl = $baseUrl . $publicKey . '/' . $timestamp . $resource; $httpHeaders = array( "Content-Type: application/xml", "Accept: application/xml", "X-hash: " . $resultHash, "X-language: de", "Authorization: Basic ". base64_encode($basicAuthUser. ':'. $basicAuthPass), ); $httpheaderstring = implode(",", $httpHeaders); echo '$HTTP_HEADER..: '.$httpheaderstring."\n"; echo '$TIMESTAMP....: '.$timestamp."\n"; echo '$SEND_URL.....: '.$sendUrl."\n"; echo '$RESULTHASH...: '.$resultHash."\n"; echo '$URL_FOR_HASH.: '.$url."\n"; echo '$CONTENTDATA..: '.$contentData."\n";
based on ie3Mk
Output for 5.1.3 - 7.1.0
$HTTP_HEADER..: Content-Type: application/xml,Accept: application/xml,X-hash: 763f046ca8382dc642471080a0276f524987c3f1e4e96b140e70d1270782cd3d,X-language: de,Authorization: Basic c3dpc3Njb25uZWN0OnQzU3QtTTR0aDFsZGE= $TIMESTAMP....: 1414752001 $SEND_URL.....: https://testing.swissconnect.ch/api/d7830ae49fbe30ce79aa033662057fcb8c0d57959411066208444d709c3cd87a/1414752001/shipment/ $RESULTHASH...: 763f046ca8382dc642471080a0276f524987c3f1e4e96b140e70d1270782cd3d $URL_FOR_HASH.: https://testing.swissconnect.ch/api/0ac56cf42961b3a00e3a54e8608ac56628331a1a21e28e44288b713442c05d9c/1414752001/shipment/ $CONTENTDATA..: <?xml version="1.0"?> <auftrag> <system_fk_id>9999</system_fk_id> <startdatum>2014-09-04 16:57:00</startdatum> <rechnungsbeschreibung_offiziell>4700946399 / S-GE</rechnungsbeschreibung_offiziell> <rechnungsbeschreibung_intern>Hier allenfalls Name des Bestellers</rechnungsbeschreibung_intern> <rechnungssteller>2</rechnungssteller> <bezahl_kurier_id>600</bezahl_kurier_id> <bemerkung>bitte Monteur 30 Min. vorher anrufen / Appelz le monteur 30 Min. avant svp.</bemerkung> <auftrag_absender_kontaktadressen> <item> <firma>Schindler Aufzüge AG, SP-SA</firma> <addresse>Zugerstr. 13</addresse> <postleitzahl>6030</postleitzahl> <ort>Ebikon</ort> <kontakt>J.Varga / 041 445 47 64</kontakt> </item> </auftrag_absender_kontaktadressen> <auftrag_empfaenger_kontaktadressen> <item> <firma>Schindler Aufzüge AG Genève</firma> <addresse>chemin de la mairie 24</addresse> <postleitzahl>1258</postleitzahl> <ort>Perly</ort> <kontakt>N.Marcarini</kontakt> </item> </auftrag_empfaenger_kontaktadressen> <auftrag_dritte_kontaktadressen> <item> <kontaktadresse_id>62300</kontaktadresse_id> <bezahlt_bool>true</bezahlt_bool> </item> </auftrag_dritte_kontaktadressen> <colis> <item> <anzahl>1</anzahl> <gewicht>2.0</gewicht> <laenge>30.0</laenge> <breite>40.0</breite> <hoehe>40.0</hoehe> <beschreibung>Paket</beschreibung> <referenz>1</referenz> </item> <item> <anzahl>1</anzahl> <gewicht>4.0</gewicht> <laenge>10.0</laenge> <breite>20.0</breite> <hoehe>20.0</hoehe> <beschreibung>Paket</beschreibung> </item> <item> <anzahl>1</anzahl> <gewicht>3.3</gewicht> <laenge>215.0</laenge> <breite>11.0</breite> <hoehe>7.0</hoehe> <beschreibung>Paket</beschreibung> </item> </colis> <auftrag_kuriere_dritte> <item> <kurier_id>101</kurier_id> </item> </auftrag_kuriere_dritte> <empfaenger_email>tobias.kapinos@ch.schindler.com</empfaenger_email> </auftrag>
Output for 5.1.2
$HTTP_HEADER..: Content-Type: application/xml,Accept: application/xml,X-hash: 6edd0c91363df64b5ef7a4463fcd15d08625b591eef5f8b3be17d30c71323769,X-language: de,Authorization: Basic c3dpc3Njb25uZWN0OnQzU3QtTTR0aDFsZGE= $TIMESTAMP....: $SEND_URL.....: https://testing.swissconnect.ch/api/d7830ae49fbe30ce79aa033662057fcb8c0d57959411066208444d709c3cd87a//shipment/ $RESULTHASH...: 6edd0c91363df64b5ef7a4463fcd15d08625b591eef5f8b3be17d30c71323769 $URL_FOR_HASH.: https://testing.swissconnect.ch/api/0ac56cf42961b3a00e3a54e8608ac56628331a1a21e28e44288b713442c05d9c//shipment/ $CONTENTDATA..: <?xml version="1.0"?> <auftrag> <system_fk_id>9999</system_fk_id> <startdatum>2014-09-04 16:57:00</startdatum> <rechnungsbeschreibung_offiziell>4700946399 / S-GE</rechnungsbeschreibung_offiziell> <rechnungsbeschreibung_intern>Hier allenfalls Name des Bestellers</rechnungsbeschreibung_intern> <rechnungssteller>2</rechnungssteller> <bezahl_kurier_id>600</bezahl_kurier_id> <bemerkung>bitte Monteur 30 Min. vorher anrufen / Appelz le monteur 30 Min. avant svp.</bemerkung> <auftrag_absender_kontaktadressen> <item> <firma>Schindler Aufzüge AG, SP-SA</firma> <addresse>Zugerstr. 13</addresse> <postleitzahl>6030</postleitzahl> <ort>Ebikon</ort> <kontakt>J.Varga / 041 445 47 64</kontakt> </item> </auftrag_absender_kontaktadressen> <auftrag_empfaenger_kontaktadressen> <item> <firma>Schindler Aufzüge AG Genève</firma> <addresse>chemin de la mairie 24</addresse> <postleitzahl>1258</postleitzahl> <ort>Perly</ort> <kontakt>N.Marcarini</kontakt> </item> </auftrag_empfaenger_kontaktadressen> <auftrag_dritte_kontaktadressen> <item> <kontaktadresse_id>62300</kontaktadresse_id> <bezahlt_bool>true</bezahlt_bool> </item> </auftrag_dritte_kontaktadressen> <colis> <item> <anzahl>1</anzahl> <gewicht>2.0</gewicht> <laenge>30.0</laenge> <breite>40.0</breite> <hoehe>40.0</hoehe> <beschreibung>Paket</beschreibung> <referenz>1</referenz> </item> <item> <anzahl>1</anzahl> <gewicht>4.0</gewicht> <laenge>10.0</laenge> <breite>20.0</breite> <hoehe>20.0</hoehe> <beschreibung>Paket</beschreibung> </item> <item> <anzahl>1</anzahl> <gewicht>3.3</gewicht> <laenge>215.0</laenge> <breite>11.0</breite> <hoehe>7.0</hoehe> <beschreibung>Paket</beschreibung> </item> </colis> <auftrag_kuriere_dritte> <item> <kurier_id>101</kurier_id> </item> </auftrag_kuriere_dritte> <empfaenger_email>tobias.kapinos@ch.schindler.com</empfaenger_email> </auftrag>
Output for 5.0.0 - 5.1.1
Fatal error: Call to undefined function hash() in /in/YMtvB on line 88
Process exited with code 255.
Output for 4.4.5 - 4.4.9
Fatal error: Call to undefined function: hash() in /in/YMtvB on line 88
Process exited with code 255.
Output for 4.3.2 - 4.4.4
Fatal error: Call to undefined function: hash() in /in/YMtvB on line 88
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Call to undefined function: hash() in /in/YMtvB on line 88