/** * Method for loading directory content via AJAX call * @return JSON */ public function getdirectorycontentAction() { if ($this->getRequest()->isPost()) { $folderName = filter_var($this->getRequest()->getParam('folder'), FILTER_SANITIZE_STRING); $folderPath = realpath($this->_websiteConfig['path'] . $this->_websiteConfig['media'] . $folderName); //retrieve content for given folder if (!$folderName || $folderPath === false) { $this->view->error = 'Wrong folder specified'; return false; } $this->view->imageList = array(); if (is_dir($folderPath . DIRECTORY_SEPARATOR . 'product')) { $listImages = Tools_Filesystem_Tools::scanDirectory($folderPath . DIRECTORY_SEPARATOR . 'product', false, false); foreach ($listImages as $image) { array_push($this->view->imageList, array('name' => $image, 'src' => Tools_Content_Tools::applyMediaServers($this->_helper->website->getUrl() . $this->_websiteConfig['media'] . $folderName . '/product/' . $image))); } } $this->view->filesList = array(); $listFiles = Tools_Filesystem_Tools::scanDirectory($folderPath, false, false); foreach ($listFiles as $item) { if (!is_dir($folderPath . DIRECTORY_SEPARATOR . $item)) { array_push($this->view->filesList, array('name' => $item)); } } } else { $this->_redirect($this->_helper->website->getUrl(), array('exit' => true)); } }
/** * @deprecated Use Tools_Page_Tools::getPreview() instead. Will be removed in 2.2 */ public static function getPreviewPath($pageId, $capIfNoPreview = false, $croped = false) { Tools_System_Tools::debugMode() && error_log('Called deprecated Tools_Page_Tools::getPreviewPath(). Use Tools_Page_Tools::getPreview() instead'); $websiteHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('website'); $configHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('config'); $pageHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('page'); $websiteUrl = $configHelper->getConfig('mediaServers') ? Tools_Content_Tools::applyMediaServers($websiteHelper->getUrl()) : $websiteHelper->getUrl(); try { $previews = Tools_Filesystem_Tools::findFilesByExtension($websiteHelper->getPath() . ($croped ? $websiteHelper->getPreviewCrop() : $websiteHelper->getPreview()), 'jpg|png|jpeg|gif', true, true, false); } catch (Exceptions_SeotoasterException $se) { if (APPLICATION_ENV == 'development') { error_log("(Cant find preview thumbnail because: " . $se->getMessage() . "\n" . $se->getTraceAsString()); } return $websiteUrl . 'system/images/noimage.png'; } $page = Application_Model_Mappers_PageMapper::getInstance()->find($pageId); if ($page instanceof Application_Model_Models_Page) { $cleanUrl = $pageHelper->clean(preg_replace('~/+~', '-', $page->getUrl())); unset($page); $path = array_key_exists($cleanUrl, $previews) ? str_replace($websiteHelper->getPath(), $websiteUrl, $previews[$cleanUrl]) : ''; if (!$path && $capIfNoPreview) { return $websiteUrl . 'system/images/noimage.png'; } return str_replace(DIRECTORY_SEPARATOR, '/', $path); } return $websiteUrl . 'system/images/noimage.png'; }
private function _proccessImages(array $images, $path, $folder, $type) { if (!empty($images)) { $imagesContent = ''; $srcPath = $this->_helper->website->getUrl() . $this->_helper->website->getMedia() . $folder; foreach ($images as $key => $image) { $srcPath = Tools_Content_Tools::applyMediaServers($srcPath); $imageName = preg_replace('~\\.(jpg|png|gif|jpeg)~i', '', $image); $imageSize = getimagesize($path . '/' . $type . '/' . $image); $imageElement = htmlspecialchars('<a class="_lbox" href="' . $srcPath . '/' . self::IMG_CONTENTTYPE_ORIGINAL . '/' . $image . '" title="' . str_replace('-', ' ', $imageName) . '"><img border="0" alt="' . str_replace('-', ' ', $imageName) . '" src="' . $srcPath . '/' . $type . '/' . $image . '" width="' . $imageSize[0] . '" height="' . $imageSize[1] . '" /></a>'); $imagesContent .= '<a href="javascript:;" onmousedown="$(\'#content\').tinymce().execCommand(\'mceInsertContent\', false, \'' . $imageElement . '\');">'; $imagesContent .= '<img title="' . $image . '" border="0" width="80" src="' . $srcPath . '/product/' . $image . '" /></a>'; } return $imagesContent; } }