11<?php
2- /*
3- * 2007-2013 PrestaShop
4- *
5- * NOTICE OF LICENSE
6- *
7- * This source file is subject to the Open Software License (OSL 3.0)
8- * that is bundled with this package in the file LICENSE.txt.
9- * It is also available through the world-wide-web at this URL:
10- * http://opensource.org/licenses/osl-3.0.php
11- * If you did not receive a copy of the license and are unable to
12- * obtain it through the world-wide-web, please send an email
13- * to license@prestashop.com so we can send you a copy immediately.
14- *
15- * DISCLAIMER
16- *
17- * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
18- * versions in the future. If you wish to customize PrestaShop for your
19- * needs please refer to http://www.prestashop.com for more information.
20- *
21- * @author PrestaShop SA <contact@prestashop.com>
22- * @copyright 2007-2013 PrestaShop SA
23- * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
24- * International Registered Trademark & Property of PrestaShop SA
25- * PrestaShop Webservice Library
26- * @package PrestaShopWebservice
27- */
282
293namespace Protechstudio \PrestashopWebService ;
4+ use SimpleXMLElement ;
305
316/**
327 * @package PrestaShopWebservice
@@ -50,26 +25,27 @@ class PrestashopWebServiceLibrary
5025 const psCompatibleVersionsMin = '1.4.0.0 ' ;
5126 const psCompatibleVersionsMax = '1.7.99.99 ' ;
5227
53- /**
54- * PrestaShopWebservice constructor. Throw an exception when CURL is not installed/activated
55- * <code>
56- * <?php
57- * require_once('./PrestaShopWebservice.php');
58- * try
59- * {
60- * $ws = new PrestaShopWebservice('http://mystore.com/', 'ZQ88PRJX5VWQHCWE4EE7SQ7HPNX00RAJ', false);
61- * // Now we have a webservice object to play with
62- * }
63- * catch (PrestaShopWebserviceException $ex)
64- * {
65- * echo 'Error : '.$ex->getMessage();
66- * }
67- * ?>
68- * </code>
69- * @param string $url Root URL for the shop
70- * @param string $key Authentification key
71- * @param mixed $debug Debug mode Activated (true) or deactivated (false)
72- */
28+ /**
29+ * PrestaShopWebservice constructor. Throw an exception when CURL is not installed/activated
30+ * <code>
31+ * <?php
32+ * require_once('./PrestaShopWebservice.php');
33+ * try
34+ * {
35+ * $ws = new PrestaShopWebservice('http://mystore.com/', 'ZQ88PRJX5VWQHCWE4EE7SQ7HPNX00RAJ', false);
36+ * // Now we have a webservice object to play with
37+ * }
38+ * catch (PrestaShopWebserviceException $ex)
39+ * {
40+ * echo 'Error : '.$ex->getMessage();
41+ * }
42+ * ?>
43+ * </code>
44+ * @param string $url Root URL for the shop
45+ * @param string $key Authentification key
46+ * @param mixed $debug Debug mode Activated (true) or deactivated (false)
47+ * @throws PrestaShopWebserviceException
48+ */
7349 function __construct ($ url , $ key , $ debug = true ) {
7450 if (!extension_loaded ('curl ' ))
7551 throw new PrestaShopWebserviceException ('Please activate the PHP extension \'curl \' to allow use of PrestaShop webservice library ' );
@@ -79,10 +55,11 @@ function __construct($url, $key, $debug = true) {
7955 $ this ->version = 'unknown ' ;
8056 }
8157
82- /**
83- * Take the status code and throw an exception if the server didn't return 200 or 201 code
84- * @param int $status_code Status code of an HTTP return
85- */
58+ /**
59+ * Take the status code and throw an exception if the server didn't return 200 or 201 code
60+ * @param int $status_code Status code of an HTTP return
61+ * @throws PrestaShopWebserviceException
62+ */
8663 protected function checkStatusCode ($ status_code )
8764 {
8865 $ error_label = 'This call to PrestaShop Web Services failed and returned an HTTP status of %d. That means: %s. ' ;
@@ -98,12 +75,14 @@ protected function checkStatusCode($status_code)
9875 default : throw new PrestaShopWebserviceException ('This call to PrestaShop Web Services returned an unexpected HTTP status of: ' . $ status_code );
9976 }
10077 }
101- /**
102- * Handles a CURL request to PrestaShop Webservice. Can throw exception.
103- * @param string $url Resource name
104- * @param mixed $curl_params CURL parameters (sent to curl_set_opt)
105- * @return array status_code, response
106- */
78+
79+ /**
80+ * Handles a CURL request to PrestaShop Webservice. Can throw exception.
81+ * @param string $url Resource name
82+ * @param mixed $curl_params CURL parameters (sent to curl_set_opt)
83+ * @return array status_code, response
84+ * @throws PrestaShopWebserviceException
85+ */
10786 protected function executeRequest ($ url , $ curl_params = array ())
10887 {
10988 $ defaultParams = array (
@@ -190,11 +169,12 @@ public function getVersion()
190169 return $ this ->version ;
191170 }
192171
193- /**
194- * Load XML from string. Can throw exception
195- * @param string $response String from a CURL response
196- * @return SimpleXMLElement status_code, response
197- */
172+ /**
173+ * Load XML from string. Can throw exception
174+ * @param string $response String from a CURL response
175+ * @return SimpleXMLElement status_code, response
176+ * @throws PrestaShopWebserviceException
177+ */
198178 protected function parseXML ($ response )
199179 {
200180 if ($ response != '' )
@@ -214,15 +194,16 @@ protected function parseXML($response)
214194 throw new PrestaShopWebserviceException ('HTTP response is empty ' );
215195 }
216196
217- /**
218- * Add (POST) a resource
219- * <p>Unique parameter must take : <br><br>
220- * 'resource' => Resource name<br>
221- * 'postXml' => Full XML string to add resource<br><br>
222- * Examples are given in the tutorial</p>
223- * @param array $options
224- * @return SimpleXMLElement status_code, response
225- */
197+ /**
198+ * Add (POST) a resource
199+ * <p>Unique parameter must take : <br><br>
200+ * 'resource' => Resource name<br>
201+ * 'postXml' => Full XML string to add resource<br><br>
202+ * Examples are given in the tutorial</p>
203+ * @param array $options
204+ * @return SimpleXMLElement status_code, response
205+ * @throws PrestaShopWebserviceException
206+ */
226207 public function add ($ options )
227208 {
228209 $ xml = '' ;
@@ -244,34 +225,35 @@ public function add($options)
244225 return self ::parseXML ($ request ['response ' ]);
245226 }
246227
247- /**
248- * Retrieve (GET) a resource
249- * <p>Unique parameter must take : <br><br>
250- * 'url' => Full URL for a GET request of Webservice (ex: http://mystore.com/api/customers/1/)<br>
251- * OR<br>
252- * 'resource' => Resource name,<br>
253- * 'id' => ID of a resource you want to get<br><br>
254- * </p>
255- * <code>
256- * <?php
257- * require_once('./PrestaShopWebservice.php');
258- * try
259- * {
260- * $ws = new PrestaShopWebservice('http://mystore.com/', 'ZQ88PRJX5VWQHCWE4EE7SQ7HPNX00RAJ', false);
261- * $xml = $ws->get(array('resource' => 'orders', 'id' => 1));
262- * // Here in $xml, a SimpleXMLElement object you can parse
263- * foreach ($xml->children()->children() as $attName => $attValue)
264- * echo $attName.' = '.$attValue.'<br />';
265- * }
266- * catch (PrestaShopWebserviceException $ex)
267- * {
268- * echo 'Error : '.$ex->getMessage();
269- * }
270- * ?>
271- * </code>
272- * @param array $options Array representing resource to get.
273- * @return SimpleXMLElement status_code, response
274- */
228+ /**
229+ * Retrieve (GET) a resource
230+ * <p>Unique parameter must take : <br><br>
231+ * 'url' => Full URL for a GET request of Webservice (ex: http://mystore.com/api/customers/1/)<br>
232+ * OR<br>
233+ * 'resource' => Resource name,<br>
234+ * 'id' => ID of a resource you want to get<br><br>
235+ * </p>
236+ * <code>
237+ * <?php
238+ * require_once('./PrestaShopWebservice.php');
239+ * try
240+ * {
241+ * $ws = new PrestaShopWebservice('http://mystore.com/', 'ZQ88PRJX5VWQHCWE4EE7SQ7HPNX00RAJ', false);
242+ * $xml = $ws->get(array('resource' => 'orders', 'id' => 1));
243+ * // Here in $xml, a SimpleXMLElement object you can parse
244+ * foreach ($xml->children()->children() as $attName => $attValue)
245+ * echo $attName.' = '.$attValue.'<br />';
246+ * }
247+ * catch (PrestaShopWebserviceException $ex)
248+ * {
249+ * echo 'Error : '.$ex->getMessage();
250+ * }
251+ * ?>
252+ * </code>
253+ * @param array $options Array representing resource to get.
254+ * @return SimpleXMLElement status_code, response
255+ * @throws PrestaShopWebserviceException
256+ */
275257 public function get ($ options )
276258 {
277259 if (isset ($ options ['url ' ]))
@@ -300,12 +282,13 @@ public function get($options)
300282 return self ::parseXML ($ request ['response ' ]);
301283 }
302284
303- /**
304- * Head method (HEAD) a resource
305- *
306- * @param array $options Array representing resource for head request.
307- * @return SimpleXMLElement status_code, response
308- */
285+ /**
286+ * Head method (HEAD) a resource
287+ *
288+ * @param array $options Array representing resource for head request.
289+ * @return SimpleXMLElement status_code, response
290+ * @throws PrestaShopWebserviceException
291+ */
309292 public function head ($ options )
310293 {
311294 if (isset ($ options ['url ' ]))
@@ -331,15 +314,18 @@ public function head($options)
331314 self ::checkStatusCode ($ request ['status_code ' ]);// check the response validity
332315 return $ request ['header ' ];
333316 }
334- /**
335- * Edit (PUT) a resource
336- * <p>Unique parameter must take : <br><br>
337- * 'resource' => Resource name ,<br>
338- * 'id' => ID of a resource you want to edit,<br>
339- * 'putXml' => Modified XML string of a resource<br><br>
340- * Examples are given in the tutorial</p>
341- * @param array $options Array representing resource to edit.
342- */
317+
318+ /**
319+ * Edit (PUT) a resource
320+ * <p>Unique parameter must take : <br><br>
321+ * 'resource' => Resource name ,<br>
322+ * 'id' => ID of a resource you want to edit,<br>
323+ * 'putXml' => Modified XML string of a resource<br><br>
324+ * Examples are given in the tutorial</p>
325+ * @param array $options Array representing resource to edit.
326+ * @return SimpleXMLElement
327+ * @throws PrestaShopWebserviceException
328+ */
343329 public function edit ($ options )
344330 {
345331 $ xml = '' ;
@@ -362,29 +348,30 @@ public function edit($options)
362348 return self ::parseXML ($ request ['response ' ]);
363349 }
364350
365- /**
366- * Delete (DELETE) a resource.
367- * Unique parameter must take : <br><br>
368- * 'resource' => Resource name<br>
369- * 'id' => ID or array which contains IDs of a resource(s) you want to delete<br><br>
370- * <code>
371- * <?php
372- * require_once('./PrestaShopWebservice.php');
373- * try
374- * {
375- * $ws = new PrestaShopWebservice('http://mystore.com/', 'ZQ88PRJX5VWQHCWE4EE7SQ7HPNX00RAJ', false);
376- * $xml = $ws->delete(array('resource' => 'orders', 'id' => 1));
377- * // Following code will not be executed if an exception is thrown.
378- * echo 'Successfully deleted.';
379- * }
380- * catch (PrestaShopWebserviceException $ex)
381- * {
382- * echo 'Error : '.$ex->getMessage();
383- * }
384- * ?>
385- * </code>
386- * @param array $options Array representing resource to delete.
387- */
351+ /**
352+ * Delete (DELETE) a resource.
353+ * Unique parameter must take : <br><br>
354+ * 'resource' => Resource name<br>
355+ * 'id' => ID or array which contains IDs of a resource(s) you want to delete<br><br>
356+ * <code>
357+ * <?php
358+ * require_once('./PrestaShopWebservice.php');
359+ * try
360+ * {
361+ * $ws = new PrestaShopWebservice('http://mystore.com/', 'ZQ88PRJX5VWQHCWE4EE7SQ7HPNX00RAJ', false);
362+ * $xml = $ws->delete(array('resource' => 'orders', 'id' => 1));
363+ * // Following code will not be executed if an exception is thrown.
364+ * echo 'Successfully deleted.';
365+ * }
366+ * catch (PrestaShopWebserviceException $ex)
367+ * {
368+ * echo 'Error : '.$ex->getMessage();
369+ * }
370+ * ?>
371+ * </code>
372+ * @param array $options Array representing resource to delete.
373+ * @return bool
374+ */
388375 public function delete ($ options )
389376 {
390377 if (isset ($ options ['url ' ]))
@@ -404,9 +391,4 @@ public function delete($options)
404391 }
405392
406393
407- }
408-
409- /**
410- * @package PrestaShopWebservice
411- */
412- class PrestaShopWebserviceException extends \Exception { }
394+ }
0 commit comments