| Current Path : /home/megadansyp/www/administrator/components/com_eventgallery/controllers/ |
| Current File : /home/megadansyp/www/administrator/components/com_eventgallery/controllers/thumbnailgenerator.php |
<?php
/**
* @package Sven.Bluege
* @subpackage com_eventgallery
*
* @copyright Copyright (C) 2005 - 2019 Sven Bluege All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
defined('_JEXEC') or die;
jimport( 'joomla.application.component.controllerform' );
require_once(__DIR__.'/../controller.php');
class EventgalleryControllerThumbnailgenerator extends JControllerForm
{
/**
* The root folder for the physical images
*
* @var string
*/
protected $default_view = 'thumbnailgenerator';
public function getModel($name = 'Thumbnailgenerator', $prefix ='EventgalleryModel', $config = array('ignore_request' => true))
{
return parent::getModel($name, $prefix, $config);
}
/**
* just cancels this view
* @param null $key
* @return bool|void
*/
public function cancel($key = NULL) {
$this->setRedirect( 'index.php?option=com_eventgallery&view=events');
}
/**
* initializes the syncronization.
*
* @param bool $cachable
* @param array $urlparams
*/
public function init($cachable = false, $urlparams = array())
{
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
/**
* @var EventgalleryModelSync $model
*/
$model = $this->getModel();
/**
* @var EventgalleryLibraryFolder[] $existingfolders
*/
$existingfolders = $model->getFolders();
$result = [];
foreach($existingfolders as $folder) {
array_push($result, ['foldername' => $folder->getFolderName(), 'error'=>null, 'isNew'=>false, 'foldertype'=>$folder->getFolderType()->getId()]);
}
echo json_encode($result, JSON_PRETTY_PRINT);
}
public function processfolder(/** @noinspection PhpUnusedParameterInspection */$cachable = false, $urlparams = array()) {
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
$folder = $this->input->getString('folder','');
$refreshETagsStr = $this->input->getString('refreshetags', "true");
$refreshETags = !strcasecmp($refreshETagsStr, "false") == 0;
/**
* @var EventgalleryLibraryFile[] $files
*/
$files = $this->getModel()->getFilesToSync($folder, $refreshETags);
$filenames = [];
forEach($files as $file) {
array_push($filenames, $file->getFileName());
}
$result = Array();
$result['folder'] = htmlspecialchars($folder);
$result['status'] = 'sync';
$result['files'] = $filenames;
echo json_encode($result, JSON_PRETTY_PRINT);
}
public function processfile() {
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
$foldernames = $this->input->getString('folder','');
$filenames = $this->input->getString('file','');
if (!is_array($foldernames) || !is_array($filenames)) {
echo '[]';
return;
}
$result = [];
for($i=0; $i<count($foldernames); $i++) {
array_push($result, [
'foldername'=>$foldernames[$i],
'filename'=>$filenames[$i],
'sizes' => $this->getModel()->createThumbnails($foldernames[$i], $filenames[$i])
]);
}
echo json_encode($result, JSON_PRETTY_PRINT);
}
}