/** * Flush the media/slider/resized folder, when the catalog image cache is flushed * * @param Varien_Event_Observer $observer * @return Soon_Image_Model_Observer */ public function cleanImageCache(Varien_Event_Observer $observer) { $directory = Mage::getBaseDir('media') . DS . 'slider' . DS . 'resized' . DS; $io = new Varien_Io_File(); $io->rmdir($directory, true); return $this; }
final function uninstall(Varien_Event_Observer $observer) { $module = $observer->getEvent()->getModule(); if (0 !== strpos(get_class($this), $module)) { return false; } $this->run(); $manifestPath = str_replace('_', '/', $module) . '/etc/manifest.xml'; foreach (explode(PS, get_include_path()) as $includePath) { if (file_exists($includePath . DS . $manifestPath)) { $manifestPath = $includePath . DS . $manifestPath; break; } } if (!file_exists($manifestPath)) { throw new Exception('Manifest path "' . $manifestPath . '" does not exist'); } $manifestXml = new SimpleXMLElement($manifestPath, null, true); $paths = $manifestXml->xpath('/manifest/' . $module . '/paths/path'); $file = new Varien_Io_File(); foreach ($paths as $path) { $path = BP . DS . $path; if (file_exists($path)) { if (is_dir($path)) { $file->rmdir($path, true); } else { $file->rm($path); } } } $this->_removeResources($module); }
/** * Product image add * * @throws Mage_Api2_Exception * @param array $data * @return string */ protected function _create(array $data) { /* @var $validator Mage_Catalog_Model_Api2_Product_Image_Validator_Image */ $validator = Mage::getModel('Mage_Catalog_Model_Api2_Product_Image_Validator_Image'); if (!$validator->isValidData($data)) { foreach ($validator->getErrors() as $error) { $this->_error($error, Mage_Api2_Model_Server::HTTP_BAD_REQUEST); } $this->_critical(self::RESOURCE_DATA_PRE_VALIDATION_ERROR); } $imageFileContent = @base64_decode($data['file_content'], true); if (!$imageFileContent) { $this->_critical('The image content must be valid base64 encoded data', Mage_Api2_Model_Server::HTTP_BAD_REQUEST); } unset($data['file_content']); $apiTempDir = Mage::getBaseDir('var') . DS . 'api' . DS . Mage::getSingleton('Mage_Api_Model_Session')->getSessionId(); $imageFileName = $this->_getFileName($data); try { $ioAdapter = new Varien_Io_File(); $ioAdapter->checkAndCreateFolder($apiTempDir); $ioAdapter->open(array('path' => $apiTempDir)); $ioAdapter->write($imageFileName, $imageFileContent, 0666); unset($imageFileContent); // try to create Image object to check if image data is valid try { $adapter = Mage::helper('Mage_Core_Helper_Data')->getImageAdapterType(); new Varien_Image($apiTempDir . DS . $imageFileName, $adapter); } catch (Exception $e) { $ioAdapter->rmdir($apiTempDir, true); $this->_critical($e->getMessage(), Mage_Api2_Model_Server::HTTP_INTERNAL_ERROR); } $product = $this->_getProduct(); $imageFileUri = $this->_getMediaGallery()->addImage($product, $apiTempDir . DS . $imageFileName, null, false, false); $ioAdapter->rmdir($apiTempDir, true); // updateImage() must be called to add image data that is missing after addImage() call $this->_getMediaGallery()->updateImage($product, $imageFileUri, $data); if (isset($data['types'])) { $this->_getMediaGallery()->setMediaAttribute($product, $data['types'], $imageFileUri); } $product->save(); return $this->_getImageLocation($this->_getCreatedImageId($imageFileUri)); } catch (Mage_Core_Exception $e) { $this->_critical($e->getMessage(), Mage_Api2_Model_Server::HTTP_INTERNAL_ERROR); } catch (Exception $e) { $this->_critical(self::RESOURCE_UNKNOWN_ERROR); } }
public function removeDownloadsFile($fileId, $isRemoveFolder = true) { $dir = Mage::helper('downloads')->getDownloadsPath($fileId); $files = Mage::helper('downloads')->getFiles($dir); if ($files) { foreach ($files as $value) { unlink($value); } if ($isRemoveFolder === true) { $io = new Varien_Io_File(); $io->rmdir($dir); } } }
public function cleanCache(Varien_Event_Observer $observer) { /** @var Mage_Catalog_Model_Product_Media_Config $mediaConfig */ $mediaConfig = Mage::getSingleton('catalog/product_media_config'); $baseCacheDir = realpath($mediaConfig->getMediaPath(Aoe_LazyCatalogImages_Helper_Catalog_Image::TOKEN_PREFIX)); $io = new Varien_Io_File(); $io->cd($baseCacheDir); foreach ($io->ls(Varien_Io_File::GREP_DIRS) as $info) { $dir = $info['id']; if (strpos($dir, $baseCacheDir) === 0) { $io->rmdir($dir, true); } } }
/** * * Move option image from Temp directory to Media directory * * @param string $fileName * @param int $attributeId * @param int $optionId * @return string */ public function moveImageFromTemp($fileName, $attributeId, $optionId) { $ioObject = new Varien_Io_File(); $targetDirectory = $this->_optionImageBasePath . $attributeId . DS . $optionId; try { $ioObject->rmdir($targetDirectory, true); $ioObject->mkdir($targetDirectory, 0777, true); $ioObject->open(array('path' => $targetDirectory)); } catch (Exception $e) { return false; } $fileName = trim($fileName, '.tmp'); $targetFile = Varien_File_Uploader::getNewFileName($fileName); $path = $targetDirectory . DS . $targetFile; $ioObject->mv(Mage::getSingleton('catalog/product_media_config')->getTmpMediaPath($fileName), $path); return $targetFile; }
/** * Deletes all extension folders and the app/etc/modules config file. */ public function deleteExtensionFolderFiles() { $namespacePath = $this->_getNamespacePath(); $extensionPath = $this->_getExtensionPath(); try { $this->_filesystem->rmdir($extensionPath, true); if (is_dir($namespacePath)) { $this->_filesystem->cd($namespacePath); if (count($this->_filesystem->ls()) == 0) { $this->_filesystem->rmdir($namespacePath, true); } } $modulesConfigFile = $this->_namespace . '_' . $this->_extensionName . '.xml'; $modulesConfigFilePath = $this->_helper->getModulesConfigDir() . DS . $modulesConfigFile; if (file_exists($modulesConfigFilePath)) { $this->_filesystem->rm($modulesConfigFilePath); } } catch (Exception $e) { Mage::log($e->getMessage(), null, $this->_helper->getLogFilename()); Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); } }
/** * Removes folder with cached images * * @return boolean */ public function flushImagesCache() { $cacheDir = $this->getBaseDir() . DS . 'cache' . DS; $io = new Varien_Io_File(); if ($io->fileExists($cacheDir, false)) { return $io->rmdir($cacheDir, true); } return true; }
public function removeOptionFile($groupId, $optionId, $valueId = false, $isRemoveFolder = true) { $dir = Mage::helper('customoptions')->getCustomOptionsPath($groupId, $optionId, $valueId); $files = Mage::helper('customoptions')->getFiles($dir); if ($files) { foreach ($files as $value) { @unlink($value); } if ($isRemoveFolder === true) { $io = new Varien_Io_File(); $io->rmdir($dir); } } }
public function saveAction() { if ($data = $this->getRequest()->getPost()) { $_model = Mage::getModel('smvendors/banner'); if (isset($data['position'])) { $data['position'] = implode(',', $data['position']); } if ($this->getRequest()->getParam('id')) { $_model->setData($data)->setId($this->getRequest()->getParam('id')); } else { $_model->setData($data); } $imagedata = array(); if (!empty($_FILES['image']['name'])) { try { $ext = substr($_FILES['image']['name'], strrpos($_FILES['image']['name'], '.') + 1); $fname = 'File-' . time() . '.' . $ext; $uploader = new Varien_File_Uploader('image'); $uploader->setAllowedExtensions(array('jpg', 'jpeg', 'gif', 'png')); // or pdf or anything $uploader->setAllowRenameFiles(true); $uploader->setFilesDispersion(false); $path = Mage::getBaseDir('media') . DS . 'vendor' . DS . 'banners'; $uploader->save($path, $fname); $imagedata['image'] = 'vendor/banners/' . $fname; $_model->setData('image', $imagedata['image']); } catch (Exception $e) { Mage::logException($e); } } if (empty($imagedata['image'])) { $vendorLogo = $this->getRequest()->getPost('image'); if (isset($vendorLogo['delete']) && $vendorLogo['delete'] == 1) { if ($vendorLogo['value'] != '') { $_helper = Mage::helper('smvendors'); $file = Mage::getBaseDir('media') . DS . $_helper->updateDirSepereator($vendorLogo['value']); try { $io = new Varien_Io_File(); $result = $io->rmdir($file, true); } catch (Exception $e) { Mage::logException($e); } } $imagedata['image'] = ''; $_model->setData('image', $imagedata['image']); } else { $_model->setData('image', $vendorLogo['value']); } } try { $_model->save(); Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('smvendors')->__('Banner was successfully saved')); Mage::getSingleton('adminhtml/session')->setFormData(false); if ($this->getRequest()->getParam('back')) { $this->_redirect('*/*/edit', array('id' => $_model->getId())); return; } $this->_redirect('*/*/'); return; } catch (Exception $e) { Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); Mage::getSingleton('adminhtml/session')->setFormData($data); $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id'))); return; } } Mage::getSingleton('adminhtml/session')->addError(Mage::helper('smvendors')->__('Unable to find banner to save')); $this->_redirect('*/*/'); }
public function clearCache() { $directory = Mage::getBaseDir('media') . '/catalog/product/cache/'; $io = new Varien_Io_File(); $io->rmdir($directory, true); }
/** * Create new image for product and return image filename * * @param int|string $productId * @param array $data * @param string|int $store * @return string */ public function create($productId, $data, $store = null) { $product = $this->_initProduct($productId, $store); $gallery = $this->_getGalleryAttribute($product); if (!isset($data->file) || !isset($data->file->mime) || !isset($data->file->content)) { $this->_fault('data_invalid', AO::helper('catalog')->__('Image not specified.')); } if (!isset($this->_mimeTypes[$data->file->mime])) { $this->_fault('data_invalid', AO::helper('catalog')->__('Invalid image type.')); } $fileContent = @base64_decode($data->file->content, true); if (!$fileContent) { $this->_fault('data_invalid', AO::helper('catalog')->__('Image content is not valid base64 data.')); } unset($data->file->content); $tmpDirectory = AO::getBaseDir('var') . DS . 'api' . DS . $this->_getSession()->getSessionId(); $fileName = 'image.' . $this->_mimeTypes[$data->file->mime]; $ioAdapter = new Varien_Io_File(); try { // Create temporary directory for api $ioAdapter->checkAndCreateFolder($tmpDirectory); $ioAdapter->open(array('path' => $tmpDirectory)); // Write image file $ioAdapter->write($fileName, $fileContent, 0666); unset($fileContent); // Adding image to gallery $file = $gallery->getBackend()->addImage($product, $tmpDirectory . DS . $fileName, null, true); // Remove temporary directory $ioAdapter->rmdir($tmpDirectory, true); $_imageData = $this->_prepareImageData($data); $gallery->getBackend()->updateImage($product, $file, $_imageData); if (isset($data->types)) { $gallery->getBackend()->setMediaAttribute($product, $data->types, $file); } $product->save(); } catch (Mage_Core_Exception $e) { $this->_fault('not_created', $e->getMessage()); } catch (Exception $e) { $this->_fault('not_created', AO::helper('catalog')->__('Can\'t create image.')); } return $gallery->getBackend()->getRenamedImage($file); }
/** * Download products media * * @param Varien_Object|null $item * @return array */ public function downloadProductImages($item = null) { $ioAdapter = new Varien_Io_File(); $tmpDirectory = Mage::getBaseDir('var') . DS . 'api' . DS . uniqid(); $ioAdapter->checkAndCreateFolder($tmpDirectory); $ioAdapter->open(array('path' => $tmpDirectory)); if (!$item) { $items = Mage::getModel('retailops_api/catalog_media_item')->getCollection(); $limit = $this->getHelper()->getConfig('media_processing_products_limit'); if (!is_numeric($limit)) { $limit = self::CRON_DOWNLOAD_LIMIT; } $items->getSelect()->limit($limit); } else { $items = array($item); } $result = array(); /** @var $item RetailOps_Api_Model_Catalog_Media_Item */ foreach ($items as $item) { $productId = $item->getProductId(); $product = Mage::getModel('catalog/product')->load($productId); $product->setStoreId(0); //using default store for images import $gallery = $this->_getGalleryAttribute($product); $data = json_decode($item->getMediaData(), true); $allImages = $this->_getResource()->getProductMedia($productId); $this->_mediaKeys = array(); $this->_fileNames = array(); foreach ($allImages as $image) { $this->_mediaKeys[] = $image['retailops_mediakey']; $this->_fileNames[] = $image['value']; } $sku = $product->getSku(); $result[$sku] = array(); try { $imageResult = array(); $newImages = array(); foreach ($data as $newImage) { if ($this->_imageExists($newImage)) { continue; } try { $url = $newImage['download_url']; if (!$this->_httpFileExists($url)) { Mage::throwException('Image does not exist.'); } $fileName = $this->_getFileName($url, $newImage['mediakey']); $fileName = $tmpDirectory . DS . $fileName; $ioAdapter->cp($url, $fileName); // Adding image to gallery $file = $gallery->getBackend()->addImage($product, $fileName, null, true); // Remove temporary directory $ioAdapter->rmdir($tmpDirectory, true); $newImages[$file] = $newImage['mediakey']; $gallery->getBackend()->updateImage($product, $file, $newImage); if (isset($newImage['types'])) { $gallery->getBackend()->setMediaAttribute($product, $newImage['types'], $file); } } catch (Exception $e) { $imageResult[] = sprintf('Could not save image %s, error message: %s', $newImage['mediakey'], $e->getMessage()); } } if ($imageResult) { $result[$sku]['images'] = $imageResult; } $product->save(); $this->_updateMediaKeys($product->getId(), $newImages); if ($item->getId()) { $item->delete(); } $product->clearInstance(); } catch (Exception $e) { $result[$sku]['general'] = $e->getMessage(); } } return $result; }
public function clearCache() { $directory = Mage::getSingleton('mstcore/media_config')->getBaseMediaPath() . DS . 'content' . DS . 'cache' . DS; $io = new Varien_Io_File(); $io->rmdir($directory, true); }
/** * Cleans out the swatch image cache dir */ public function clearSwatchesCache() { $directory = Mage::getBaseDir(Mage_Core_Model_Store::URL_TYPE_MEDIA) . DS . self::SWATCH_CACHE_DIR; $io = new Varien_Io_File(); $io->rmdir($directory, true); Mage::helper('core/file_storage_database')->deleteFolder($directory); }
public function clearCache($attrId, $optionId) { if (Mage::helper('weltpixel_layerednavigation')->getSwatchResize()) { $newFilePath = DS . 'layerednavigation' . DS . 'layered_swatches' . DS; $directory = Mage::getBaseDir(Mage_Core_Model_Store::URL_TYPE_MEDIA) . $newFilePath . DS . $attrId . DS . $optionId; $io = new Varien_Io_File(); $io->rmdir($directory, true); } }
public function clearCache() { $directory = Mage::getBaseDir('media') . DS . 'gallery' . DS . 'cache' . DS; $io = new Varien_Io_File(); $io->rmdir($directory, true); }
public function clearCache() { $directory = AO::getBaseDir('media') . DS . 'catalog' . DS . 'product' . DS . 'cache' . DS; $io = new Varien_Io_File(); $io->rmdir($directory, true); }
public function clearCache() { #$directory = Mage::getBaseDir('media') . DS.'catalog'.DS.'product'.DS.'cache'.DS; $directory = Mage::getSingleton('igallery/config')->getBaseMediaPath() . DS . 'cache' . DS; $io = new Varien_Io_File(); $io->rmdir($directory, true); }
/** * build the module * * @access public * @return array * @author Marius Strajeru <*****@*****.**> */ public function buildModule() { $config = $this->getConfig(); $files = $config->getNode('files'); $messages = array(); foreach ((array) $files as $file) { if ($file->scope == 'disabled') { continue; } $this->_createFile($file); } if ($this->getInstall()) { $existingFiles = $this->_checkExistingFiles(); if (count($existingFiles) > 0) { $this->setInstall(false); $messages[] = Mage::helper('modulecreator')->__('The following files already exist. They were NOT overwritten. The extension was not installed. You can download it from the list of extensions and install it manually: %s', implode('<br />', $existingFiles)); } } $this->_writeFiles(); if (!$this->getInstall()) { $contents = array(); foreach ($this->_files as $filename => $file) { $contents[] = $this->getRelativeBasePath() . $filename; } /** @var Ultimate_ModuleCreator_Model_Writer $_writer */ $_writer = Mage::getModel('modulecreator/writer', $contents); $_writer->setPathPrefix('var' . DS . 'modulecreator' . DS . $this->getExtensionName() . DS); $_writer->setNamePackage(Mage::getBaseDir('var') . DS . 'modulecreator' . DS . $this->getExtensionName()); $_writer->composePackage()->archivePackage(); $this->_io->rmdir($this->getBasePath(), true); } return $messages; }
public function clearCache() { $directory = Mage::getBaseDir('media') . DS . 'catalog' . DS . 'product' . DS . 'cache' . DS; $io = new Varien_Io_File(); $io->rmdir($directory, true); Mage::helper('core/file_storage_database')->deleteFolder($directory); }
public function cleanCache() { $directory = $this->getImageBaseDir() . DS . $this->_resizeFolderName; if (is_dir($directory)) { $io = new Varien_Io_File(); $io->rmdir($directory, true); } }
public function clearCache() { $directory = Mage::getBaseDir('media') . DS . 'magictoolbox' . DS . 'magicslideshow' . DS . 'cache' . DS; $io = new Varien_Io_File(); $io->rmdir($directory, true); }
/** * deleteImageAction Delete assign product image controller action * @var Array $data Request data * @var String $filepath target folder path * @var Object $io Varien IO File object */ public function deleteImageAction() { $data = $this->getRequest()->getParams(); if (is_dir(Mage::getBaseDir() . '/media/mpassignproduct/' . $data['pid'] . '/')) { $filepath = Mage::getBaseDir() . '/media/mpassignproduct/' . $data['pid'] . '/' . $data['file']; try { $io = new Varien_Io_File(); $result = $io->rmdir($filepath, true); echo "success"; } catch (Exception $e) { } } }
/** * Clear catalog cache * * @return null */ public function clearCache() { $directory = Mage::getBaseDir('media') . DS . 'catalog' . DS . 'category' . DS . 'cache' . DS; $ioFile = new Varien_Io_File(); $ioFile->rmdir($directory, true); }
protected function removeFile($file) { try { $io = new Varien_Io_File(); $result = $io->rmdir($file, true); } catch (Exception $e) { } }
/** * Recursively delete directory from storage * * @param string $path Target dir * @return void */ public function deleteDirectory($path) { // prevent accidental root directory deleting $rootCmp = rtrim($this->getHelper()->getStorageRoot(), DS); $pathCmp = rtrim($path, DS); if ($rootCmp == $pathCmp) { Mage::throwException(Mage::helper('cms')->__('Cannot delete root directory %s.', $path)); } $io = new Varien_Io_File(); if (Mage::helper('core/file_storage_database')->checkDbUsage()) { Mage::getModel('core/file_storage_directory_database')->deleteDirectory($path); } if (!$io->rmdir($path, true)) { Mage::throwException(Mage::helper('cms')->__('Cannot delete directory %s.', $path)); } if (strpos($pathCmp, $rootCmp) === 0) { $io->rmdir($this->getThumbnailRoot() . DS . ltrim(substr($pathCmp, strlen($rootCmp)), '\\/'), true); } }
protected function _afterDelete(Mage_Core_Model_Abstract $object) { $ioObject = new Varien_Io_File(); $targetDirectory = Mage::getBaseDir('media') . DS . 'catalog' . DS . 'attribute' . DS . $object->getId(); $ioObject->rmdir($targetDirectory, true); return parent::_afterDelete($object); }
/** * Create new image for product and return image filename * * @param int|string $productId * @param array $data * @param string|int $store * @return string */ public function create($productId, $data, $store = null, $identifierType = null) { $data = $this->_prepareImageData($data); $product = $this->_initProduct($productId, $store, $identifierType); $gallery = $this->_getGalleryAttribute($product); if (!isset($data['file']) || !isset($data['file']['mime']) || !isset($data['file']['content'])) { $this->_fault('data_invalid', Mage::helper('catalog')->__('The image is not specified.')); } if (!isset($this->_mimeTypes[$data['file']['mime']])) { $this->_fault('data_invalid', Mage::helper('catalog')->__('Invalid image type.')); } $fileContent = @base64_decode($data['file']['content'], true); if (!$fileContent) { $this->_fault('data_invalid', Mage::helper('catalog')->__('The image contents is not valid base64 data.')); } unset($data['file']['content']); $tmpDirectory = Mage::getBaseDir('var') . DS . 'api' . DS . $this->_getSession()->getSessionId(); if (isset($data['file']['name']) && $data['file']['name']) { $fileName = $data['file']['name']; } else { $fileName = 'image'; } $fileName .= '.' . $this->_mimeTypes[$data['file']['mime']]; $ioAdapter = new Varien_Io_File(); try { // Create temporary directory for api $ioAdapter->checkAndCreateFolder($tmpDirectory); $ioAdapter->open(array('path' => $tmpDirectory)); // Write image file $ioAdapter->write($fileName, $fileContent, 0666); unset($fileContent); // try to create Image object - it fails with Exception if image is not supported try { new Varien_Image($tmpDirectory . DS . $fileName); } catch (Exception $e) { // Remove temporary directory $ioAdapter->rmdir($tmpDirectory, true); throw new Mage_Core_Exception($e->getMessage()); } // Adding image to gallery $file = $gallery->getBackend()->addImage($product, $tmpDirectory . DS . $fileName, null, true); // Remove temporary directory $ioAdapter->rmdir($tmpDirectory, true); $gallery->getBackend()->updateImage($product, $file, $data); if (isset($data['types'])) { $gallery->getBackend()->setMediaAttribute($product, $data['types'], $file); } $product->save(); } catch (Mage_Core_Exception $e) { $this->_fault('not_created', $e->getMessage()); } catch (Exception $e) { $this->_fault('not_created', Mage::helper('catalog')->__('Cannot create image.')); } return $gallery->getBackend()->getRenamedImage($file); }
public function onCleanCatalogImagesCacheAfter($e) { if (!$this->getConfig()->getIsEnableImageFriendlyUrls()) { return; } $directory = Mage::getBaseDir('media') . DS . 'product' . DS; $io = new Varien_Io_File(); $io->rmdir($directory, true); Mage::helper('core/file_storage_database')->deleteFolder($directory); }