git-svn-id: https://192.168.0.254/svn/Proyectos.FundacionLQDVI_WebCongresos/trunk@2 94ccb1af-fd9d-d947-8d90-7f70ea60afc8
131 lines
3.7 KiB
PHP
131 lines
3.7 KiB
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);
|
|
}
|
|
}
|