Сразу к делу.
в
modules/top10.phpдобавь после последнего присваивания переменной $images
if ($image=='') $image="{THEME}/images/".$san_top10[7];
ЭТО:
/*
От "Отличный алгоритм" на http://www.zhitenev.ru/php-proportsionalnoe-umenshenie-izobrazheniya/comment-page-2/
*/
$image2 = $image;
if ($image<>''){
$scry = parse_url($image, PHP_URL_PATH);
$scry = str_replace('/', '', $scry);
if (file_exists (ENGINE_DIR."/../uploads/copy/".$scry)){
$image = 'http://'.$_SERVER['HTTP_HOST'].'/uploads/copy/'.$scry;
}
else{
$source = $image;
$newWidth = '100';
$sizeArr=GetImageSize ($source);
$iw=$sizeArr[0];
if ($newWidth >= $iw);
$ih=$sizeArr[1];
$koe=$iw/$newWidth;
if ($koe > 0){
$new_h=ceil ($ih/$koe);
$type=$sizeArr[2];
if ($type==1){
$src=imagecreatefromgif ($source);
}
if ($type==2){
$src=imagecreatefromjpeg ($source);
}
if ($type==3){
$src= imagecreatefrompng ($source);
}
$dst=ImageCreateTrueColor ($newWidth, $new_h);
ImageCopyResampled ($dst, $src, 0, 0, 0, 0, $newWidth, $new_h, ImageSX ($src), ImageSY ($src));
$image = ENGINE_DIR.'/../uploads/copy/'.$scry;
if ($type==1) imagegif ($dst, $image);
if ($type==2) imagejpeg ($dst, $image, 100);
if ($type==3) imagepng ($dst, $image, 0);
$image = 'http://'.$_SERVER['HTTP_HOST'].'/uploads/copy/'.$scry;
}//if koe > 0
else{
$image = 'http://'.$_SERVER['HTTP_HOST'].'/uploads/adg.gif';
}
}//end else
}//if <> ''
else{
$image = 'http://'.$_SERVER['HTTP_HOST'].'/uploads/adg.gif';
}
//$best-game.info
Думаю всё в коде понятно, комментарии излишне.)
Кто оптимизирует код просим сюда:)
Только я код ещё не доработал.
Там почему-то не работает если не существует изображение большое не показывает заглушку. Короче этот код я постоянно дописываю и его увидите в коментах на 6dle.
В
$images2 будет большое изображение.
Внизу кода добавь
$tpl->set('{image2}', $image2);
под или перед:
$tpl->set('{image}', $image);
P.S. Создай папку
copy в
uploads и поставь на неё права
777P.P.S. Стукани автору в асю и поделись кодом.
===
Мой шаб:
<img src="{image}" alt="{title}, {descr}" onclick="javascript:window.open('{href}';return false;" onmouseover="showhint('{title}<br /><img style="border: 1px solid #999999;" src="{image2}" width="350"><br />{rate} | {news_read}<br /> {descr}',this, event, '350px' ">
{newline}
Внимание! У вас нет прав для просмотра скрытого текста.
).
Только для
6dle.ruЗ.З.Ы. Скоро добавлю кэш php скрипта.