diff -r 5b37998e522e -r 162c1de6545a web/lib/Zend/Service/DeveloperGarden/Request/SendSms/SendSmsAbstract.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/lib/Zend/Service/DeveloperGarden/Request/SendSms/SendSmsAbstract.php Fri Mar 11 15:05:35 2011 +0100 @@ -0,0 +1,281 @@ +number; + } + + /** + * set a new number(s) + * + * @param string $number + * @throws Zend_Service_DeveloperGarden_Request_Exception + * + * @return Zend_Service_DeveloperGarden_Request_SendSms_SendSmsAbstract + */ + public function setNumber($number) + { + $this->number = $number; + if ($this->getNumberCount() > $this->_maxNumbers) { + require_once 'Zend/Service/DeveloperGarden/Request/Exception.php'; + throw new Zend_Service_DeveloperGarden_Request_Exception('The message is too long.'); + } + return $this; + } + + /** + * returns the current message + * + * @return string $message + */ + public function getMessage() + { + return $this->message; + } + + /** + * sets a new message + * + * @param string $message + * @throws Zend_Service_DeveloperGarden_Request_Exception + * + * @return Zend_Service_DeveloperGarden_Request_SendSms_SendSmsAbstract + */ + public function setMessage($message) + { + $this->message = $message; + if ($this->getMessageLength() > $this->_maxLength) { + require_once 'Zend/Service/DeveloperGarden/Request/Exception.php'; + throw new Zend_Service_DeveloperGarden_Request_Exception('The message is too long.'); + } + return $this; + } + + /** + * returns the originator + * + * @return the $originator + */ + public function getOriginator() + { + return $this->originator; + } + + /** + * the originator name + * + * @param string $originator + * @return Zend_Service_DeveloperGarden_Request_SendSms_SendSmsAbstract + */ + public function setOriginator($originator) + { + $this->originator = $originator; + return $this; + } + + /** + * the account + * @return integer $account + */ + public function getAccount() + { + return $this->account; + } + + /** + * sets a new accounts + * + * @param $account the $account to set + * @return Zend_Service_DeveloperGarden_Request_SendSms_SendSmsAbstract + */ + public function setAccount($account) + { + $this->account = $account; + return $this; + } + + /** + * returns the calculated message length + * + * @return integer + */ + public function getMessageLength() + { + $message = $this->getMessage(); + $length = strlen($message); + + foreach ($this->_specialChars as $char) { + $c = (substr_count($message, $char) * 2) - 1; + if ($c > 0) { + $length += $c; + } + } + + return $length; + } + + /** + * returns the count of sms messages that would be send + * + * @return integer + */ + public function getMessageCount() + { + $smsLength = $this->getMessageLength(); + $retValue = 1; + if ($smsLength > 160) { + $retValue = ceil($smsLength / $this->_smsLength); + } + return $retValue; + } + + /** + * returns the count of numbers in this sms + * + * @return integer + */ + public function getNumberCount() + { + $number = $this->getNumber(); + $retValue = 0; + if (!empty($number)) { + $retValue = count(explode(',', $number)); + } + return $retValue; + } + + /** + * returns the sms type + * currently we have + * 1 = Sms + * 2 = FlashSms + * + * @return integer + */ + public function getSmsType() + { + return $this->_smsType; + } +}