Вход Регистрация
Файл: databasr/application/libraries/smarty/plugins/function.media.php
Строк: 67
<?php
function smarty_function_media($params, &$smarty)
{
    if (!
function_exists('current_url')) {
        if (!
function_exists('get_instance')) {
            
$smarty->trigger_error("url: Cannot load CodeIgniter");
            return;
        }
        
$CI = &get_instance();
        
$CI->load->helper('url');
    }


    
// Check if thumbs folder exists
    
if(!is_dir('media')) mkdir('media');
    if(!
is_dir('media/img')) mkdir('media/img');
    if(!
is_dir('media/img/thumbs')) mkdir('media/img/thumbs');

    
$CI = &get_instance();
    
$media $CI->media->byId($params['id']);

    
$width $params['width'] ?: 500;
    
$height $params['height'] ?: 500;

    
// check for user template no-images
    
$frontendTemplate $CI->settings->get('template-frontend');

    if(!
$media || !file_exists($media['fullpath'])) {

        
$holder $CI->settings->get('shop-article-image-placeholder');
        if(!empty(
$holder)) {
            return 
base_url($holder);
        }

        return 
base_url("templates/frontend/{$frontendTemplate}/images/holder/600x400.jpg");
    }

    
$thumbnailPath 'media/img/thumbs/' $width 'x' $height '_' $media['file'];

    
// force regenerate watermark image
    
$watermark $CI->settings->get('watermark');
    if(isset(
$params['watermark']) && $params['watermark'] && isset($watermark)) {
        
$thumbnailPath 'media/img/thumbs/' $width 'x' $height '_' '1' $media['file'];
    }

    if(
file_exists($thumbnailPath)) {
        return 
base_url($thumbnailPath);
    }

    
// Generate thumbnail if not exists
    
$CI->load->library('image');
    
$CI->image->load($media['fullpath']);

    
// Generate overlay if setting is enabled
    
$watermark $CI->settings->get('watermark');
    if(isset(
$params['watermark']) && $params['watermark'] && isset($watermark)) {
        
$CI->image->overlay($watermark'center center'.300);
    }

    
// Check if image fix scaling is available
    
$forceRatioBasedThumbnails false;

    
$ratio $CI->settings->get('theme-thumbs-ratio');

    if(!empty(
$ratio)) {
        
$ratioArray explode(':'$ratio);

        if(
count($ratioArray) == 2) {
            
$height = ($width $ratioArray[0]) * $ratioArray[1];
            
$height round($height);
        }

        if(
$height 0) {
            
$forceRatioBasedThumbnails true;
        }
    }

    if(isset(
$params['fix']) || $forceRatioBasedThumbnails) {
        
$CI->image->thumbnail($width$height);
    } else {
        
$CI->image->best_fit($width$height);
    }

    
$CI->image->save($thumbnailPath);

    
// Return original image if thumbnail could not been saved
    
if(!file_exists($thumbnailPath)) {
        return 
base_url($media['fullpath']);
    }

    return 
base_url($thumbnailPath);
}
Онлайн: 1
Реклама