Ejemplo n.º 1
0
 protected function _rollback()
 {
     #Sitengine_Debug::print_r($this->_newFiles);
     #Sitengine_Debug::print_r($this->_currentFiles);
     # remove new files
     foreach ($this->_newFiles as $fileId => $name) {
         #$key = $this->_configs[$fileId]['prefix'].'/'.$name;
         #$object = $this->_configs[$fileId]['object'];
         require_once 'Sitengine/Amazon/S3/Object.php';
         $object = new Sitengine_Amazon_S3_Object($this->_configs[$fileId]['connection'], $this->_configs[$fileId]['bucket'], $this->_configs[$fileId]['prefix'] . '/' . $name, $this->_configs[$fileId]['cname'], $this->_configs[$fileId]['ssl']);
         $response = $object->delete();
     }
     # restore current files
     foreach ($this->_currentFiles as $fileId => $name) {
         #$key = $this->_configs[$fileId]['prefix'].'/'.$name;
         $rollbackKey = 'Temp/' . $this->_configs[$fileId]['prefix'] . '/' . $name;
         #$object = $this->_configs[$fileId]['object'];
         require_once 'Sitengine/Amazon/S3/Object.php';
         $object = new Sitengine_Amazon_S3_Object($this->_configs[$fileId]['connection'], $this->_configs[$fileId]['bucket'], $this->_configs[$fileId]['prefix'] . '/' . $name, $this->_configs[$fileId]['cname'], $this->_configs[$fileId]['ssl']);
         require_once 'Sitengine/Amazon/S3/Object.php';
         $rollbackObject = new Sitengine_Amazon_S3_Object($this->_configs[$fileId]['connection'], $this->_configs[$fileId]['bucket'], $rollbackKey, $this->_configs[$fileId]['cname'], $this->_configs[$fileId]['ssl']);
         require_once 'Sitengine/Mime/Type.php';
         $mime = Sitengine_Mime_Type::get($name);
         $response = $object->copy($rollbackObject->getBucketName(), $rollbackKey, $mime, array(), $this->_configs[$fileId]['amzHeaders']);
         $response = $rollbackObject->delete();
     }
     $this->_newFiles = array();
     $this->_currentFiles = array();
 }