Protected Shops Minimodul

Hallo,
ein Freund benötigte in seinem Shop die Anbindung an protectedshops.de, die leider als Modul für Oxid noch nicht angeboten wird. Daher hab ich mir mal die API angesehen und das Sample für die Ausgabe erweitert.

Der Server liefert einen XML Stream auf Angabe der Anfrage zurück. CURL, PHP5 ist erforderlich!

Vielleicht gibt es noch bessere Lösungen als TPL Datei die included wird.

Ich habe es derzeit so gelöst dass über den CMS Bereich als Quelltext der jeweilige Eintrag hinzugefüg wird. Allerdings ist dabei zu beachten, dass der Editor in der PE Version die " mit & quot; ersetzt also bei einer weiteren Bearbeitung es zu fehler kommen kann durch die Formatierung!

In den angebotenen Script ist keine MD5 Prüfung enthalten.


[{php}]
$url="https://www.protectedshops.de/api/";
$user="xxxx";
$password="xxx";
$post['Request']="GetDocument";
$post['ShopId']="";
$post['Document'] = "Batteriegesetz";
$post['Format'] = "Html";
$post['Version'] = 1.4;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_USERPWD, $user.":".$password);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
if(($result=curl_exec($ch)) === FALSE)
echo 'Curl-Fehler: ' . curl_error($ch);
else
{
  $sxml = simplexml_load_string($result);
  echo utf8_decode($sxml->Document);
  echo '<br>Letzte Änderung: '.date("d.m.Y H:s:i",strtotime($sxml->DocumentDate));
}
[{/php}]

Nach Rückfrage mit protectedshops.de gibt es ein Modul in Version 1.0 für für OXID eSales (Version CE_4.2.0_23610).

Dieses ist allerdings für die PE Version nur mit einer kleinen Änderung nutzbar.

In der AGBConnect.php die Zeile 198 darunter:


<input class=" " name="stoken" value="'.$_GET['stoken'].'" type="hidden">

einfügen. Zeichenkonvertierung ist ein weiteres Problem.