| Current Path : /home/smartconb/www/armencom33/cli/ |
| Current File : /home/smartconb/www/armencom33/cli/eventgallery-local-thumbnails.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
*/
// Set flag that this is a parent file.
const _JEXEC = 1;
error_reporting(E_ALL | E_NOTICE);
ini_set('display_errors', 1);
// Load system defines
if (file_exists(dirname(__DIR__) . '/defines.php'))
{
require_once dirname(__DIR__) . '/defines.php';
}
if (!defined('_JDEFINES'))
{
define('JPATH_BASE', dirname(__DIR__));
require_once JPATH_BASE . '/includes/defines.php';
}
require_once JPATH_LIBRARIES . '/import.legacy.php';
require_once JPATH_LIBRARIES . '/cms.php';
// Load the configuration
require_once JPATH_CONFIGURATION . '/configuration.php';
require_once JPATH_ROOT . '/components/com_eventgallery/vendor/autoload.php';
/**
* Job to sync the file system with the database
*
* @package Joomla.Cli
* @since 2.5
*/
class EventgalleryLocalThumbnails extends JApplicationCli
{
/** @noinspection PhpMissingParentConstructorInspection */
public function __construct(JInputCli $input = null, JRegistry $config = null, JEventDispatcher $dispatcher = null)
{
if (array_key_exists('REQUEST_METHOD', $_SERVER))
{
die('CLI only. Do not call this from the browser.');
}
}
/**
* Entry point for the script
*
* @return void
*
* @since 2.5
*/
public function doExecute()
{
echo " ================================================="."\n";
echo " Local Thumbnail Creator\n\n";
echo " This script calculates the thumbnails for your local images"."\n";
echo " "."\n\n";
echo " Command line options\n\n";
echo " calcthumbnails=[true|false]\n";
echo " use this to perform the thumbnail calculation. Default: false";
echo " "."\n";
echo " ================================================="."\n\n\n";
$doCalculateMissingThumbnails = false;
foreach ($_SERVER['argv'] as $arg) {
$e=explode("=",$arg);
if (count($e)==2) {
if (strcasecmp('calcthumbnails',$e[0]) == 0 && boolval($e[1])) {
$doCalculateMissingThumbnails = true;
}
}
}
define('JPATH_COMPONENT_ADMINISTRATOR', JPATH_ADMINISTRATOR . '/components/com_eventgallery');
define('JPATH_COMPONENT_SITE', JPATH_SITE . '/components/com_eventgallery');
$language = JFactory::getLanguage();
$language->load('com_eventgallery' , JPATH_COMPONENT_ADMINISTRATOR, $language->getTag(), true);
JLoader::registerPrefix('Eventgallery', JPATH_COMPONENT_SITE);
require_once(JPATH_COMPONENT_ADMINISTRATOR.'/models/thumbnailgenerator.php');
$localModel = JModelLegacy::getInstance('EventgalleryModelThumbnailgenerator', '', array('ignore_request' => true));
/**
* @var EventgalleryLibraryFactoryFile $fileFactory
* @var EventgalleryLibraryFileLocal $fileObject
* @var EventgalleryModelThumbnailcreator $localModel
*/
$fileFactory = EventgalleryLibraryFactoryFile::getInstance();
$folders = $localModel->getFolders([EventgalleryLibraryFolderLocal::ID]);
echo "\n\n=== Doing thumbnail creation for " . count($folders) . " folders ===\n\n";
foreach($folders as $folder) {
$files = $localModel->getFilesToSync($folder->getFolderName());
echo "Folder \"$folder\" needs thumbnails for " . count($files) . " files\n\n";
if ($doCalculateMissingThumbnails) {
foreach ($files as $file) {
echo " (Memory usage: " . memory_get_usage() . ") $folder - $file \n";
$file->createThumbnails();
}
}
echo "\n";
}
echo "Thumbnail creation finished.\n\n\n";
}
}
JApplicationCli::getInstance('EventgalleryLocalThumbnails')->execute();