Регистрация

Signature Images Fixer

TipTop 29-08-2009, 18:44 1866 Хаки DLE

Практически во всех версиях движка присутствует возможность указания картинок в подписи. Огромным минусом этого является то, что их размер не контролируется. Т. е. запросто можно было добавить картинку хоть 1024 x 768! Приколитесь, такая подпись, да?!

Теперь настал конец такому произволу! Данный Хак не позволит опубликовать картинку больше указанных размеров! Да он еще не позволит опубликовать несуществующую картинку!

Работать будет практически на всех версиях движка.

1) Открываем ENGINE_DIR."/modules/profile.php"

находим:

$stop .= $lang['news_err_22'];
    }



добавляем ниже:

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Signature Images Fixer (c) 2009 Acuna
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

$replace_a = preg_replace ("'.*?[url.*?](.*?)[/url].*?'si", "1", $_POST['signature']); // Выдираем код картинок из подписи
$replace = preg_replace ("'.*?[img.*?](.*?)[/img].*?'si", "1", $replace_a);  // Теперь выдираем ссылки на них

$explode = explode (" ", $replace); // Разбиваем полученную строку на разные картинки
$count = count ($explode); // Считаем кол-во картинок

foreach (range(0, $count-1) as $number) // Сажаем на счетчик
{

$link = $explode[$number]; // Финальная ссылка
$name = basename ($link); // Имя картинки

$type = explode (".", $name); // Получаем расширение
$end = end ($type); // Переходим к последнему элементу массива

if (is_file ($link))
  {
if ($end == "jpg") $img = imagecreatefromjpeg ($name); // Создаем изображения
if ($end == "gif") $img = imagecreatefromgif ($name);
if ($end == "png") $img = imagecreatefrompng ($name);
if ($end == "bmp") $img = imagecreatefrombmp ($name);

} else {

$find = array ('{%name%}');
$replace = array ($name);

$not_found_mess = str_replace ($find, $replace, $lang['reg_pic_notfound']);

$stop .= $not_found_mess;

}

if ($img) // Проверяем, получилось-ли
  {
$width = @imagesx ($img); // Получаем длину картинки
$height = @imagesy ($img); // Получаем высоту картинки

if ($width > 350 or $height > 19) // Сравниваем
    {

$find = array ('{%name%}', '{%width%}', '{%height%}');
$replace = array ($name, "350", "19");

$mess_error = str_replace ($find, $replace, $lang['reg_pic_big']);

$stop .= $mess_error;

    }
  }
}

// Вот и все! :) !!! СЛАВА СИМПСОНАМ !!!

// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
///Signature Images Fixer (c) 2009 Acuna
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



2) Открываем ROOT_DIR."
/language/Russian/website.lng
"

находим:

'pm_del'            =>    "удалить",


добавляем ниже:

'reg_pic_big' => "<li>Картинка <b>{%name%}</b> слишком большая! Размер картинки в подписи может быть не более {%width%} по горизонтали, и {%height%} по вертикали</li>",

'reg_pic_notfound' => "<li>Картинка {%name%} не существует!</li>",


3) Меняем "350" и "19" на нужные нам максимальные размеры.

Вот и все! :) !!!

Похожие новости

Хак attachment для незарегистрированных пользователей / DLE 10.2

Данный хак для DLE дает для незарегистрированных пользователей при клике на attachment вывести

03.07.14 Хаки DLE
Простое решение против спамеров

Всех уже достали эти спамеры, регистрируются и оставляют комменты с рекламой или бессмысленными

10.08.09 Хаки DLE
Меняем ссылку атачмента на картинку

Надоел старый атачмент? Его можно заменить на картинку. Подробнее читаем в полной новости

11.07.09 Хаки DLE

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Powered by Dleshka.org. Сайт предназначен для ознакомления и последующим использованием CMS DataLife Engine.
Закрыть