Проверка изображений в подписи

Проверка изображений в подписи 1.1.0

Нет прав для скачивания
Совместимость
не проверялся на совместимость
Изменения в БД
не требуются
Дополнительные требования
allow_url_fopen
Автор
Alex Kur
Общественное достояние
нет
Описание: добавляет возможность автоматической проверки изображений в подписи на соответствие условиям.

Настройка:
  • $width - максимально допустимый размер по ширине
  • $height - максимально допустимый размер по высоте
  • $size - максимальный размер изображений в байтах
  • $size_for_each - 'FALSE' - проверка суммарного веса изображений, 'TRUE' - проверка веса каждой картинки.
  • $count - максимально допустимое количество изображений в подписи
Инструкция по установке
OPEN

/includes/ucp/usercp_register.php

AFTER

$cur_pass_valid = $adm_edit;

ADD

function checkSignature( $line = NULL )
{

$width = 300; //(integer) Max width in pixels
$height = 100; //(integer) Max height in pixels
$size = 250 * 1024; //(integer) Max image size in bytes
$size_for_each = FALSE; //(boolean) Check size of each image, or check the sum
$count = 3; //(integer) Max images count

$totalsize = NULL;

$line = str_replace(" ","", $line);
preg_match_all('/\[img\]+(.+)\[\/img\]/Ui', $line, $images);

if( count( $images[1] ) > $count ) return 1;

foreach( $images[1] as $img)
{

$headers = get_headers( $img, true );
$imagedata = getimagesize( $img );

if( $headers[0] == 'HTTP/1.1 200 OK' )
{
if ( $headers['Content-Length'] > $size AND $size_for_each ) return 3;
if ( $imagedata[0] > $width or $imagedata[1] > $height ) return 2;

$totalsize = $totalsize + $headers['Content-Length'];
}

}

if( !$size_for_each AND $totalsize > $size ) return 3;

return 'success';

}

AFTER

else if (preg_match('#<(a|b|i|u|table|tr|td|img) #i', $sig) || preg_match('#(href|src|target|title)=#i', $sig))
{
$errors[] = $lang['SIGNATURE_ERROR_HTML'];
}

ADD

else if( checkSignature( $sig ) != 'success' )
{
switch( checkSignature( $sig ) )
{
case 1: $errors[] = $lang['SIGNATURE_ERROR_IMG_COUNT']; break;
case 2: $errors[] = $lang['SIGNATURE_ERROR_IMG_RESOLUTION']; break;
case 3: $errors[] = $lang['SIGNATURE_ERROR_IMG_SIZE']; break;
}
}

======LANGS=======

OPEN


AFTER

$lang['SIGNATURE_ERROR_HTML'] = 'The signature can contain only BBCode';

ADD

$lang['SIGNATURE_ERROR_IMG_SIZE'] = 'Current images size is not allowed in the signature';
$lang['SIGNATURE_ERROR_IMG_RESOLUTION'] = 'Current images resolution is not allowed in the signature';
$lang['SIGNATURE_ERROR_IMG_COUNT'] = 'Current images count is not allowed in the signature';

OPEN


AFTER

$lang['SIGNATURE_ERROR_HTML'] = 'Подпись может содержать только BBCode';

ADD

$lang['SIGNATURE_ERROR_IMG_SIZE'] = 'Преувеличен размер изображений в подписи';
$lang['SIGNATURE_ERROR_IMG_RESOLUTION'] = 'Недопустимое разрешение изображений в подписи';
$lang['SIGNATURE_ERROR_IMG_COUNT'] = 'Превышено максимально доступное количество изображений в подписи';

OPEN


AFTER

$lang['SIGNATURE_ERROR_HTML'] = 'Підпис може містити тільки BBCode';

ADD

$lang['SIGNATURE_ERROR_IMG_SIZE'] = 'Превищення максимального розміру зображень підпису';
$lang['SIGNATURE_ERROR_IMG_RESOLUTION'] = 'Превищення максимально дозволенної роздільної здатності зображень підпису';
$lang['SIGNATURE_ERROR_IMG_COUNT'] = 'Превищення максимальної кількості зображень підпису';
Автор
Alex Kur
Скачивания
12
Просмотры
130
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя Alex Kur

Последние обновления

  1. Обновление 1.1.0

    Обновлено описание ресурса Перепаковка в zip
Сверху