?
Path : /home/admin/public_html/old/board/administrator/components/com_media/controllers/ |
Current File : /home/admin/public_html/old/board/administrator/components/com_media/controllers/folder.php |
<?php /** * @version $Id: folder.php 14401 2010-01-26 14:10:00Z louis $ * @package Joomla * @subpackage Media * @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved. * @license GNU/GPL, see LICENSE.php * Joomla! is free software. This version may have been modified pursuant to the * GNU General Public License, and as distributed it includes or is derivative * of works licensed under the GNU General Public License or other free or open * source software licenses. See COPYRIGHT.php for copyright notices and * details. */ // Check to ensure this file is included in Joomla! defined('_JEXEC') or die( 'Restricted access' ); jimport('joomla.filesystem.file'); jimport('joomla.filesystem.folder'); /** * Weblinks Weblink Controller * * @package Joomla * @subpackage Media * @since 1.5 */ class MediaControllerFolder extends MediaController { /** * Deletes paths from the current path * * @param string $listFolder The image directory to delete a file from * @since 1.5 */ function delete() { global $mainframe; JRequest::checkToken('request') or jexit( 'Invalid Token' ); // Set FTP credentials, if given jimport('joomla.client.helper'); JClientHelper::setCredentialsFromRequest('ftp'); // Get some data from the request $tmpl = JRequest::getCmd( 'tmpl' ); $paths = JRequest::getVar( 'rm', array(), '', 'array' ); $folder = JRequest::getVar( 'folder', '', '', 'path'); // Initialize variables $msg = array(); $ret = true; if (count($paths)) { foreach ($paths as $path) { if ($path !== JFile::makeSafe($path)) { JError::raiseWarning(100, JText::_('Unable to delete:').htmlspecialchars($path, ENT_COMPAT, 'UTF-8').' '.JText::_('WARNDIRNAME')); continue; } $fullPath = JPath::clean(COM_MEDIA_BASE.DS.$folder.DS.$path); if (is_file($fullPath)) { $ret |= !JFile::delete($fullPath); } else if (is_dir($fullPath)) { $files = JFolder::files($fullPath, '.', true); $canDelete = true; foreach ($files as $file) { if ($file != 'index.html') { $canDelete = false; } } if ($canDelete) { $ret |= !JFolder::delete($fullPath); } else { JError::raiseWarning(100, JText::_('Unable to delete:').$fullPath.' '.JText::_('Not Empty!')); } } } } if ($tmpl == 'component') { // We are inside the iframe $mainframe->redirect('index.php?option=com_media&view=mediaList&folder='.$folder.'&tmpl=component'); } else { $mainframe->redirect('index.php?option=com_media&folder='.$folder); } } /** * Create a folder * * @param string $path Path of the folder to create * @since 1.5 */ function create() { global $mainframe; // Check for request forgeries JRequest::checkToken() or jexit( 'Invalid Token' ); // Set FTP credentials, if given jimport('joomla.client.helper'); JClientHelper::setCredentialsFromRequest('ftp'); $folder = JRequest::getCmd( 'foldername', ''); $folderCheck = JRequest::getVar( 'foldername', null, '', 'string', JREQUEST_ALLOWRAW); $parent = JRequest::getVar( 'folderbase', '', '', 'path' ); JRequest::setVar('folder', $parent); if (($folderCheck !== null) && ($folder !== $folderCheck)) { $mainframe->redirect('index.php?option=com_media&folder='.$parent, JText::_('WARNDIRNAME')); } if (strlen($folder) > 0) { $path = JPath::clean(COM_MEDIA_BASE.DS.$parent.DS.$folder); if (!is_dir($path) && !is_file($path)) { jimport('joomla.filesystem.*'); JFolder::create($path); JFile::write($path.DS."index.html", "<html>\n<body bgcolor=\"#FFFFFF\">\n</body>\n</html>"); } JRequest::setVar('folder', ($parent) ? $parent.'/'.$folder : $folder); } $mainframe->redirect('index.php?option=com_media&folder='.$parent); } }