Back to PhocaGalleryFileThumbnail class

Method createFileThumbnail

public static
createFileThumbnail
(mixed $fileOriginal, mixed $fileThumbnail, mixed $size, mixed $frontUpload = 0, mixed &$errorMsg = '')

Method createFileThumbnail - Source code

public static function createFileThumbnail($fileOriginal, $fileThumbnail, $size, $frontUpload = 0, &$errorMsg = '')
{
    $paramsC = ComponentHelper::getParams('com_phocagallery');
    $enable_thumb_creation = $paramsC->get('enable_thumb_creation', 1);
    $watermarkParams['create'] = $paramsC->get('create_watermark', 0);
    // Watermark
    $watermarkParams['x'] = $paramsC->get('watermark_position_x', 'center');
    $watermarkParams['y'] = $paramsC->get('watermark_position_y', 'middle');
    $crop_thumbnail = $paramsC->get('crop_thumbnail', 5);
    // Crop or not
    $crop = null;
    switch ($size) {
        case 'small1':
        case 'small2':
        case 'small3':
        case 'medium1':
        case 'medium2':
        case 'medium3':
        case 'large1':
            $crop = 1;
            break;
        case 'small':
            if ($crop_thumbnail == 3 || $crop_thumbnail == 5 || $crop_thumbnail == 6 || $crop_thumbnail == 7) {
                $crop = 1;
            }
            break;
        case 'medium':
            if ($crop_thumbnail == 2 || $crop_thumbnail == 4 || $crop_thumbnail == 5 || $crop_thumbnail == 7) {
                $crop = 1;
            }
            break;
        case 'large':
        default:
            if ($crop_thumbnail == 1 || $crop_thumbnail == 4 || $crop_thumbnail == 6 || $crop_thumbnail == 7) {
                $crop = 1;
            }
            break;
    }
    // disable or enable the thumbnail creation
    if ($enable_thumb_creation == 1) {
        $fileResize = PhocaGalleryFileThumbnail::getThumbnailResize($size);
        if (File::exists($fileOriginal)) {
            //file doesn't exist, create thumbnail
            if (!File::exists($fileThumbnail)) {
                $errorMsg = 'Error4';
                //Don't do thumbnail if the file is smaller (width, height) than the possible thumbnail
                list($width, $height) = GetImageSize($fileOriginal);
                //larger
                phocagalleryimport('phocagallery.image.imagemagic');
                if ($width > $fileResize['width'] || $height > $fileResize['height']) {
                    $imageMagic = PhocaGalleryImageMagic::imageMagic($fileOriginal, $fileThumbnail, $fileResize['width'], $fileResize['height'], $crop, null, $watermarkParams, $frontUpload, $errorMsg);
                } else {
                    $imageMagic = PhocaGalleryImageMagic::imageMagic($fileOriginal, $fileThumbnail, $width, $height, $crop, null, $watermarkParams, $frontUpload, $errorMsg);
                }
                if ($imageMagic) {
                    return true;
                } else {
                    return false;
                    // error Msg will be taken from imageMagic
                }
            } else {
                $errorMsg = 'ThumbnailExists';
                //thumbnail exists
                return false;
            }
        } else {
            $errorMsg = 'ErrorFileOriginalNotExists';
            return false;
        }
        $errorMsg = 'Error3';
        return false;
    } else {
        $errorMsg = 'DisabledThumbCreation';
        // User have disabled the thumbanil creation e.g. because of error
        return false;
    }
}