Server :
Apache
System :
Linux server1.cbinetwhm.bi 4.18.0-553.123.1.el8_10.x86_64 #1 SMP Tue May 5 04:00:43 EDT 2026 x86_64
User :
fenacobu (1017)
PHP Version :
8.1.34
Disable Functions :
NONE
Current Directory :
/home/fenacobu/www/plugins/ajax/helix3/classes/
Directory Status:
Writeable | Document Root:
Writeable
Upload File
Viewing: /home/fenacobu/www/plugins/ajax/helix3/classes/image.php
<?php
/**
* @package Helix3 Framework
* @author JoomShaper https://www.joomshaper.com
* @copyright (c) 2010 - 2026 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
*/
//no direct accees
defined('_JEXEC') or die('resticted aceess');
class Helix3Image
{
public static function createThumbs($src, $folder, $base_name, $ext, $sizes = [])
{
list($originalWidth, $originalHeight) = getimagesize($src);
$img = null;
switch ($ext) {
case 'bmp':
$img = imagecreatefromwbmp($src);
break;
case 'gif':
$img = imagecreatefromgif($src);
break;
case 'jpg':
case 'jpeg':
$img = imagecreatefromjpeg($src);
break;
case 'png':
$img = imagecreatefrompng($src);
break;
case 'webp':
if (function_exists('imagecreatefromwebp')) {
$img = imagecreatefromwebp($src);
}
break;
}
if (!$img) {
return false;
}
if (count($sizes)) {
$output = [];
if ($base_name) {
$output['original'] = $folder . '/' . $base_name . '.' . $ext;
}
foreach ($sizes as $key => $size) {
$targetWidth = $size[0];
$targetHeight = $size[1];
$ratio_thumb = $targetWidth / $targetHeight;
$ratio_original = $originalWidth / $originalHeight;
if ($ratio_original >= $ratio_thumb) {
$height = $originalHeight;
$width = ceil(($height * $targetWidth) / $targetHeight);
$x = ceil(($originalWidth - $width) / 2);
$y = 0;
} else {
$width = $originalWidth;
$height = ceil(($width * $targetHeight) / $targetWidth);
$y = ceil(($originalHeight - $height) / 2);
$x = 0;
}
$new = imagecreatetruecolor($targetWidth, $targetHeight);
if ($ext === 'gif' || $ext === 'png' || $ext === 'webp') {
imagecolortransparent($new, imagecolorallocatealpha($new, 0, 0, 0, 100));
imagealphablending($new, false);
imagesavealpha($new, true);
}
imagecopyresampled($new, $img, 0, 0, $x, $y, $targetWidth, $targetHeight, $width, $height);
if ($base_name) {
$dest = dirname($src) . '/' . $base_name . '_' . $key . '.' . $ext;
$output[$key] = $folder . '/' . $base_name . '_' . $key . '.' . $ext;
} else {
$dest = $folder . '/' . $key . '.' . $ext;
}
switch ($ext) {
case 'bmp':
imagewbmp($new, $dest);
break;
case 'gif':
imagegif($new, $dest);
break;
case 'jpg':
case 'jpeg':
imagejpeg($new, $dest, 100);
break;
case 'png':
imagepng($new, $dest);
break;
case 'webp':
if (function_exists('imagewebp')) {
imagewebp($new, $dest, 100);
}
break;
}
}
return $output;
}
return false;
}
}
Cyb3r Drag0nz Team • Google Edition