Google

Cyb3r Drag0nz Team Shell

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