Viewing file: Abstract.php (4.54 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. * * @category Zend * @package Zend_Service * @subpackage Amazon * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License * @version $Id: Abstract.php 18926 2009-11-10 19:16:03Z sidhighwind $ */
require_once 'Zend/Service/Abstract.php';
/** * Abstract Amazon class that handles the credentials for any of the Web Services that * Amazon offers * * @category Zend * @package Zend_Service * @subpackage Amazon * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ abstract class Zend_Service_Amazon_Abstract extends Zend_Service_Abstract { /** * @var string Amazon Access Key */ protected static $_defaultAccessKey = null;
/** * @var string Amazon Secret Key */ protected static $_defaultSecretKey = null;
/** * @var string Amazon Region */ protected static $_defaultRegion = null;
/** * @var string Amazon Secret Key */ protected $_secretKey;
/** * @var string Amazon Access Key */ protected $_accessKey;
/** * @var string Amazon Region */ protected $_region;
/** * An array that contains all the valid Amazon Ec2 Regions. * * @var array */ protected static $_validEc2Regions = array('eu-west-1', 'us-east-1');
/** * Set the keys to use when accessing SQS. * * @param string $access_key Set the default Access Key * @param string $secret_key Set the default Secret Key * @return void */ public static function setKeys($accessKey, $secretKey) { self::$_defaultAccessKey = $accessKey; self::$_defaultSecretKey = $secretKey; }
/** * Set which region you are working in. It will append the * end point automaticly * * @param string $region */ public static function setRegion($region) { if(in_array(strtolower($region), self::$_validEc2Regions, true)) { self::$_defaultRegion = $region; } else { require_once 'Zend/Service/Amazon/Exception.php'; throw new Zend_Service_Amazon_Exception('Invalid Amazon Ec2 Region'); } }
/** * Create Amazon Sqs client. * * @param string $access_key Override the default Access Key * @param string $secret_key Override the default Secret Key * @param string $region Sets the AWS Region * @return void */ public function __construct($accessKey=null, $secretKey=null, $region=null) { if(!$accessKey) { $accessKey = self::$_defaultAccessKey; } if(!$secretKey) { $secretKey = self::$_defaultSecretKey; } if(!$region) { $region = self::$_defaultRegion; } else { // make rue the region is valid if(!empty($region) && !in_array(strtolower($region), self::$_validEc2Regions, true)) { require_once 'Zend/Service/Amazon/Exception.php'; throw new Zend_Service_Amazon_Exception('Invalid Amazon Ec2 Region'); } }
if(!$accessKey || !$secretKey) { require_once 'Zend/Service/Amazon/Exception.php'; throw new Zend_Service_Amazon_Exception("AWS keys were not supplied"); } $this->_accessKey = $accessKey; $this->_secretKey = $secretKey; $this->_region = $region; }
/** * Method to fetch the AWS Region * * @return string */ protected function _getRegion() { return (!empty($this->_region)) ? $this->_region . '.' : ''; }
/** * Method to fetch the Access Key * * @return string */ protected function _getAccessKey() { return $this->_accessKey; }
/** * Method to fetch the Secret AWS Key * * @return string */ protected function _getSecretKey() { return $this->_secretKey; } }
|