<?php

/**
 * @package     JohnCMS
 * @link        http://johncms.com
 * @copyright   Copyright (C) 2008-2011 JohnCMS Community
 * @license     LICENSE.txt (see attached file)
 * @version     VERSION.txt (see attached file)
 * @author      http://johncms.com/about
 */

define("_IN_JOHNCMS", 1);
require("../incfiles/core.php");

function copyright($img)
{
global $set;
if ($copy=@imagecreatefromstring(file_get_contents('../images/v4ate_3.png')))
{
	$img_x=imagesx($img);
	$img_y=imagesy($img);
	$copy_x=imagesx($copy);
	$copy_y=imagesy($copy);
	$w=intval(min($img_x/2.5,$copy_x,128));
	$h=intval(min($img_y/2.5,$copy_y,64));
	$x_ratio = $w/$copy_x; 
	$y_ratio = $h/$copy_y; 
	if (($copy_x <= $w) && ($img_y <= $h))
	{
		$dstW = $copy_x;
		$dstH = $copy_y;
	} 
	elseif (($x_ratio * $copy_y) < $h)
	{ 
		$dstH = ceil($x_ratio * $copy_y);
		$dstW = $w;
	}
	else
	{
		$dstW = ceil($y_ratio * $copy_x);
		$dstH = $h;
	}
	imagecopyresampled($img, $copy, $img_x-$dstW, $img_y-$dstH, 0, 0, $dstW, $dstH, $copy_x, $copy_y);

	}
return $img;
}

if(isset($_GET['del']) && $_GET['del']!=NULL && $rights >= 7){
	unlink('../make_dem/demotivators/'.htmlspecialchars(trim($_GET['del'])).'.jpg');
	mysql_query("DELETE FROM `dems` WHERE `time` = '".abs(intval($_GET['del']))."'");
	header('Location: index.php');
}

if(isset($_GET['mod']) && $_GET['mod']!=NULL && $rights >= 7){
	mysql_query("UPDATE `dems` SET `mod` = 1 WHERE `time` = '".abs(intval($_GET['mod']))."'");
	header('Location: index.php');
}

