public function __construct($path) { $this->_path = $path; if (!is_readable($path)) { require_once 'Sitengine/Amazon/S3/Exception.php'; throw new Sitengine_Amazon_S3_Exception('invaid file specified'); } require_once 'Sitengine/Mime/Type.php'; $this->_mime = Sitengine_Mime_Type::get(preg_replace('/.*\\.(\\w*)$/', '$1', $path)); $this->_size = filesize($path); $this->_md5 = md5_file($path); }
public function handleUpdateUploads($id, array $stored) { try { $upload = new Sitengine_Upload(self::AVATAR_ORIGINAL); $avatarDelete = isset($_POST[self::AVATAR_ORIGINAL . 'Delete']) && $_POST[self::AVATAR_ORIGINAL . 'Delete'] == 1; if ($avatarDelete || $upload->isFile()) { if ($stored[self::AVATAR_ORIGINAL . self::FILETAG_NAME]) { $this->_removeFile(self::AVATAR_ORIGINAL, $stored[self::AVATAR_ORIGINAL . self::FILETAG_NAME]); } if ($stored[self::AVATAR_THUMB . self::FILETAG_NAME]) { $this->_removeFile(self::AVATAR_THUMB, $stored[self::AVATAR_THUMB . self::FILETAG_NAME]); } } if ($upload->isFile()) { if (Sitengine_Mime_Type::isJpg($upload->getMime()) || Sitengine_Mime_Type::isGif($upload->getMime()) || Sitengine_Mime_Type::isPng($upload->getMime())) { $this->_resizeSaveUploadedImage(self::AVATAR_THUMB, $upload, $id); } $name = $this->makeFileName(self::AVATAR_ORIGINAL, $id, Sitengine_Mime_Type::getSuffix($upload->getMime())); $this->_saveUploadedFile(self::AVATAR_ORIGINAL, $upload, $name); } } catch (Exception $exception) { require_once 'Sitengine/Permiso/Exception.php'; throw new Sitengine_Permiso_Exception('handle insert upload error', $exception); } }
protected function _saveImportedFile($fileId, $sourcePath, $filename) { try { $width = 0; $height = 0; $mime = Sitengine_Mime_Type::get($sourcePath); if (!is_writeable($sourcePath) || !is_file($sourcePath)) { throw new Sitengine_Exception('file can not be accessed'); } if (Sitengine_Mime_Type::isImage($mime)) { $info = getimagesize($sourcePath); if (!$info) { $this->_rollbackFileImport(); throw new Sitengine_Exception('file is not an image'); } $width = $info[0]; $height = $info[1]; } $data = array('name' => $filename, 'source' => basename($sourcePath), 'mime' => $mime, 'size' => filesize($sourcePath), 'width' => $width, 'height' => $height); $finalPath = $this->_configs[$fileId]['dir'] . '/' . $filename; if (!copy($sourcePath, $finalPath)) { throw new Sitengine_Exception('file could not be copied'); } if (!unlink($sourcePath)) { throw new Sitengine_Exception('source file could not be deleted'); } $this->_importedFiles[$fileId] = array('sourcePath' => $sourcePath, 'finalPath' => $finalPath); $this->_files[$fileId] = $data; } catch (Exception $exception) { $this->_rollbackFileImport(); throw new Sitengine_Exception('file import failed', $exception); } }
public function handleUpdateUploads($id, array $stored) { try { $upload = new Sitengine_Upload(self::FILE1ORIGINAL_ID); if ($upload->isFile()) { require_once 'Sitengine/Mime/Type.php'; $suffix = Sitengine_Mime_Type::getSuffix($upload->getMime()); $file1OriginalName = $this->makeFileName(self::FILE1ORIGINAL_ID, $id, $suffix); if ($stored[self::FILE1ORIGINAL_ID . 'Name'] != $file1OriginalName) { if ($stored[self::FILE1ORIGINAL_ID . 'Name']) { $this->_removeFile(self::FILE1ORIGINAL_ID, $stored[self::FILE1ORIGINAL_ID . self::FILETAG_NAME]); } } $this->_saveUploadedFile(self::FILE1ORIGINAL_ID, $upload, $file1OriginalName); } } catch (Exception $exception) { $this->_rollback(); require_once 'Sitengine/Newsletter/Exception.php'; throw new Sitengine_Newsletter_Exception('handle update upload error', $exception); } }
public function handleUpdateUploads($id, array $stored) { try { $upload = new Sitengine_Upload(self::FILE1ORIGINAL_ID); if ($upload->isFile()) { if ($stored[self::FILE1ORIGINAL_ID . self::FILETAG_NAME]) { $this->_removeFile(self::FILE1ORIGINAL_ID, $stored[self::FILE1ORIGINAL_ID . self::FILETAG_NAME]); } if ($stored[self::FILE1THUMBNAIL_ID . self::FILETAG_NAME]) { $this->_removeFile(self::FILE1THUMBNAIL_ID, $stored[self::FILE1THUMBNAIL_ID . self::FILETAG_NAME]); } } if ($upload->isFile()) { if (Sitengine_Mime_Type::isJpg($upload->getMime()) || Sitengine_Mime_Type::isGif($upload->getMime()) || Sitengine_Mime_Type::isPng($upload->getMime())) { $this->_resizeSaveUploadedImage(self::FILE1THUMBNAIL_ID, $upload, $id); } $name = $this->makeFileName(self::FILE1ORIGINAL_ID, $id, Sitengine_Mime_Type::getSuffix($upload->getMime())); $this->_saveUploadedFile(self::FILE1ORIGINAL_ID, $upload, $name); } } catch (Exception $exception) { require_once 'Sitengine/Sitemap/Backend/Exception.php'; throw new Sitengine_Sitemap_Backend_Exception('handle insert upload error', $exception); } }
protected function _copyKeys(array $keys, $targetPrefix, array $headers = array(), array $amzHeaders = array()) { foreach ($keys as $key) { $currAmzHeaders = $amzHeaders; $this->_countKeys++; require_once 'Sitengine/Mime/Type.php'; $mime = Sitengine_Mime_Type::get($key); $targetKey = $targetPrefix . $key; if ($this->_targetRenamePatternFind !== null && $this->_targetRenamePatternReplace !== null) { $targetKey = preg_replace($this->_targetRenamePatternFind, $this->_targetRenamePatternReplace, $targetKey); } try { $this->_print('copying: ' . $key . ' -> ' . $targetKey); $exclude = false; foreach ($this->_excludePatterns as $pattern) { if (preg_match($pattern, $key)) { $exclude = true; } } if ($exclude) { $this->_print(" -> EXCLUDED\n"); $this->_countExcluded++; continue; } require_once 'Sitengine/Amazon/S3/Object.php'; $targetObject = new Sitengine_Amazon_S3_Object($this->_connection, $this->_targetBucketName, $targetKey); $head = null; if (!$this->_force) { # check if target exists $head = $targetObject->head(); if ($head->getHttpResponse()->getStatus() == 200) { $eTag = $head->getClient()->getLastResponse()->getHeader('Etag'); if ($eTag !== null) { # set pre-condition $currAmzHeaders[] = "x-amz-copy-source-if-none-match: {$eTag}"; } /* $this->_print(" -> TARGET EXISTS (SKIPPED)\n"); $this->_countSkipped++; continue; */ } } $response = $targetObject->copy($this->_sourceBucket->getName(), $key, $mime, $headers, $currAmzHeaders); $code = $response->getHttpResponse()->extractCode($response->getHttpResponse()->getHeadersAsString()); if ($code == 412) { $this->_print(" -> SKIPPED (EXISTS)\n"); $this->_countSkipped++; continue; } if ($response->isError()) { # try again $response = $targetObject->copy($this->_sourceBucket->getName(), $key, $mime, $headers, $currAmzHeaders); if ($response->isError()) { #print $response->getErrorMessage()."\n"; require_once 'Sitengine/Amazon/S3/Utils/Exception.php'; throw new Sitengine_Amazon_S3_Utils_Exception('Copy Error'); } } if ($head !== null && $head->getHttpResponse()->getStatus() == 200) { $this->_countReplaced++; $this->_print(" -> REPLACE OK\n"); } else { $this->_countCopied++; $this->_print(" -> COPY OK\n"); } #$this->_countCopied++; #$this->_print(" -> OK\n"); #$response = $targetObject->head($key); #print $response->getHttpResponse()->asString(); } catch (Exception $exception) { $this->_countErrors++; $msg = " -> ERROR (" . $exception->getMessage() . ")\n"; $this->_print($msg); } } }
public function handleUpdateUploads($id, array $stored) { try { $upload = new Sitengine_Upload(self::FILE1ORIGINAL_ID); if ($upload->isFile()) { $suffix = Sitengine_Mime_Type::getSuffix($upload->getMime()); $file1OriginalName = $this->makeFileName(self::FILE1ORIGINAL_ID, $id, $suffix); if ($stored[self::FILE1ORIGINAL_ID . 'Name'] != $file1OriginalName) { if ($stored[self::FILE1ORIGINAL_ID . 'Name']) { $this->_removeFile(self::FILE1ORIGINAL_ID, $stored[self::FILE1ORIGINAL_ID . self::FILETAG_NAME]); } if ($stored[self::FILE1THUMBNAIL_ID . 'Name']) { $this->_removeFile(self::FILE1THUMBNAIL_ID, $stored[self::FILE1THUMBNAIL_ID . self::FILETAG_NAME]); } } if (Sitengine_Mime_Type::isJpg($upload->getMime()) || Sitengine_Mime_Type::isGif($upload->getMime()) || Sitengine_Mime_Type::isPng($upload->getMime())) { $this->_resizeSaveUploadedImage(self::FILE1THUMBNAIL_ID, $upload, $id); } $this->_saveUploadedFile(self::FILE1ORIGINAL_ID, $upload, $file1OriginalName); } } catch (Exception $exception) { $this->_rollback(); require_once 'Sitengine/Blog/Exception.php'; throw new Sitengine_Blog_Exception('handle update upload error', $exception); } }
public function handleUpdateUploads($id, array $stored) { try { # upload 1 $upload = new Sitengine_Upload(self::FILE1ORIGINAL_ID); $file1Delete = isset($_POST[self::FILE1ORIGINAL_ID . 'Delete']) && $_POST[self::FILE1ORIGINAL_ID . 'Delete'] == 1; if ($file1Delete || $upload->isFile()) { if ($stored[self::FILE1ORIGINAL_ID . self::FILETAG_NAME]) { $this->_removeFile(self::FILE1ORIGINAL_ID, $stored[self::FILE1ORIGINAL_ID . self::FILETAG_NAME]); } if ($stored[self::FILE1THUMBNAIL_ID . self::FILETAG_NAME]) { $this->_removeFile(self::FILE1THUMBNAIL_ID, $stored[self::FILE1THUMBNAIL_ID . self::FILETAG_NAME]); } if ($stored[self::FILE1FITTED_ID . self::FILETAG_NAME]) { $this->_removeFile(self::FILE1FITTED_ID, $stored[self::FILE1FITTED_ID . self::FILETAG_NAME]); } } if ($upload->isFile()) { if (Sitengine_Mime_Type::isJpg($upload->getMime()) || Sitengine_Mime_Type::isGif($upload->getMime()) || Sitengine_Mime_Type::isPng($upload->getMime())) { $this->_resizeSaveUploadedImage(self::FILE1THUMBNAIL_ID, $upload, $id); $this->_resizeSaveUploadedImage(self::FILE1FITTED_ID, $upload, $id); } $name = $this->makeFileName(self::FILE1ORIGINAL_ID, $id, Sitengine_Mime_Type::getSuffix($upload->getMime())); $this->_saveUploadedFile(self::FILE1ORIGINAL_ID, $upload, $name); } # upload 2 $upload = new Sitengine_Upload(self::FILE2ORIGINAL_ID); $file2Delete = isset($_POST[self::FILE2ORIGINAL_ID . 'Delete']) && $_POST[self::FILE2ORIGINAL_ID . 'Delete'] == 1; if ($file2Delete || $upload->isFile()) { if ($stored[self::FILE2ORIGINAL_ID . self::FILETAG_NAME]) { $this->_removeFile(self::FILE2ORIGINAL_ID, $stored[self::FILE2ORIGINAL_ID . self::FILETAG_NAME]); } if ($stored[self::FILE2THUMBNAIL_ID . self::FILETAG_NAME]) { $this->_removeFile(self::FILE2THUMBNAIL_ID, $stored[self::FILE2THUMBNAIL_ID . self::FILETAG_NAME]); } if ($stored[self::FILE2FITTED_ID . self::FILETAG_NAME]) { $this->_removeFile(self::FILE2FITTED_ID, $stored[self::FILE2FITTED_ID . self::FILETAG_NAME]); } } if ($upload->isFile()) { if (Sitengine_Mime_Type::isJpg($upload->getMime()) || Sitengine_Mime_Type::isGif($upload->getMime()) || Sitengine_Mime_Type::isPng($upload->getMime())) { $this->_resizeSaveUploadedImage(self::FILE2THUMBNAIL_ID, $upload, $id); $this->_resizeSaveUploadedImage(self::FILE2FITTED_ID, $upload, $id); } $name = $this->makeFileName(self::FILE2ORIGINAL_ID, $id, Sitengine_Mime_Type::getSuffix($upload->getMime())); $this->_saveUploadedFile(self::FILE2ORIGINAL_ID, $upload, $name); } } catch (Exception $exception) { require_once 'Sitengine/Proto/Exception.php'; throw new Sitengine_Proto_Exception('handle insert upload error', $exception); } }
protected function _getMainSection() { try { $elements = array(); $input = $this->_controller->getRequest()->getPost(null); #$valueSort = $this->_controller->getRequest()->get(Sitengine_Env::PARAM_SORT); #$valueOrder = $this->_controller->getRequest()->get(Sitengine_Env::PARAM_ORDER); #$valuePage = $this->_controller->getRequest()->get(Sitengine_Env::PARAM_PAGE); ######################################################################## #### FILTER INPUT ######################################################################## $fieldsNormal = array('id' => '', 'keyword' => ''); $fieldsOnOff = array('locked' => 0); if ($this->_inputMode == Sitengine_Env::INPUTMODE_UPDATE) { require_once 'Sitengine/Form/Payloads.php'; $payloads = new Sitengine_Form_Payloads(); $payloads->start($this->_controller->getRequest()->get(Sitengine_Env::PARAM_PAYLOAD_NAME)); $stored = $this->_controller->getEntity()->getData(); $data = Sitengine_Controller_Request_Http::filterUpdateDeprecated(sizeof($input), $input, $fieldsNormal, $fieldsOnOff, $stored); #$data['transColor'] = $fieldsNormal['transColor']; $data = array_merge($stored, $data); $name = 'file1Original'; if ($stored[$name . 'Name']) { /* $args = array( #Sitengine_Env::PARAM_ORG => $this->_controller->getPermiso()->getOrganization()->getNameNoDefault(), Sitengine_Env::PARAM_ACTION => Sitengine_Sitemap_Backend_Controller::ACTION_BIN, Sitengine_Env::PARAM_FILE => $name, Sitengine_Env::PARAM_ID => $stored['id'] ); $route = $this->_controller->getFrontController()->getRouter()->getRoute(Sitengine_Sitemap_Backend_Front::ROUTE_INDEX); $uri = $this->_controller->getRequest()->getBasePath().'/'.$route->assemble($args, true); */ $uri = $this->_controller->getFrontController()->getSitemapPackage()->getFile1OriginalRequestDir() . '/' . $stored[$name . 'Name']; $data[$name . 'Uri'] = $uri; $data[$name . 'IsImage'] = Sitengine_Mime_Type::isImage($stored[$name . 'Mime']); $data[$name . 'IsFlash'] = Sitengine_Mime_Type::isFlash($stored[$name . 'Mime']); $data[$name . 'SizeKb'] = round($stored[$name . 'Size'] / 1024); if ($data[$name . 'IsImage']) { $attr = array('src' => $uri, 'width' => $stored[$name . 'Width'], 'height' => $stored[$name . 'Height'], 'border' => 0); $data[$name . 'Tag'] = '<img '; foreach ($attr as $k => $v) { $data[$name . 'Tag'] .= ' ' . $k . '="' . $v . '"'; } $data[$name . 'Tag'] .= ' />'; } } # set dates to timezone /* $name = 'cdate'; $date = new Zend_Date($stored[$name], Zend_Date::ISO_8601, $this->_controller->getLocale()); $date->setTimezone($this->_controller->getPreferences()->getTimezone()); $data[$name] = $date->get(Zend_Date::DATE_FULL).' '; $data[$name] .= $date->get(Zend_Date::TIME_FULL); */ /* $name = 'mdate'; $date = new Zend_Date($stored[$name], Zend_Date::ISO_8601, $this->_controller->getLocale()); $date->setTimezone($this->_controller->getPreferences()->getTimezone()); $data[$name] = $date->get(Zend_Date::DATE_LONG).' '; $data[$name] .= $date->get(Zend_Date::TIME_LONG); */ $hiddens = array(Sitengine_Env::PARAM_PAYLOAD_NAME => $payloads->getName(), Sitengine_Env::PARAM_MDATE => $stored['mdate']); $args = array(Sitengine_Env::PARAM_ID => $stored['id'], Sitengine_Env::PARAM_ACTION => Sitengine_Sitemap_Backend_Controller::ACTION_DOUPDATEFILE); $route = $this->_controller->getFrontController()->getRouter()->getRoute(Sitengine_Sitemap_Backend_Front::ROUTE_INDEX); $submitUri = $this->_controller->getRequest()->getBasePath() . '/' . $route->assemble($args, true); $title = $this->_controller->getTranslate()->translate('labelsViewformUpdateFileTitle'); } else { require_once 'Sitengine/Form/Payloads.php'; $payloads = new Sitengine_Form_Payloads(); $payloads->start(); $data = Sitengine_Controller_Request_Http::filterInsertDeprecated(sizeof($input), $input, $fieldsNormal, $fieldsOnOff); $gid = $this->_controller->getPermiso()->getDirectory()->getGroupId($this->_controller->getOwnerGroup()); $data[Sitengine_Permiso::FIELD_GID] = !is_null($gid) ? $gid : Sitengine_Permiso::GID_ADMINISTRATORS; $data[Sitengine_Permiso::FIELD_UID] = $this->_controller->getPermiso()->getAuth()->getId(); $hiddens = array(Sitengine_Env::PARAM_PAYLOAD_NAME => $payloads->getName()); $args = array(Sitengine_Env::PARAM_PARENTID => $this->_controller->getEntity()->getParentId(), Sitengine_Env::PARAM_ACTION => Sitengine_Sitemap_Backend_Controller::ACTION_DONEWFILE); $route = $this->_controller->getFrontController()->getRouter()->getRoute(Sitengine_Sitemap_Backend_Front::ROUTE_INDEX); $submitUri = $this->_controller->getRequest()->getBasePath() . '/' . $route->assemble($args, true); $title = $this->_controller->getTranslate()->translate('labelsViewformNewFileTitle'); } #Sitengine_Debug::print_r($data); ######################################################################## #### ELEMENTS ######################################################################## if ($payloads->isMain()) { /* if( (!$data['id']) || # on insert (isset($data[Sitengine_Permiso::FIELD_UID]) && $data[Sitengine_Permiso::FIELD_UID]==$this->_controller->getPermiso()->getAuth()->getId()) || # owners ok #$this->_controller->getPermiso()->getUser()->hasSupervisorRights() || # supervisors ok #$this->_controller->getPermiso()->getUser()->hasModeratorRights() # moderators ok $this->_controller->getPermiso()->getDirectory()->userIsMember($this->_controller->getPermiso()->getAuth()->getId(), Sitengine_Permiso::GID_ADMINISTRATORS) ) { $n = Sitengine_Permiso::FIELD_UID; $e = new Sitengine_Form_Element($n, $data[$n]); $e->setClass('viewFormSelect'); $e->setId('viewForm'.$n); $users = $this->_controller->getPermiso()->getDirectory()->getAllUsers(); $elements[$n] = $e->getSelect($users); $n = Sitengine_Permiso::FIELD_GID; $e = new Sitengine_Form_Element($n, $data[$n]); $e->setClass('viewFormSelect'); $e->setId('viewForm'.$n); $groups = $this->_controller->getPermiso()->getDirectory()->getAllGroups(); $groups = array_merge($this->_controller->getTranslate()->translateGroup('fieldValsGid')->toArray(), $groups); $elements[$n] = $e->getSelect($groups); $n = Sitengine_Permiso::FIELD_RAG; $e = new Sitengine_Form_Element($n, '1'); $e->setClass('viewFormCheckbox'); $e->setId('viewForm'.$n); $elements[$n] = $e->getCheckbox($data[$n]); $n = Sitengine_Permiso::FIELD_RAW; $e = new Sitengine_Form_Element($n, '1'); $e->setClass('viewFormCheckbox'); $e->setId('viewForm'.$n); $elements[$n] = $e->getCheckbox($data[$n]); $n = Sitengine_Permiso::FIELD_UAG; $e = new Sitengine_Form_Element($n, '1'); $e->setClass('viewFormCheckbox'); $e->setId('viewForm'.$n); $elements[$n] = $e->getCheckbox($data[$n]); $n = Sitengine_Permiso::FIELD_UAW; $e = new Sitengine_Form_Element($n, '1'); $e->setClass('viewFormCheckbox'); $e->setId('viewForm'.$n); $elements[$n] = $e->getCheckbox($data[$n]); $n = Sitengine_Permiso::FIELD_DAG; $e = new Sitengine_Form_Element($n, '1'); $e->setClass('viewFormCheckbox'); $e->setId('viewForm'.$n); $elements[$n] = $e->getCheckbox($data[$n]); $n = Sitengine_Permiso::FIELD_DAW; $e = new Sitengine_Form_Element($n, '1'); $e->setClass('viewFormCheckbox'); $e->setId('viewForm'.$n); $elements[$n] = $e->getCheckbox($data[$n]); } */ $n = 'locked'; $e = new Sitengine_Form_Element($n, '1'); $e->setClass('viewFormCheckbox'); $e->setId('viewForm' . $n); $elements[$n] = $e->getCheckbox($data[$n]); /* $n = 'enabled'; $e = new Sitengine_Form_Element($n, '1'); $e->setClass('viewFormCheckbox'); $e->setId('viewForm'.$n); $elements[$n] = $e->getCheckbox($data[$n]); */ $n = 'keyword'; $e = new Sitengine_Form_Element($n, $data[$n]); $e->setClass('viewFormInput'); $e->setId('viewForm' . $n); $elements[$n] = $e->getText(40); /* $n = 'transColor'; $e = new Sitengine_Form_Element($n, $data[$n]); $e->setClass('viewFormInput'); $e->setId('viewForm'.$n); $elements[$n] = $e->getText(10); */ $n = 'file1Original'; $e = new Sitengine_Form_Element($n); $e->setClass('viewFormFile'); $e->setId('viewForm' . $n); $elements[$n] = $e->getFile(40); if ($this->_inputMode == Sitengine_Env::INPUTMODE_UPDATE) { $n = 'cpyPasteUri'; $v = $this->_controller->getFrontController()->getSitemapPackage()->getFile1OriginalRequestDir() . '/' . $stored['file1OriginalName']; $e = new Sitengine_Form_Element($n, $v); $e->setClass('viewFormCheckbox'); $e->setId('viewForm' . $n); $e->readonly(); $elements[$n] = $e->getText(80); } } ######################################################################## #### PAYLOAD NAV DATA ######################################################################## $payloadNav = array(); ######################################################################## #### COLLECT ALL DATA ######################################################################## foreach ($hiddens as $k => $v) { $hiddens[$k] = Sitengine_Form_Element::getHidden($k, $v); } return array('payloadName' => $payloads->getName(), 'payloadIsMain' => $payloads->isMain(), 'queryUpdate' => isset($queryUpdate) ? $queryUpdate : '', 'title' => $title, 'inputMode' => $this->_inputMode, 'hiddens' => implode('', $hiddens), 'submitUri' => $submitUri, 'ELEMENTS' => $elements, 'PAYLOADNAV' => $payloadNav, 'DATA' => $data); } catch (Exception $exception) { require_once 'Sitengine/Sitemap/Backend/Exception.php'; throw new Sitengine_Sitemap_Backend_Exception('form page error', $exception); } }
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(); }