Esempio n. 1
0
 /**
  * Set options for the storage adapter.
  *
  * @param array $options
  */
 public function __construct(array $options = array())
 {
     $this->_options = $options;
     if (array_key_exists(self::AWS_KEY_OPTION, $options) && array_key_exists(self::AWS_SECRET_KEY_OPTION, $options)) {
         $awsKey = $options[self::AWS_KEY_OPTION];
         $awsSecretKey = $options[self::AWS_SECRET_KEY_OPTION];
     } else {
         throw new Omeka_Storage_Exception('You must specify your AWS access key and secret key to use the ZendS3 storage adapter.');
     }
     if (!array_key_exists(self::BUCKET_OPTION, $options)) {
         throw new Omeka_Storage_Exception('You must specify an S3 bucket name to use the ZendS3 storage adapter.');
     }
     // Use Omeka_Http_Client to retry up to 3 times on timeouts
     $client = new Omeka_Http_Client();
     $client->setMaxRetries(3);
     Zend_Service_Amazon_S3::setHttpClient($client);
     $this->_s3 = new Zend_Service_Amazon_S3($awsKey, $awsSecretKey);
     if (!empty($options[self::ENDPOINT_OPTION])) {
         $this->_s3->setEndpoint($options[self::ENDPOINT_OPTION]);
     }
 }