rendered paste body<?php
/**
* @version $Id: Response.php 382 2011-06-01 12:07:42Z povskr $
* @filesource $HeadURL: svn+ssh://svn.dev.zebra.lt/svn/zebra_library/Zebra/SMS/Response.php $
*/
class Zebra_SMS_Response
{
/**
* Atsakymo parametrai
*
* @var array
*/
private $_params = array(
'error' => 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;
}
}