'Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse', 'changeQuotaPoolResponse' => 'Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse', 'getAccountBalanceResponse' => 'Zend_Service_DeveloperGarden_Response_BaseUserService_GetAccountBalanceResponse', 'AccountBalance' => 'Zend_Service_DeveloperGarden_BaseUserService_AccountBalance', ); /** * array with all QuotaModuleIds * * @var array */ protected $_moduleIds = array( 'SmsProduction' => 'SmsProduction', 'SmsSandbox' => 'SmsSandbox', 'VoiceCallProduction' => 'VoiceButlerProduction', 'VoiceCallSandbox' => 'VoiceButlerSandbox', 'ConferenceCallProduction' => 'CCSProduction', 'ConferenceCallSandbox' => 'CCSSandbox', 'LocalSearchProduction' => 'localsearchProduction', 'LocalSearchSandbox' => 'localsearchSandbox', 'IPLocationProduction' => 'IPLocationProduction', 'IPLocationSandbox' => 'IPLocationSandbox' ); /** * returns an array with all possible ModuleIDs * * @return array */ public function getModuleIds() { return $this->_moduleIds; } /** * checks the moduleId and throws exception if not valid * * @param string $moduleId * @throws Zend_Service_DeveloperGarden_Client_Exception * @return void */ protected function _checkModuleId($moduleId) { if (!in_array($moduleId, $this->_moduleIds)) { #require_once 'Zend/Service/DeveloperGarden/Client/Exception.php'; throw new Zend_Service_DeveloperGarden_Client_Exception('moduleId not valid'); } } /** * returns the correct module string * * @param string $module * @param integer $environment * @return string */ protected function _buildModuleString($module, $environment) { $moduleString = $module; switch($environment) { case self::ENV_PRODUCTION : $moduleString .= 'Production'; break; case self::ENV_SANDBOX : $moduleString .= 'Sandbox'; break; default: #require_once 'Zend/Service/DeveloperGarden/Client/Exception.php'; throw new Zend_Service_DeveloperGarden_Client_Exception( 'Not a valid environment supplied.' ); } if (!in_array($moduleString, $this->_moduleIds)) { #require_once 'Zend/Service/DeveloperGarden/Client/Exception.php'; throw new Zend_Service_DeveloperGarden_Client_Exception( 'Not a valid module name supplied.' ); } return $moduleString; } /** * returns the request object with the specific moduleId * * @param string $moduleId * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse */ protected function _getRequestModule($moduleId) { return new Zend_Service_DeveloperGarden_Request_BaseUserService_GetQuotaInformation( $moduleId ); } /** * returns the request object with the specific moduleId and new quotaMax value * * @param string $moduleId * @param integer $quotaMax * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse */ protected function _getChangeRequestModule($moduleId, $quotaMax) { return new Zend_Service_DeveloperGarden_Request_BaseUserService_ChangeQuotaPool( $moduleId, $quotaMax ); } /** * returns the Quota Information for SMS Service * * @param int $environment * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse */ public function getSmsQuotaInformation($environment = self::ENV_PRODUCTION) { self::checkEnvironment($environment); $moduleId = $this->_buildModuleString('Sms', $environment); $request = $this->_getRequestModule($moduleId); return $this->getQuotaInformation($request); } /** * returns the Quota Information for VoiceCall Service * * @param int $environment * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse */ public function getVoiceCallQuotaInformation($environment = self::ENV_PRODUCTION) { self::checkEnvironment($environment); $moduleId = $this->_buildModuleString('VoiceButler', $environment); $request = $this->_getRequestModule($moduleId); return $this->getQuotaInformation($request); } /** * returns the Quota Information for SMS ConferenceCall * * @param int $environment * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse */ public function getConfernceCallQuotaInformation($environment = self::ENV_PRODUCTION) { self::checkEnvironment($environment); $moduleId = $this->_buildModuleString('CCS', $environment); $request = $this->_getRequestModule($moduleId); return $this->getQuotaInformation($request); } /** * returns the Quota Information for LocaleSearch Service * * @param int $environment * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse */ public function getLocalSearchQuotaInformation($environment = self::ENV_PRODUCTION) { self::checkEnvironment($environment); $moduleId = $this->_buildModuleString('localsearch', $environment); $request = $this->_getRequestModule($moduleId); return $this->getQuotaInformation($request); } /** * returns the Quota Information for IPLocation Service * * @param int $environment * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse */ public function getIPLocationQuotaInformation($environment = self::ENV_PRODUCTION) { self::checkEnvironment($environment); $moduleId = $this->_buildModuleString('IPLocation', $environment); $request = $this->_getRequestModule($moduleId); return $this->getQuotaInformation($request); } /** * returns the quota information * * @param Zend_Service_DeveloperGarden_Request_BaseUserService $request * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetQuotaInformationResponse */ public function getQuotaInformation( Zend_Service_DeveloperGarden_Request_BaseUserService_GetQuotaInformation $request ) { $this->_checkModuleId($request->getModuleId()); return $this->getSoapClient() ->getQuotaInformation($request) ->parse(); } /** * sets new user quota for the sms service * * @param integer $quotaMax * @param integer $environment * @return Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse */ public function changeSmsQuotaPool($quotaMax = 0, $environment = self::ENV_PRODUCTION) { self::checkEnvironment($environment); $moduleId = $this->_buildModuleString('Sms', $environment); $request = $this->_getChangeRequestModule($moduleId, $quotaMax); return $this->changeQuotaPool($request); } /** * sets new user quota for the voice call service * * @param integer $quotaMax * @param integer $environment * @return Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse */ public function changeVoiceCallQuotaPool($quotaMax = 0, $environment = self::ENV_PRODUCTION) { self::checkEnvironment($environment); $moduleId = $this->_buildModuleString('VoiceButler', $environment); $request = $this->_getChangeRequestModule($moduleId, $quotaMax); return $this->changeQuotaPool($request); } /** * sets new user quota for the IPLocation service * * @param integer $quotaMax * @param integer $environment * @return Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse */ public function changeIPLocationQuotaPool($quotaMax = 0, $environment = self::ENV_PRODUCTION) { self::checkEnvironment($environment); $moduleId = $this->_buildModuleString('IPLocation', $environment); $request = $this->_getChangeRequestModule($moduleId, $quotaMax); return $this->changeQuotaPool($request); } /** * sets new user quota for the Conference Call service * * @param integer $quotaMax * @param integer $environment * @return Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse */ public function changeConferenceCallQuotaPool($quotaMax = 0, $environment = self::ENV_PRODUCTION) { self::checkEnvironment($environment); $moduleId = $this->_buildModuleString('CCS', $environment); $request = $this->_getChangeRequestModule($moduleId, $quotaMax); return $this->changeQuotaPool($request); } /** * sets new user quota for the Local Search service * * @param integer $quotaMax * @param integer $environment * @return Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse */ public function changeLocalSearchQuotaPool($quotaMax = 0, $environment = self::ENV_PRODUCTION) { self::checkEnvironment($environment); $moduleId = $this->_buildModuleString('localsearch', $environment); $request = $this->_getChangeRequestModule($moduleId, $quotaMax); return $this->changeQuotaPool($request); } /** * set new quota values for the defined module * * @param Zend_Service_DeveloperGarden_Request_BaseUserService_ChangeQuotaPool $request * @return Zend_Service_DeveloperGarden_Response_BaseUserService_ChangeQuotaPoolResponse */ public function changeQuotaPool( Zend_Service_DeveloperGarden_Request_BaseUserService_ChangeQuotaPool $request ) { $this->_checkModuleId($request->getModuleId()); return $this->getSoapClient() ->changeQuotaPool($request) ->parse(); } /** * get the result for a list of accounts * * @param array $accounts * @return Zend_Service_DeveloperGarden_Response_BaseUserService_GetAccountBalanceResponse */ public function getAccountBalance(array $accounts = array()) { $request = new Zend_Service_DeveloperGarden_Request_BaseUserService_GetAccountBalance( $accounts ); return $this->getSoapClient() ->getAccountBalance($request) ->parse(); } }