switch($act){
case 'add':

$textl = "Демотиваторы - Добавление";
$headmod = "make_dem";
require("../incfiles/head.php");

echo'<div class="phdr"><a href="index.php">Демотиваторы</a> | Добавление</div>';
if(!$user_id)
	header('Location: index.php');
if (isset($_FILES['file'])){
	if (preg_match('#\.jpe?g$#i',$_FILES['file']['name']) && $imgc= imagecreatefromjpeg($_FILES['file']['tmp_name']))
	{
		$img_x=imagesx($imgc);
		$img_y=imagesy($imgc);
		if(!$_POST['t1'] && !$_POST['t2']){
			echo '<div class="rmenu">Не указан текст</div>';
			echo '<div class="phdr"><a href="index.php">Демотиваторы</a> | Добавление</div>';
			break;
		}
		$cool=$img_y*0.03;
		if(isset($_POST['t1']) && $_POST['t1'])
			$cool=$cool+$img_y*0.09;
		if(isset($_POST['t2']) && $_POST['t2'])
			$cool=$cool+$img_y*0.09;
		$screen=imagecreatetruecolor($img_x*1.08, $img_y*1.08+$cool);
		$white = imagecolorallocate($screen, 255, 255, 255);
		imagefilledrectangle($screen, $img_x*0.03, $img_y*0.03, $img_x*1.05, $img_y*1.05, $white);
		imagecopyresampled($screen, $imgc, $img_x*0.04, $img_y*0.04, 0, 0, $img_x, $img_y, $img_x, $img_y);
		if($_POST['t1']!=NULL){
			$ceil_top = ceil(($img_x+$img_y)/47); //// Размер верхней строки
			$text = functions::checkin($_POST['t1']);
			$font = 'fonts/tahoma.ttf';
			$bbox = imageftbbox($ceil_top , 0, $font, $text);
			$x = (imagesx($screen) - $bbox[4])/2;
			imagefttext($screen, $ceil_top, 0, $x, $img_y*1.13, $white, $font, $text);
 			}
		if($_POST['t2']!=NULL){
			$ceil_bottom = ceil(($img_x+$img_y)/52);//// Размер нижней строки
			$text = functions::checkin($_POST['t2']);
			$font = 'fonts/tahoma.ttf';
			$bbox = imageftbbox($ceil_bottom, 0, $font, $text);
			$x = (imagesx($screen) - $bbox[4])/2;
			imagefttext($screen, $ceil_bottom, 0, $x, $img_y*1.21, $white, $font, $text);
		}
		imagedestroy($imgc);
		$y=imagesy($screen);
		imagefttext($screen, 11, 0, 5, $y-5, $white, $font, $_SERVER['HTTP_HOST']);
		$screen=copyright($screen);
		$n = time();
		imagejpeg($screen, '../make_dem/demotivators/' . $n . '.jpg',100);
		chmod('../make_dem/demotivators/' . $n . '.jpg',0777);
		imagedestroy($screen);
		mysql_query("INSERT INTO `dems` (`id`, `id_user`, `time`, `mod`) VALUES (NULL, '".$user_id."', '".$n."', '" .($rights > 7 ? 1 : 0) ."')");
		echo '<div class="gmenu">Демотиватор создан '.($rights >= 7 ? 'и выставлен в общий список!' : 'и отправлен на модерацию!').'</div>';
		echo '<div class="p_m"><a href="demotivators/' . $n . '.jpg"><img src="demotivators/' . $n . '.jpg" width="200"></a><br />
			  <a href="demotivators/' . $n . '.jpg">Скачать оригинал!</a><br />';
		echo '<a href="?">Назад</a></div>';
		echo '<div class="phdr"><a href="index.php">Демотиваторы</a> | Добавление</div>';
		break;
	}else{
		echo '<div class="rmenu">Не правильный формат файла!</div>';
		echo '<div class="phdr"><a href="index.php">Демотиваторы</a> | Добавление</div>';
		break;
	}
}else{
	echo '<form method="post" enctype="multipart/form-data" action="?act=add"  class="menu">
		  <table>
		  <tr><td colspan="2">
		  <b>Картинка:</b><span class="gray">Только jpg</span><br />
		  <input type="file" name="file" accept="image/*,image/gif,image/png,image/jpeg" /><br />
		  <b>Название:</b><br />
		  <input name="t1" /><br />
		  <b>Описание:</b><br />
		  <input name="t2" /><br />
		  <input value="Создать" type="submit" />
		  </td></tr>
		  </table>
		  </form>';
}
echo '<div class="phdr"><a href="index.php">Демотиваторы</a> | Добавление</div>';
break;


default:
$textl = "Демотиваторы - Просмотр";
$headmod = "make_dem";
require("../incfiles/head.php");


if($rights >= 7)
	$moderation = mysql_result(mysql_query("SELECT COUNT(*) FROM `dems` WHERE `mod` = 0"), 0);

echo'<div class="phdr">Демотиваторы' . ($user_id ? ' | <a href="?act=add">Добавить</a>' : null) . ' ' . ($rights >= 7 ? ' | <a href="index.php?act=moderation">На модерации</a> '.$moderation.' демотиватор' . functions::plural($moderation, '', 'а', 'ов') . '' : null) . '</div>';

$total  = mysql_result(mysql_query("SELECT COUNT(*) FROM `dems` WHERE `mod` = 1"), 0);
if ($total > $kmess) 
	echo '<div class="topmenu">' . functions::display_pagination('index.php?', $start, $total, $kmess) . '</div>';
if($total){
	$req = mysql_query("SELECT * FROM `dems` WHERE `mod` = 1 ORDER BY `time` DESC LIMIT $start,$kmess");
		While($res = mysql_fetch_assoc($req)){
			$ank = functions::get_user($res['id_user']);
			echo '<div class="list' . ($num % 2 ? "1" : "2") . '">';
			echo '<a href="demotivators/' . $res['time'] . '.jpg"><img src="demotivators/' . $res['time'] . '.jpg" width="200"></a><br />
				  <a href="demotivators/' . $res['time'] . '.jpg">Скачать оригинал!</a><br />
				  Добавил ' . $ank['name'] . '<br />
				  Дата добавления ' . functions::display_date($res['time']) . '';
			if($rights >= 7)
					echo '<br /><a href="index.php?del=' . $res['time'] . '">Удалить демотиватор!</a>';
			echo '</div>';
			$num++;
		}
}else{
	echo'<div class="rmenu">Демотиваторы еще не добавлялись!</div>';
}
if ($total > $kmess) 
	echo '<div class="topmenu">' . functions::display_pagination('index.php?', $start, $total, $kmess) . '</div>';
echo'<div class="phdr">Демотиваторы' . ($user_id ? ' | <a href="?act=add">Добавить</a>' : null) . ' ' . ($rights >= 7 ? ' | <a href="index.php?act=moderation">На модерации</a> '.$moderation.' демотиватор' . functions::plural($moderation, '', 'а', 'ов') . '' : null) . '</div>';
break;

case 'moderation':
$textl = "Демотиваторы - Модерация";
$headmod = "make_dem";
require("../incfiles/head.php");
if($rights >= 7){
	echo'<div class="phdr"><a href="index.php">Демотиваторы</a> | Модерация</div>';
	$total  = mysql_result(mysql_query("SELECT COUNT(*) FROM `dems` WHERE `mod` = 0"), 0);
	if ($total > $kmess) 
		echo '<div class="topmenu">' . functions::display_pagination('index.php?act=moderation&amp;', $start, $total, $kmess) . '</div>';
	if($total){
		$req = mysql_query("SELECT * FROM `dems` WHERE `mod` = 0 ORDER BY `time` DESC LIMIT $start,$kmess");
			While($res = mysql_fetch_assoc($req)){
				$ank = functions::get_user($res['id_user']);
				echo '<div class="list' . ($num % 2 ? "1" : "2") . '">';
				echo '<a href="demotivators/' . $res['time'] . '.jpg"><img src="demotivators/' . $res['time'] . '.jpg" width="200"></a><br />
					  <a href="demotivators/' . $res['time'] . '.jpg">Скачать оригинал!</a><br />
					  Добавил ' . $ank['name'] . '<br />
					  Дата добавления ' . functions::display_date($res['time']) . '<br />
					  <a href="index.php?mod=' . $res['time'] . '">Допустить демотиватор!</a><br />
					  <a href="index.php?del=' . $res['time'] . '">Удалить демотиватор!</a>
					  </div>';
				$num++;
			}
	}else{
		echo'<div class="rmenu">Демотиваторов на модерации нет!</div>';
	}
	if ($total > $kmess) 
		echo '<div class="topmenu">' . functions::display_pagination('index.php?act=moderation&amp;', $start, $total, $kmess) . '</div>';
	echo'<div class="phdr"><a href="index.php">Демотиваторы</a> | Модерация</div>';
}else{
	header('Location: index.php');
}
break;

case 'user':
$usver = mysql_fetch_assoc(mysql_query("SELECT `id`,`name`,`sex` FROM `users` WHERE `id` = '".$id."'"));
if($usver){
	$textl = 'Демотиваторы '.$usver['name'].'';
	$headmod = "make_dem";
	require("../incfiles/head.php");
	echo '<div class="phdr"><a href="index.php">Демотиваторы</a> | Демотиваторы пользователя ' .$usver['name'] . '</div>';
	$total  = mysql_result(mysql_query("SELECT COUNT(*) FROM `dems` WHERE `mod` =  1 AND `id_user` = '".$usver['id']."'"), 0);
	if ($total > $kmess)
		echo '<div class="topmenu">' . functions::display_pagination('index.php?act=user&amp;id='.$id.'&amp;', $start, $total, $kmess) . '</div>';
	if($total){
		$req = mysql_query("SELECT * FROM `dems` WHERE `mod` = 1  AND `id_user` = '".$usver['id']."' ORDER BY `time` DESC LIMIT $start,$kmess");
			While($res = mysql_fetch_assoc($req)){
				echo '<div class="list' . ($num % 2 ? "1" : "2") . '">';
				echo '<a href="demotivators/' . $res['time'] . '.jpg"><img src="demotivators/' . $res['time'] . '.jpg" width="200"></a><br />
					  <a href="demotivators/' . $res['time'] . '.jpg">Скачать оригинал!</a><br />
					  Дата добавления ' . functions::display_date($res['time']) . '';
				if($rights >= 7)
					echo '<br /><a href="index.php?del=' . $res['time'] . '">Удалить демотиватор!</a>';
				echo '</div>';
				$num++;
			}
	}else{
		echo'<div class="rmenu">' . functions::user($usver['id']) . ' еще не добавлял'.($usver['sex'] == 'm' ? '' : 'a').' демотиваторы!</div>';
	}
	if ($total > $kmess)
		echo '<div class="topmenu">' . functions::display_pagination('index.php?act=user&amp;id='.$id.'&amp;', $start, $total, $kmess) . '</div>';
	echo '<div class="phdr"><a href="index.php">Демотиваторы</a> | Демотиваторы пользователя ' .$usver['name'] . '</div>';
}else{
	$textl = 'Демотиваторы';
	$headmod = "make_dem";
	require("../incfiles/head.php");
	echo '<div class="phdr"><a href="index.php">Демотиваторы</a></div>';
	echo'<div class="rmenu">Такого пользователя нет!</div>';
	echo '<div class="phdr"><a href="index.php">Демотиваторы</a></div>';
}
break;

}
require("../incfiles/end.php");