130 lines
4.2 KiB
PHP
130 lines
4.2 KiB
PHP
<?php
|
|
/*
|
|
* @package Joomla.Framework
|
|
* @copyright Copyright (C) 2005 - 2010 Open Source Matters, Inc. All rights reserved.
|
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
|
*
|
|
* @component Phoca Component
|
|
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU General Public License version 2 or later;
|
|
*/
|
|
defined('_JEXEC') or die( 'Restricted access' );
|
|
use Joomla\CMS\Factory;
|
|
use Joomla\CMS\Session\Session;
|
|
use Joomla\CMS\Client\ClientHelper;
|
|
use Joomla\CMS\Component\ComponentHelper;
|
|
use Joomla\CMS\Language\Text;
|
|
use Joomla\CMS\Filesystem\Path;
|
|
use Joomla\CMS\Filesystem\Folder;
|
|
use Joomla\CMS\Filesystem\File;
|
|
jimport('joomla.client.helper');
|
|
jimport('joomla.filesystem.file');
|
|
jimport('joomla.filesystem.folder');
|
|
|
|
class PhocaDownloadCpControllerPhocaDownloadUpload extends PhocaDownloadCpController
|
|
{
|
|
function __construct() {
|
|
parent::__construct();
|
|
}
|
|
|
|
function createfolder() {
|
|
$app = Factory::getApplication();
|
|
// Check for request forgeries
|
|
Session::checkToken() or jexit( 'COM_PHOCADOWNLOAD_INVALID_TOKEN' );
|
|
|
|
// Set FTP credentials, if given
|
|
jimport('joomla.client.helper');
|
|
ClientHelper::setCredentialsFromRequest('ftp');
|
|
|
|
$paramsC = ComponentHelper::getParams('com_phocadownload');
|
|
$folder_permissions = $paramsC->get( 'folder_permissions', 0755 );
|
|
//$folder_permissions = octdec((int)$folder_permissions);
|
|
|
|
|
|
$folderNew = Factory::getApplication()->input->getCmd( 'foldername', '');
|
|
$folderCheck = Factory::getApplication()->input->get( 'foldername', null, 'string');
|
|
$parent = Factory::getApplication()->input->get( 'folderbase', '', 'path' );
|
|
$tab = Factory::getApplication()->input->get( 'tab', 0, 'string' );
|
|
$field = Factory::getApplication()->input->get( 'field');
|
|
$viewBack = Factory::getApplication()->input->get( 'viewback', '', 'phocadownloadmanager' );
|
|
$manager = Factory::getApplication()->input->get( 'manager', 'file', 'string' );
|
|
|
|
|
|
$link = '';
|
|
if ($manager != '') {
|
|
$group = PhocaDownloadSettings::getManagerGroup($manager);
|
|
$link = 'index.php?option=com_phocadownload&view='.(string)$viewBack.'&manager='.(string)$manager
|
|
.str_replace('&', '&', $group['c']).'&folder='.$parent.'&tab='.(string)$tab.'&field='.$field;
|
|
|
|
$path = PhocaDownloadPath::getPathSet($manager);// we use viewback to get right path
|
|
} else {
|
|
|
|
$app->enqueueMessage( Text::_('COM_PHOCADOWNLOAD_ERROR_CONTROLLER_MANAGER_NOT_SET'));
|
|
$app->redirect('index.php?option=com_phocadownload');
|
|
exit;
|
|
}
|
|
|
|
Factory::getApplication()->input->set('folder', $parent);
|
|
|
|
if (($folderCheck !== null) && ($folderNew !== $folderCheck)) {
|
|
$app->enqueueMessage( Text::_('COM_PHOCADOWNLOAD_WARNING_DIRNAME'));
|
|
$app->redirect($link);
|
|
}
|
|
|
|
|
|
if (strlen($folderNew) > 0) {
|
|
$folder = Path::clean($path['orig_abs_ds'].$parent.'/'.$folderNew);
|
|
|
|
if (!Folder::exists($folder) && !File::exists($folder)) {
|
|
//JFolder::create($path, $folder_permissions );
|
|
|
|
switch((int)$folder_permissions) {
|
|
case 777:
|
|
Folder::create($folder, 0777 );
|
|
break;
|
|
case 705:
|
|
Folder::create($folder, 0705 );
|
|
break;
|
|
case 666:
|
|
Folder::create($folder, 0666 );
|
|
break;
|
|
case 644:
|
|
Folder::create($folder, 0644 );
|
|
break;
|
|
case 755:
|
|
Default:
|
|
Folder::create($folder, 0755 );
|
|
break;
|
|
}
|
|
if (isset($folder)) {
|
|
$data = "<html>\n<body bgcolor=\"#FFFFFF\">\n</body>\n</html>";
|
|
File::write($folder.'/'."index.html", $data);
|
|
} else {
|
|
$app->enqueueMessage(Text::_("COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING"), 'error');
|
|
$app->redirect($link);
|
|
}
|
|
|
|
$app->enqueueMessage(Text::_("COM_PHOCADOWNLOAD_SUCCESS_FOLDER_CREATING"), 'success');
|
|
$app->redirect($link);
|
|
} else {
|
|
$app->enqueueMessage(Text::_("COM_PHOCADOWNLOAD_ERROR_FOLDER_CREATING_EXISTS"), 'error');
|
|
$app->redirect($link);
|
|
}
|
|
//JFactory::getApplication()->input->set('folder', ($parent) ? $parent.'/'.$folder : $folder);
|
|
}
|
|
$app->redirect($link);
|
|
}
|
|
|
|
function multipleupload() {
|
|
$result = PhocaDownloadFileUpload::realMultipleUpload();
|
|
return true;
|
|
}
|
|
|
|
function upload() {
|
|
$result = PhocaDownloadFileUpload::realSingleUpload();
|
|
return true;
|
|
}
|
|
|
|
|
|
}
|