Навигация
Главная
Бесплатные шаблоны dle
Платные шаблоны dle
Бесплатные модули dle
Хаки dle
Скачать DataLife Engine
Заработок для Web мастеров
Контакты
Rss
Вход на сайт
  Логин
  Пароль
Популярные новости
Реклама

Хак уменьшённые копии изображений в модуле TOP 10 для 6dle

Сразу к делу.
в 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 и поставь на неё права 777
P.P.S. Стукани автору в асю и поделись кодом.

===
Мой шаб:
<img src="{image}" alt="{title}, {descr}" onclick="javascript:window.open('{href}';return false;" onmouseover="showhint('{title}<br /><img style=&quot;border: 1px solid #999999;&quot; src=&quot;{image2}&quot; width=&quot;350&quot;><br />{rate} | {news_read}<br /> {descr}',this, event, '350px' ">
{newline}


Внимание! У Вас нет прав для просмотра скрытого текста.
).
Только для 6dle.ru
З.З.Ы. Скоро добавлю кэш php скрипта.

29 апреля 2010 добавил peter911
     просмотров 7268   комментариев (8)

написал l17l    30 апреля 2010 13:03   



 Группа: Посетители
 Регистрация: 25.05.2009
 Публикаций: 0
 Комментариев: 6
где пример я так понимаю твой сайт< загружка жесть сайта, долгая !

это из за этих топов ? походу


        

написал peter911    30 апреля 2010 15:45   



 Группа: Гости
 Регистрация: --
 Публикаций: 0
 Комментариев: 0
Сайт на говнохостинге, у которого глюченый серв в лос-анджелесе.
Даже сайт самого хостинга и cPanel долго открывается:)
+тяжёлый шаб с библиотеками jquery и ajax
Server Load 14.65 (4 cpus) !
Просто хост не следит за нагрузкой и кроном.

Кто поставил пример показывайте.

Начну разбор кода, если кому-то непонятно:
$image = 'http://'.$_SERVER['HTTP_HOST'].'/uploads/adg.gif'


;

-адрес заглушки
Ну это вроде всё что нужно объяснить

$newWidth = '100';

Внимание! У Вас нет прав для просмотра скрытого текста.


        

написал k0d1    2 мая 2010 01:00   



 Группа: Посетители
 Регистрация: 10.06.2009
 Публикаций: 9
 Комментариев: 1
не вижу в папке modules top10.php recourse
зы. dle 8.2


        

написал newsfon    4 мая 2010 05:58   



 Группа: Посетители
 Регистрация: 21.02.2009
 Публикаций: 0
 Комментариев: 1
Тоже не нашел modules/top10.php


        

написал peter911    4 мая 2010 23:22   



 Группа: Гости
 Регистрация: --
 Публикаций: 0
 Комментариев: 0
Цитата: k0d1
не вижу в папке modules top10.php recourse

Цитата: newsfon
Тоже не нашел modules/top10.php

Нужно установить модуль ТОП 10 (версия 2)
Вот сам модуль вроде:
_http://wfound.ru/cms/dle/dle_moduli/25757-modul-top-10-dlya-dle-83.html

Кэш мне объяснили для такого маленького куска кода не нужен, т. к. он не грузит сервер.


        

написал peter911    14 мая 2010 23:38   



 Группа: Гости
 Регистрация: --
 Публикаций: 0
 Комментариев: 0
Вопросы есть?


        

написал peter911    19 мая 2010 03:37   



 Группа: Гости
 Регистрация: --
 Публикаций: 0
 Комментариев: 0
Дополнение к хаку:
убрать строчку где Image='' ({template}/images/noavatar.png
Как то так короче :)

И добавить после $image2 = $image
$image = str_replace("{THEME}", "ПУТЬ К ВАШЕЙ ТЕМЕ НАСИНАЯ с HTTP", $image);


        

написал peter911    15 апреля 2011 20:28   



 Группа: Гости
 Регистрация: --
 Публикаций: 0
 Комментариев: 0
Код устарел, ко мне не обращайтесь


        

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.














Rambler's Top100

Яндекс цитирования