soap = new SoapClient($this->wsdl); // load WSDL } catch(Exception $e) { echo 'Unable to load WSDL or incorrect WSDL'; } } /** * Loads system status * * @param $sysVar - which feature are you asking for (default - 1 - AllegroWebAPI) * @return array | exception message */ public function doQuerySysStatus($sysVar = 1) { $params = array( 'sysvar' => $sysVar, 'country-id' => $this->countryID, 'webapi-key' => $this->apiKey ); try { return $this->soap->__soapCall('doQuerySysStatus', $params); } catch(Exception $e) { return $e->getMessage(); } } /** * Loads user ID * * @param $userLogin - which user ID are asking for * @return int | exception message */ public function doGetUserID($userLogin = false) { $params = array( "country-id" => $this->countryID, "user-login" => ($userLogin) ? $userLogin : $this->userLogin, "webapi-key" => $this->apiKey ); try { return $this->soap->__soapCall("doGetUserID", $params); } catch(Exception $e) { return $e->getMessage(); } } /** * Converts string to friendly URL * * /based on seo_string function by starenka/ * * @param $string - URL * @return string */ private function __seo_string($string) { if(function_exists('iconv')) { $string = preg_replace('~[^\\pL0-9_]+~u', '_', $string); $string = trim($string, "-"); $string = iconv("utf-8", "us-ascii//TRANSLIT", $string); $string = strtolower($string); $string = preg_replace('~[^-a-z0-9_]+~', '', $string); } else { $bad = array('Á','Č','Ď','É','Ě','Í','Ň','Ó','Ř','Š','Ť','Ů','Ú','Ý','Ž','á','č','ď','é','ě','í','ň','ó','ř','š','ť','ů','ú','ý','ž'); $good = array ('A','C','D','E','E','I','N','O','R','S','T','U','U','Y','Z', 'a','c','d','e','e','i','n','o','r','s','t','u','u','y','z'); $string = preg_replace('~[^\\pL0-9_]+~u', '_', $string); $string = trim($string, "-"); $string = str_replace($bad,$good,$string); $string = strtolower($string); $string = preg_replace('~[^-a-z0-9_]+~', '', $string); } return $string; } /** * Loads, converts to array and make some improvements do user items * * @param $userID - user ID * @return array | exception message */ private function __doGetUserItems($userID) { $output = array(); $params = array( "user-id" => $userID, "webapi-key" => $this->apiKey, "country-id" => $this->countryID ); try { $items = $this->soap->__soapCall("doGetUserItems", $params); $output["user-item-list"] = array(); $output["user-item-count"] = $items["user-item-count"]; foreach($items["user-item-list"] as $item) { $item = get_object_vars($item); $itHref = $this->__seo_string($item["it-name"]); $item["it-href"] = 'http://www.aukro.cz/item' . $item["it-id"] . '_' . $itHref . '.html'; $output["user-item-list"][] = $item; } return $output; } catch(Exception $e) { return $e->getMessage(); } } /** * Loads user items * * @param $userID - which user items are asking for * @return array | exception message */ public function doGetUserItems($userID) { return $this->__doGetUserItems($userID); } /** * Login user * * @param $userLogin - user login name * @param $userPassword - user password * @param $localVersion - API local version * @param $encrypted - use encrypted connection * @return array | exception message */ public function doLogin($localVersion, $userLogin = false, $userPassword = false, $encrypted = true) { if(function_exists('hash')) { //hash used in PHP since version 5.1.3 $userPassword = hash('sha256', ($userPassword) ? $userPassword : $this->userPassword, true); } else { //in older version we should use mhash $userPassword = mhash(MHASH_SHA256, $userPassword); } //base64 for encoded binary password transfer $userPassword = base64_encode($userPassword); $params = array( "user-login" => ($userLogin) ? $userLogin : $this->userLogin, "user-password" => $userPassword, "country-code" => $this->countryID, "webapi-key" => $this->apiKey, "local-version" => $localVersion ); try { if($encrypted) return $this->soap->__soapCall("doLoginEnc", $params); else return $this->soap->__soapCall("doLogin", $params); } catch(Exception $e) { return $e->getMessage(); } } /** * Loads waiting feedbacks * * @param $sessionHandle - session handle * @param $offset - items offset * @param $packageSize - items package size * @return array | exception message */ public function doGetWaitingFeedbacks($sessionHandle, $offset = 0, $packageSize = 25) { $params = array( "session-handle" => $sessionHandle, "offset" => $offset, "package-size" => $packageSize ); try { return $this->soap->__soapCall("doGetWaitingFeedbacks", $params); } catch(Exception $e) { return $e->getMessage(); } } /** * Loads user account data * * @param $sessionHandle - session handle * @return array | exception message */ public function doGetMyData($sessionHandle) { $params = array( "session-handle" => $sessionHandle ); try { return $this->$this->soap->__soapCall("doGetMyData", $params); } catch(Exception $e) { return $e->getMessage(); } } /** * Loads user billing information * * @param $sessionHandle - session handle * @return array | exception message */ public function doMyBilling($sessionHandle) { $params = array( "session-handle" => $sessionHandle ); try { return $this->soap->__soapCall("doMyBilling", $params); } catch(Exception $e) { return $e->getMessage(); } } /** * Loads user page * * @param $userID - user ID * @return string | exception message */ public function doShowUserPage($userID) { $params = array( "webapi-key" => $this->apiKey, "country-id" => $this->countryID, "user-id" => $userID ); try { return $this->soap->__soapCall("doShowUserPage", $params); } catch(Exception $e) { return $e->getMessage(); } } }