web/lib/Zend/Service/Rackspace/Files/Object.php
changeset 1230 68c69c656a2c
parent 808 6b6c2214f778
--- a/web/lib/Zend/Service/Rackspace/Files/Object.php	Thu May 07 15:10:09 2015 +0200
+++ b/web/lib/Zend/Service/Rackspace/Files/Object.php	Thu May 07 15:16:02 2015 +0200
@@ -15,7 +15,7 @@
  * @category   Zend
  * @package    Zend_Service_Rackspace
  * @subpackage Files
- * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
+ * @copyright  Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
  * @license    http://framework.zend.com/license/new-bsd     New BSD License
  */
 
@@ -29,51 +29,59 @@
      * @var Zend_Service_Rackspace_Files
      */
     protected $service;
+
     /**
      * Name of the object
      *
      * @var string
      */
     protected $name;
+
     /**
      * MD5 value of the object's content
      *
      * @var string
      */
     protected $hash;
+
     /**
      * Size in bytes of the object's content
      *
      * @var integer
      */
     protected $size;
+
     /**
      * Content type of the object's content
      *
      * @var string
      */
     protected $contentType;
+
     /**
      * Date of the last modified of the object
      *
      * @var string
      */
     protected $lastModified;
+
     /**
      * Object content
      *
      * @var string
      */
     protected $content;
+
     /**
      * Name of the container where the object is stored
      *
      * @var string
      */
     protected $container;
+
     /**
      * Constructor
-     * 
+     *
      * You must pass the Zend_Service_Rackspace_Files object of the caller and an associative
      * array with the keys "name", "container", "hash", "bytes", "content_type",
      * "last_modified", "file" where:
@@ -84,51 +92,73 @@
      * content_type= content type of the object's content
      * last_modified= date of the last modified of the object
      * content= content of the object
-     * 
+     *
      * @param Zend_Service_Rackspace_Files $service
-     * @param array $data 
+     * @param array                        $data
+     * @throws Zend_Service_Rackspace_Files_Exception
      */
