| Current Path : /home/megadansyp/www/administrator/components/com_eventgallery/controllers/ |
| Current File : /home/megadansyp/www/administrator/components/com_eventgallery/controllers/rest.raw.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 EventgalleryControllerRest extends JControllerForm
{
public function getModel($name = 'Rest', $prefix = 'EventgalleryModel', $config = array('ignore_request' => true))
{
return parent::getModel($name, $prefix, $config);
}
/**
* returns all folders as JSON object
*
* @param bool $cachable
* @param array $urlparams
*/
public function folders($cachable = false, $urlparams = array())
{
$document = JFactory::getDocument();
$document->setMimeEncoding('application/json');
$data = [];
/**
* @var EventgalleryLibraryFactoryFolder $folderFactory
*/
$folderFactory = EventgalleryLibraryFactoryFolder::getInstance();
$folders = $folderFactory->getAllFolders();
foreach($folders as $folder) {
/**
* @var EventgalleryLibraryFolder $folder
*/
$data []= [
"id"=>$folder->getId(),
"folder"=>$folder->getFolderName(),
"name"=>$folder->getDisplayName(),
"published" => $folder->isPublished()];
}
echo json_encode($data, JSON_PRETTY_PRINT);
}
/**
* returns all folders as JSON object
*
* @param bool $cachable
* @param array $urlparams
*/
public function files($cachable = false, $urlparams = array())
{
$app = JFactory::getApplication();
$foldername = $app->input->getString('folder');
if ($foldername == null) {
return;
}
$document = JFactory::getDocument();
$document->setMimeEncoding('application/json');
$data = [];
/**
* @var EventgalleryLibraryFactoryFolder $folderFactory
*/
$folderFactory = EventgalleryLibraryFactoryFolder::getInstance();
/**
* @var EventgalleryLibraryFolder $folder
*/
$folder = $folderFactory->getFolder($foldername);
if ($folder == null) {
return;
}
foreach($folder->getFiles() as $file) {
/**
* @var EventgalleryLibraryFile $file
*/
$data []= [
"id"=>$file->getId(),
"folder"=>$file->getFolderName(),
"file"=>$file->getFileName(),
"thumb"=>$file->getThumbUrl(250),
"published" => $folder->isPublished(),
];
}
echo json_encode($data, JSON_PRETTY_PRINT);
}
public function numberofmissingthumbnails() {
$document = JFactory::getDocument();
$document->setMimeEncoding('application/json');
$config = \Joomla\Component\Eventgallery\Site\Library\Configuration\Main::getInstance();
$data = [];
$count = 0;
/**
* @var EventgalleryLibraryFactoryFolder $folderFactory
*/
$folderFactory = EventgalleryLibraryFactoryFolder::getInstance();
$folders = $folderFactory->getAllFolders();
foreach ($folders as $folder) {
/**
* @var EventgalleryLibraryFolder $folder
*/
if (($config->getImage()->doUsePrecalculatedThumbnailsForLocalFiles() && $folder->getFolderType()->getId() == EventgalleryLibraryFolderLocal::ID) || $folder->getFolderType()->getId() == EventgalleryLibraryFolderS3::ID) {
/**
* @var EventgalleryLibraryFolderLocal $folder
*/
$files = $folder->getFilesToSync();
if ($files) {
$count += count($files);
}
}
}
$data['numberOfMissingThumbnails'] = $count;
echo json_encode($data, JSON_PRETTY_PRINT);
}
}