false, // jei FALSE, 'message' bus sunčiama vartotojui į telefoną 'message' => null, // jei 'error' TRUE - klaidos pranešimas, jei 'error' FALSE - pranešimas siuntėjui ); /** * Kriptografijos įrankis * * @var Zebra_Crypt_OpenSSL */ private $_crypt; /** * Konstruktorius * * @param Zebra_Crypt_OpenSSL $crypt */ public function __construct(Zebra_Crypt_OpenSSL $crypt) { $this->_crypt = $crypt; } /** * Pažymima, kad generuojant atsakyma įvyko klaida * * @param boolean $is_error */ public function setError($is_error = true) { $this->_setParam('error', $is_error); } /** * Nustatoma atsakymo žinutė * * @param string $message */ public function setMessage($message) { $this->_setParam('message', $message); } /** * Objektas paverčiamas į 'stringą' * * @return string */ public function toString() { return http_build_query($this->toArray()); } /** * Užkoduojamas atsakymas * * @return string */ public function encrypt() { return $this->_crypt->encrypt($this->toString()); } /** * Obejktas paverčiamas į masyvą * * @return array */ public function toArray() { $params = $this->_getParams(); $params['signature'] = $this->_generateSignature(); return $params; } /** * Sugeneruojami duomenys pasirašymui * * @return string */ private function _generateSignatureString() { parse_str(http_build_query($this->_getParams()), $params); return implode('', $params); } /** * Sugeneruojamas parašas * * @return string */ private function _generateSignature() { $signature_string = $this->_generateSignatureString(); return $this->_crypt->sign($signature_string); } /** * Nustatomas atsakymo parametras * * @param string $name * @param mixed $value */ private function _setParam($name, $value) { $this->_params[$name] = $value; } /** * Gražinami visi atsakymo parametrai * * @return array */ private function _getParams() { return $this->_params; } }