-    public function __construct($service,$data)
+    public function __construct($service, $data)
     {
         if (!($service instanceof Zend_Service_Rackspace_Files) || !is_array($data)) {
             require_once 'Zend/Service/Rackspace/Files/Exception.php';
-            throw new Zend_Service_Rackspace_Files_Exception("You must pass a RackspaceFiles and an array");
-        }
-        if (!array_key_exists('name', $data)) {
-            require_once 'Zend/Service/Rackspace/Files/Exception.php';
-            throw new Zend_Service_Rackspace_Files_Exception("You must pass the name of the object in the array (name)");
+            throw new Zend_Service_Rackspace_Files_Exception(
+                'You must pass a RackspaceFiles and an array'
+            );
         }
         if (!array_key_exists('container', $data)) {
             require_once 'Zend/Service/Rackspace/Files/Exception.php';
-            throw new Zend_Service_Rackspace_Files_Exception("You must pass the container of the object in the array (container)");
-        }
-        if (!array_key_exists('hash', $data)) {
-            require_once 'Zend/Service/Rackspace/Files/Exception.php';
-            throw new Zend_Service_Rackspace_Files_Exception("You must pass the hash of the object in the array (hash)");
-        }
-        if (!array_key_exists('bytes', $data)) {
-            require_once 'Zend/Service/Rackspace/Files/Exception.php';
-            throw new Zend_Service_Rackspace_Files_Exception("You must pass the byte size of the object in the array (bytes)");
-        }
-        if (!array_key_exists('content_type', $data)) {
-            require_once 'Zend/Service/Rackspace/Files/Exception.php';
-            throw new Zend_Service_Rackspace_Files_Exception("You must pass the content type of the object in the array (content_type)");
+            throw new Zend_Service_Rackspace_Files_Exception(
+                'You must pass the container of the object in the array (container)'
+            );
         }
-        if (!array_key_exists('last_modified', $data)) {
+        if (array_key_exists('name', $data)) {
+            if (!array_key_exists('hash', $data)) {
+                require_once 'Zend/Service/Rackspace/Files/Exception.php';
+                throw new Zend_Service_Rackspace_Files_Exception(
+                    'You must pass the hash of the object in the array (hash)'
+                );
+            }
+            if (!array_key_exists('bytes', $data)) {
+                require_once 'Zend/Service/Rackspace/Files/Exception.php';
+                throw new Zend_Service_Rackspace_Files_Exception(
+                    'You must pass the byte size of the object in the array (bytes)'
+                );
+            }
+            if (!array_key_exists('content_type', $data)) {
+                require_once 'Zend/Service/Rackspace/Files/Exception.php';
+                throw new Zend_Service_Rackspace_Files_Exception(
+                    'You must pass the content type of the object in the array (content_type)'
+                );
+            }
+            if (!array_key_exists('last_modified', $data)) {
+                require_once 'Zend/Service/Rackspace/Files/Exception.php';
+                throw new Zend_Service_Rackspace_Files_Exception(
+                    'You must pass the last modified data of the object in the array (last_modified)'
+                );
+            }
+
+            $this->name         = $data['name'];
+            $this->hash         = $data['hash'];
+            $this->size         = $data['bytes'];
+            $this->contentType  = $data['content_type'];
+            $this->lastModified = $data['last_modified'];
+
+            if (!empty($data['content'])) {
+                $this->content = $data['content'];
+            }
+        } elseif (array_key_exists('subdir', $data)) {
+            $this->name = $data['subdir'];
+        } else {
             require_once 'Zend/Service/Rackspace/Files/Exception.php';
-            throw new Zend_Service_Rackspace_Files_Exception("You must pass the last modified data of the object in the array (last_modified)");
+            throw new Zend_Service_Rackspace_Files_Exception(
+                'You must pass the name of the object in the array (name)'
+            );
         }
-        $this->name= $data['name'];
-        $this->container= $data['container'];
-        $this->hash= $data['hash'];
-        $this->size= $data['bytes'];
-        $this->contentType= $data['content_type'];
-        $this->lastModified= $data['last_modified'];
-        if (!empty($data['content'])) {
-            $this->content= $data['content'];
-        }
-        $this->service= $service;
+
+        $this->container = $data['container'];
+        $this->service   = $service;
     }
+
     /**
      * Get name
      *
@@ -138,6 +168,7 @@
     {
         return $this->name;
     }
+
     /**
      * Get the name of the container
      *
@@ -147,6 +178,7 @@
     {
         return $this->container;
     }
+
     /**
      * Get the MD5 of the object's content
      *
@@ -156,6 +188,7 @@
     {
         return $this->hash;
     }
+
     /**
      * Get the size (in bytes) of the object's content
      *
@@ -165,6 +198,7 @@
     {
         return $this->size;
     }
+
     /**
      * Get the content type of the object's content
      *
@@ -174,6 +208,7 @@
     {
         return $this->contentType;
     }
+
     /**
      * Get the data of the last modified of the object
      *
@@ -183,6 +218,7 @@
     {
         return $this->lastModified;
     }
+
     /**
      * Get the content of the object
      *
@@ -192,6 +228,7 @@
     {
         return $this->content;
     }
+
     /**
      * Get the metadata of the object
      * If you don't pass the $key it returns the entire array of metadata value
@@ -212,6 +249,7 @@
         }
         return false;
     }
+
     /**
      * Set the metadata value
      * The old metadata values are replaced with the new one
@@ -223,6 +261,7 @@
     {
         return $this->service->setMetadataObject($this->container,$this->name,$metadata);
     }
+
     /**
      * Copy the object to another container
      * You can add metadata information to the destination object, change the
@@ -238,6 +277,7 @@
     {
         return $this->service->copyObject($this->container,$this->name,$container_dest,$name_dest,$metadata,$content_type);
     }
+
     /**
      * Get the CDN URL of the object
      *
@@ -253,6 +293,7 @@
         }
         return false;
     }
+
     /**
      * Get the CDN SSL URL of the object
      *