Files
idpan.poznan.pl/administrator/components/com_quantummanager/controllers/quantumviewfiles.php
2026-02-08 21:16:11 +01:00

361 lines
8.4 KiB
PHP

<?php
/**
* @package quantummanager
* @author Dmitry Tsymbal <cymbal@delo-design.ru>
* @copyright Copyright © 2019 Delo Design & NorrNext. All rights reserved.
* @license GNU General Public License version 3 or later; see license.txt
* @link https://www.norrnext.com
*/
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
JLoader::register('QuantummanagerController', JPATH_ADMINISTRATOR . '/components/com_quantummanager/controller.php');
/**
* Class QuantummanagerControllerquantumviewfiles
*/
class QuantummanagerControllerQuantumviewfiles extends QuantummanagerController
{
public function createDirectory()
{
$app = Factory::getApplication();
$data = $app->input->getArray();
if (!isset($data['path'], $data['name'], $data['scope']))
{
$app->close();
}
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
echo QuantummanagerFileSystemLocal::createDirectory($data['path'], $data['scope'], $data['name']);
QuantummanagerHelper::setHeadersNoCache();
$app->close();
}
public function getFiles()
{
$app = Factory::getApplication();
$data = $app->input->getArray();
if (!isset($data['path'], $data['scope']))
{
$app->close();
}
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
echo QuantummanagerFileSystemLocal::getFiles($data['path'], $data['scope']);
QuantummanagerHelper::setHeadersNoCache();
$app->close();
}
public function getMetaFile()
{
$app = Factory::getApplication();
$data = $app->input->getArray();
if (!isset($data['path'], $data['scope']))
{
$app->close();
}
$name = '';
if (isset($data['name']))
{
$name = $data['name'];
}
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
echo QuantummanagerFileSystemLocal::getMetaFile($data['path'], $data['scope'], $name);
QuantummanagerHelper::setHeadersNoCache();
$app->close();
}
public function watermark()
{
$app = Factory::getApplication();
$data = $app->input->getArray();
if (!isset($data['path'], $data['scope']))
{
$app->close();
}
$list = '';
if (isset($data['list']))
{
$list = json_decode($data['list']);
}
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
echo QuantummanagerFileSystemLocal::setWatermark($data['path'], $data['scope'], $list);
QuantummanagerHelper::setHeadersNoCache();
$app->close();
}
public function duplicate()
{
$app = Factory::getApplication();
$data = $app->input->getArray();
if (!isset(
$data['path'],
$data['scope'],
$data['list'])
)
{
$app->close();
}
$path = $data['path'];
$scope = $data['scope'];
$list = json_decode($data['list'], JSON_OBJECT_AS_ARRAY);
if (count($list) === 0)
{
$app->close();
}
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
echo QuantummanagerFileSystemLocal::duplicate($path, $scope, $list);
QuantummanagerHelper::setHeadersNoCache();
$app->close();
}
public function paste()
{
$app = Factory::getApplication();
$data = $app->input->getArray();
if (!isset(
$data['pathFrom'],
$data['scopeFrom'],
$data['pathTo'],
$data['scopeTo'],
$data['cut'],
$data['list'])
)
{
$app->close();
}
$pathFrom = $data['pathFrom'];
$scopeFrom = $data['scopeFrom'];
$pathTo = $data['pathTo'];
$scopeTo = $data['scopeTo'];
$cut = (int) $data['cut'];
$list = json_decode($data['list'], JSON_OBJECT_AS_ARRAY);
if (count($list) === 0)
{
$app->close();
}
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
echo QuantummanagerFileSystemLocal::paste($pathFrom, $scopeFrom, $pathTo, $scopeTo, $cut, $list);
QuantummanagerHelper::setHeadersNoCache();
$app->close();
}
public function delete()
{
$app = Factory::getApplication();
$data = $app->input->getArray();
if (!isset($data['path'], $data['list'], $data['scope']))
{
$app->close();
}
$path = $data['path'];
$scope = $data['scope'];
$list = json_decode($data['list']);
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
echo QuantummanagerFileSystemLocal::delete($scope, $path, $list);
QuantummanagerHelper::setHeadersNoCache();
$app->close();
}
public function getParsePath()
{
try
{
$app = Factory::getApplication();
$data = $app->input->getArray();
if (!isset($data['path'], $data['scope']))
{
$app->close();
}
$path = $data['path'];
$scope = $data['scope'];
$host = '';
if (isset($data['host']))
{
$host = $data['host'];
}
JLoader::register('QuantummanagerHelper', JPATH_ROOT . '/administrator/components/com_quantummanager/helpers/quantummanager.php');
echo json_encode([
'path' => QuantummanagerHelper::preparePath($path, $host, $scope, true)
]);
QuantummanagerHelper::setHeadersNoCache();
$app->close();
}
catch (Exception $e)
{
echo $e->getMessage();
}
}
public function renameFile()
{
try
{
$app = Factory::getApplication();
$data = $app->input->getArray();
$file = '';
if (!isset($data['path'], $data['scope'], $data['file'], $data['name']))
{
$app->close();
}
if (empty($data['path']) || empty($data['scope']) || empty($data['file']) || empty($data['name']))
{
$app->close();
}
$path = $data['path'];
$scope = $data['scope'];
$file = $data['file'];
$name = $data['name'];
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
echo QuantummanagerFileSystemLocal::renameFile($path, $scope, $file, $name);
QuantummanagerHelper::setHeadersNoCache();
$app->close();
}
catch (Exception $e)
{
echo $e->getMessage();
}
}
public function renameDirectory()
{
try
{
$app = Factory::getApplication();
$data = $app->input->getArray();
$file = '';
if (!isset($data['path'], $data['scope'], $data['oldName'], $data['name']))
{
$app->close();
}
if (empty($data['path']) || empty($data['scope']) || empty($data['oldName']) || empty($data['name']))
{
$app->close();
}
$path = $data['path'];
$scope = $data['scope'];
$oldName = $data['oldName'];
$name = $data['name'];
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
echo QuantummanagerFileSystemLocal::renameDirectory($path, $scope, $oldName, $name);
QuantummanagerHelper::setHeadersNoCache();
$app->close();
}
catch (Exception $e)
{
echo $e->getMessage();
}
}
public function generatePreviewImage()
{
try
{
$app = Factory::getApplication();
$data = $app->input->getArray();
$file = '';
if (!isset($data['path'], $data['scope']))
{
$app->close();
}
$path = $data['path'];
$scope = $data['scope'];
if (isset($data['file']))
{
$file = $data['file'];
}
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
QuantummanagerFileSystemLocal::generatePreviewImage($path, $scope, $file);
QuantummanagerHelper::setHeadersNoCache();
$app->close();
}
catch (Exception $e)
{
echo $e->getMessage();
}
}
public function createPreview()
{
try
{
$app = Factory::getApplication();
$data = $app->input->getArray();
$file = '';
if (!isset($data['path'], $data['scope'], $data['list'], $data['preview']))
{
$app->close();
}
$path = $data['path'];
$scope = $data['scope'];
$list = json_decode($data['list'], true);
$preview = $data['preview'];
JLoader::register('QuantummanagerFileSystemLocal', JPATH_ROOT . '/administrator/components/com_quantummanager/filesystem/local.php');
echo QuantummanagerFileSystemLocal::createPreview($path, $scope, $list, $preview);
QuantummanagerHelper::setHeadersNoCache();
$app->close();
}
catch (Exception $e)
{
echo $e->getMessage();
}
}
}