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(); }