Файл: work/logo/image.php
Строк: 48
<?php
# Гет раппределители которые сразуже обрабатываюсться на удаление хтмл тэгов
$p_font = $_GET['font']; # Шрифт
$p_text = $_GET['text']; # Текст
$p_angle = $_GET['angle']; # Угол наклона
$p_bg1 = $_GET['bg1']; # Фон Rgb
$p_bg2 = $_GET['bg2']; # Фон rGb
$p_bg3 = $_GET['bg3']; # Фон rgB
$p_txtcolor1 = $_GET['txtcolor1']; # Цет теста Rgb
$p_txtcolor2 = $_GET['txtcolor2']; # Цет теста rGb
$p_txtcolor3 = $_GET['txtcolor3']; # Цет теста rgB
$p_size = $_GET['size']; # Размер шрифта
$p_format = $_GET['format']; # Формат изображения
$b_alpha = $_GET['b_alpha']; # Параметр прозрачности
if (preg_match('/[A-Za-zа-яА-Я,$><'`;/\&#.:*@!%^(,)]/', $p_angle . $p_size))
{
echo 'Запрещенные символы!';
echo '« <a href="create.php?">Назад</a><br/>
« <a href="/work/?">В раздел</a><br/>';
include '../../style/foot.php';
exit();
}
if (preg_match('/[A-Za-zа-яА-Я,$><'`;/\&#.:*@!%^(,)]/', $b_alpha))
{
echo 'Прозрачность должна быть 0-127!';
echo '« <a href="create.php?">Назад</a><br/>
« <a href="/work/?">В раздел</a><br/>';
include '../../style/foot.php';
exit();
}
if (preg_match('/[J-Zj-zа-яА-Я,$><'`;/\&#.:*@!%^(,)]/', $p_bg1 . $p_bg2 . $p_bg3 . $p_txtcolor1 . $p_txtcolor2 . $p_txtcolor3))
{
echo 'Запрещенные символы!';
echo '« <a href="create.php?">Назад</a><br/>
« <a href="/work/?">В раздел</a><br/>';
include '../../style/foot.php';
exit();
}
if (!preg_match('/[a-zа-яё]/iu', $p_text))
{
echo 'Запрещенные символы!';
echo '« <a href="create.php?">Назад</a><br/>
« <a href="/work/?">В раздел</a><br/>';
include '../../style/foot.php';
exit();
}
# Если прозр. больше 127 установить 127 если меньше 0 установить 0 если не задано, установить 0
if ($b_alpha > 127) {
$b_alpha = 127;
}
elseif ($b_alpha == 0) {
$b_alpha = 0;
}
elseif ($b_alpha == '') {
$b_alpha = 0;
}
if ($p_font == '')
{
echo 'Нет шрифта!';
echo '« <a href="create.php?">Назад</a><br/>
« <a href="/work/?">В раздел</a><br/>';
include '../../style/foot.php';
exit();
}
if ($p_size > 40) { $p_size = 40; } # Если размер больше 40, задаем 40
if ($p_angle == '') { $p_angle = 0; } # Если поворот не задан, задать 0
if ($p_angle > 180) { $p_angle = 180; } # Если много задали, то снижать
if ($p_angle < -180) { $p_angle = '-180'; } # Если поворот больше -180 задать 180
if ($p_text == '') { $p_text = 'RADUGA.MOBI'; }
if ($p_text == $site) { $b_alpha = 127; $p_format = 'png'; }
# Установка пути по которому находиться нужный шрифт TrueType
$font = getcwd() . '/fonts/' . $p_font . '.ttf';
$angle = $p_angle; # Угол поворота
$font_size = $p_size; # Размер шрифта
$text = $p_text; # Выводимый текст
$pos = imagettfbbox($font_size, $angle, $font, $text);
# Определение параметров расположения текста
# Вычисление ширины изображения
$min_x = min($pos[0], $pos[2], $pos[4], $pos[6]);
$max_x = max($pos[0], $pos[2], $pos[4], $pos[6]);
$width = $max_x - $min_x + 1;
# Вычисление высоты изображения
$min_y = min($pos[1], $pos[3], $pos[5], $pos[7]);
$max_y = max($pos[1], $pos[3], $pos[5], $pos[7]);
$height = $max_y - $min_y + 1;
$im = imagecreate($width + 1, $height + 1); # Создание изображения
$bg = imagecolorallocatealpha($im, $p_bg1, $p_bg2, $p_bg3, $b_alpha);
$textcolor = imagecolorallocate($im, $p_txtcolor1, $p_txtcolor2, $p_txtcolor3);
# Устоновка цвета текста
imagettftext($im, $font_size, $angle, $pos[0] - $min_x, $pos[1] - $min_y, $textcolor, $font, $text);
# Вывод текста на изображение
if ($p_format == 'png') { @HEADER("Content-type: image/png"); imagepng($im); }
if ($p_format == 'gif') { @HEADER("Content-tupe: image/gif"); imagegif($im); }
if ($p_format == 'jpeg') { @HEADER("Content-type: image/jpeg"); imagejpeg($im, '', 100); }
imagedestroy($im);
?>