b0y-101 Mini Shell


Current Path : E:/www/instructor/teacher20/administrator/components/com_eventgallery/controllers/
File Upload :
Current File : E:/www/instructor/teacher20/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);
    }
}

Copyright © 2019 by b0y-101