/library/Zend/Service/DeveloperGarden/SendSms.php

https://github.com/leerbag/zf2 · PHP · 135 lines · 48 code · 7 blank · 80 comment · 1 complexity · fc1caceffb4865a70a37e5af0305ea18 MD5 · raw file

  1. <?php
  2. /**
  3. * Zend Framework
  4. *
  5. * LICENSE
  6. *
  7. * This source file is subject to the new BSD license that is bundled
  8. * with this package in the file LICENSE.txt.
  9. * It is also available through the world-wide-web at this URL:
  10. * http://framework.zend.com/license/new-bsd
  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@zend.com so we can send you a copy immediately.
  14. *
  15. * @category Zend
  16. * @package Zend_Service
  17. * @subpackage DeveloperGarden
  18. * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
  19. * @license http://framework.zend.com/license/new-bsd New BSD License
  20. */
  21. /**
  22. * @uses Zend_Service_DeveloperGarden_Client_AbstractClient
  23. * @uses Zend_Service_DeveloperGarden_Client_Exception
  24. * @uses Zend_Service_DeveloperGarden_Request_SendSms_SendFlashSMS
  25. * @uses Zend_Service_DeveloperGarden_Request_SendSms_SendSMS
  26. * @uses Zend_Service_DeveloperGarden_Response_SendSms_SendFlashSMSResponse
  27. * @uses Zend_Service_DeveloperGarden_Response_SendSms_SendSMSResponse
  28. * @category Zend
  29. * @package Zend_Service
  30. * @subpackage DeveloperGarden
  31. * @copyright Copyright (c) 2005-2011 Zend Technologies USA Inc. (http://www.zend.com)
  32. * @author Marco Kaiser
  33. * @license http://framework.zend.com/license/new-bsd New BSD License
  34. */
  35. class Zend_Service_DeveloperGarden_SendSms
  36. extends Zend_Service_DeveloperGarden_Client_AbstractClient
  37. {
  38. /**
  39. * wsdl file
  40. *
  41. * @var string
  42. */
  43. protected $_wsdlFile = 'https://gateway.developer.telekom.com/p3gw-mod-odg-sms/services/SmsService?wsdl';
  44. /**
  45. * wsdl file local
  46. *
  47. * @var string
  48. */
  49. protected $_wsdlFileLocal = 'Wsdl/SmsService.wsdl';
  50. /**
  51. * Response, Request Classmapping
  52. *
  53. * @var array
  54. *
  55. */
  56. protected $_classMap = array(
  57. 'sendSMSResponse' => 'Zend_Service_DeveloperGarden_Response_SendSms_SendSMSResponse',
  58. 'sendFlashSMSResponse' => 'Zend_Service_DeveloperGarden_Response_SendSms_SendFlashSMSResponse'
  59. );
  60. /**
  61. * this function creates the raw sms object that can be used to send an sms
  62. * or as flash sms
  63. *
  64. * @param string $number
  65. * @param string $message
  66. * @param string $originator
  67. * @param integer $account
  68. *
  69. * @return Zend_Service_DeveloperGarden_Request_SendSms_SendSMS
  70. */
  71. public function createSms($number = null, $message = null, $originator = null, $account = null)
  72. {
  73. $request = new Zend_Service_DeveloperGarden_Request_SendSms_SendSMS($this->getEnvironment());
  74. $request->setNumber($number)
  75. ->setMessage($message)
  76. ->setOriginator($originator)
  77. ->setAccount($account);
  78. return $request;
  79. }
  80. /**
  81. * this function creates the raw sms object that can be used to send an sms
  82. * or as flash sms
  83. *
  84. * @param string $number
  85. * @param string $message
  86. * @param string $originator
  87. * @param integer $account
  88. *
  89. * @return Zend_Service_DeveloperGarden_Request_SendSms_SendFlashSMS
  90. */
  91. public function createFlashSms($number = null, $message = null, $originator = null, $account = null)
  92. {
  93. $request = new Zend_Service_DeveloperGarden_Request_SendSms_SendFlashSMS($this->getEnvironment());
  94. $request->setNumber($number)
  95. ->setMessage($message)
  96. ->setOriginator($originator)
  97. ->setAccount($account);
  98. return $request;
  99. }
  100. /**
  101. * sends an sms with the given parameters
  102. *
  103. * @param Zend_Service_DeveloperGarden_Request_SendSms_AbstractSendSms $sms
  104. *
  105. * @return Zend_Service_DeveloperGarden_Response_SendSms_AbstractSendSms
  106. */
  107. public function send(Zend_Service_DeveloperGarden_Request_SendSms_AbstractSendSms $sms)
  108. {
  109. $client = $this->getSoapClient();
  110. $request = array(
  111. 'request' => $sms
  112. );
  113. switch ($sms->getSmsType()) {
  114. // Sms
  115. case 1 :
  116. $response = $client->sendSms($request);
  117. break;
  118. // flashSms
  119. case 2 :
  120. $response = $client->sendFlashSms($request);
  121. break;
  122. default : {
  123. throw new Zend_Service_DeveloperGarden_Client_Exception('Unknown SMS Type');
  124. }
  125. }
  126. return $response->parse();
  127. }
  128. }