| Current Path : /home/juvelize/www/administrator/components/com_icagenda/utilities/thumb/ |
| Current File : /home/juvelize/www/administrator/components/com_icagenda/utilities/thumb/thumb.php |
<?php
/**
*------------------------------------------------------------------------------
* iCagenda Events Management Extension for Joomla!
*------------------------------------------------------------------------------
* @version 3.8.21 2023-10-25
*
* @package iCagenda.Admin
* @subpackage utilities
* @link https://www.icagenda.com
*
* @author Cyril Rezé
* @copyright (c) 2012-2024 Cyril Rezé / iCagenda. All rights reserved.
* @license GNU General Public License version 3 or later; see LICENSE.txt
*
* @since 3.4
*------------------------------------------------------------------------------
*/
// No direct access to this file
defined('_JEXEC') or die();
/**
* class icagendaThumb
*/
class icagendaThumb
{
/**
* Return the LARGE thumbnail from an image
* Generated by iCagenda with Global Options settings
*
* @since 3.4.0
*/
static public function sizeLarge($image, $type = null, $checksize = null)
{
$thumbsPath = icagendaMedia::iCagendaThumbsPath();
$default = ['900','600','100', '0'];
// Options Large Size
$thumbOptions = JComponentHelper::getParams('com_icagenda')->get('thumb_large', []);
$options = self::getThumbOptions($thumbOptions, $default);
// Generate large thumb if not exist
$sizeLarge = iCThumbGet::thumbnail($image, $thumbsPath, 'themes', $options[0], $options[1], $options[2], $options[3], 'ic_large', $type, $checksize);
return $sizeLarge;
}
/**
* Return the MEDIUM thumbnail from an image
* Generated by iCagenda with Global Options settings
*
* @since 3.4.0
*/
static public function sizeMedium($image, $type = null, $checksize = null)
{
$thumbsPath = icagendaMedia::iCagendaThumbsPath();
$default = ['300','300','100', '0'];
// Options Medium Size
$thumbOptions = JComponentHelper::getParams('com_icagenda')->get('thumb_medium', []);
$options = self::getThumbOptions($thumbOptions, $default);
// Generate medium thumb if not exist
$sizeMedium = iCThumbGet::thumbnail($image, $thumbsPath, 'themes', $options[0], $options[1], $options[2], $options[3], 'ic_medium', $type, $checksize);
return $sizeMedium;
}
/**
* Return the SMALL thumbnail from an image
* Generated by iCagenda with Global Options settings
*
* @since 3.4.0
*/
static public function sizeSmall($image, $type = null, $checksize = null)
{
$thumbsPath = icagendaMedia::iCagendaThumbsPath();
$default = ['100','100','100', '0'];
// Options Small Size
$thumbOptions = JComponentHelper::getParams('com_icagenda')->get('thumb_small', []);
$options = self::getThumbOptions($thumbOptions, $default);
// Generate small thumb if not exist
$sizeSmall = iCThumbGet::thumbnail($image, $thumbsPath, 'themes', $options[0], $options[1], $options[2], $options[3], 'ic_small', $type, $checksize);
return $sizeSmall;
}
/**
* Return the SMALL thumbnail from an image
* Generated by iCagenda with Global Options settings
*
* @since 3.4.0
*/
static public function sizeXSmall($image, $type = null, $checksize = null)
{
$thumbsPath = icagendaMedia::iCagendaThumbsPath();
$default = ['48','48','100', '1'];
// Options XSmall Size
$thumbOptions = JComponentHelper::getParams('com_icagenda')->get('thumb_xsmall', []);
$options = self::getThumbOptions($thumbOptions, $default);
// Generate xsmall thumb if not exist
$sizeXSmall = iCThumbGet::thumbnail($image, $thumbsPath, 'themes', $options[0], $options[1], $options[2], $options[3], 'ic_xsmall', $type, $checksize);
return $sizeXSmall;
}
/**
* Return the iCagenda images path
*
* @Deprecated 3.8.19 - Use icagendaMedia::iCagendaThumbsPath()
*/
static public function iCagendaImagesPath()
{
JLog::add('icagendaThumb::iCagendaImagesPath() is deprecated. Use icagendaMedia::iCagendaThumbsPath() instead.', JLog::WARNING, 'deprecated');
return icagendaMedia::iCagendaThumbsPath();
}
/**
* Return the iCagenda images path
*
* @since 3.8.9
*/
static public function getThumbOptions($settings, $default)
{
$width = (isset($settings[0]) && is_numeric($settings[0])) ? (int) $settings[0] : $default[0];
$height = (isset($settings[1]) && is_numeric($settings[1])) ? (int) $settings[1] : $default[1];
$quality = (isset($settings[2]) && is_numeric($settings[2])) ? (int) $settings[2] : $default[2];
$crop = isset($settings[3]) ? !empty($settings[3]) : !empty($default[3]);
return [$width, $height, $quality, $crop];
}
}