Файл: konkurs.php
Строк: 693
<?php
require 'sid.php';
require 'config.php';
$link = connect_db();
list($user, $id, $ps) = check_login($link);
whorm(0, 'konkurs');
include 'head.php';
include 'navigator.php';
echo $div_title . ''.$lang['Конкурсы'].'' . $div_end . $div_left;
$do = isset($_GET['do']) ? $_GET['do'] : NULL;
switch($do) {
default:
if ($user['level'] == 5) echo '<a href="?do=admin&lg='.$lg.'"><b style="color:#00AA00;">'.$lang['Управление'].'</b></a>';
$sql = mysql_query("SELECT konkurs_cat .*, (SELECT COUNT(id) FROM konkurs WHERE konkurs_cat.id = konkurs.uid) AS s FROM konkurs_cat");
while($a = mysql_fetch_assoc($sql))
{
echo ($i ++ % 2) ? $div_razdel : $div_tworazdel;
echo '• <a href="?do=category&id='.$a['id'].'?lg='.$lg.'">' . $a['name'] . '</a> (' . $a['s'] . ')' . $div_end;
}
break;
case category:
$id = my_int($_GET['id']);
$test = mysql_query("SELECT * FROM konkurs_cat WHERE id = '$id' LIMIT 1");
if (mysql_num_rows($test) == false)
{
header('Location: ?lg='.$lg.'');
die();
}
else
{
$inf = mysql_fetch_assoc($test);
}
$ko = mysql_fetch_array(mysql_query("SELECT id FROM konkurs WHERE uid = '$id' LIMIT 1"));
echo $div_menu . $inf['name'] . $div_end;
if (!isset($_GET['get']) || isset($_GET['get']) && $_GET['get'] == 1)
{
echo '<b>'.$lang['Начатые'].'</b> /
<a href="?do=category&id='.$id.'&get=2&lg='.$lg.'">'.$lang['Завершенные'].'</a> /
<a href="?do=category&id='.$id.'&get=3&lg='.$lg.'">'.$lang['Ждут начала'].'</a><br/>';
$type = "AND date_end > '" . strtotime('m/d/y') . "'";
$stat = "status = '1'";
}
elseif (isset($_GET['get']) && $_GET['get'] == 2)
{
echo '<a href="?do=category&id='.$id.'&get=1&lg='.$lg.'">'.$lang['Начатые'].'</a> /
<b>'.$lang['Завершенные'].'</b> /
<a href="?do=category&id='.$id.'&get=3&lg='.$lg.'">'.$lang['Ждут начала'].'</a><br/>';
$type = "AND date_end < '" . strtotime('m/d/y') . "'";
$stat = "status = '1'";
}
elseif (isset($_GET['get']) && $_GET['get'] == 3)
{
echo '<a href="?do=category&id='.$id.'&get=1&lg='.$lg.'">'.$lang['Начатые'].'</a> /
<a href="?do=category&id='.$id.'&get=2&lg='.$lg.'">'.$lang['Завершенные'].'</a> /
<b>'.$lang['Ждут начала'].'</b><br/>';
$type = '';
$stat = "status = '0'";
}
else
{
echo '<b>'.$lang['Начатые'].'</b> /
<a href="?do=category&id='.$id.'&get=2&lg='.$lg.'">'.$lang['Завершенные'].'</a> /
<a href="?do=category&id='.$id.'&get=3&lg='.$lg.'">'.$lang['Ждут начала'].'</a><br/>';
$type = "AND date_end > '" . strtotime('m/d/y') . "'";
$stat = "status = '1'";
}
$count = mysql_result(mysql_query("SELECT COUNT(id) FROM konkurs WHERE uid = '$id' $type " . (mysql_result(mysql_query("SELECT COUNT(id) FROM konkurs_work WHERE uid = '$ko[id]'"), 0) > 0 ? " AND id IN(SELECT uid FROM konkurs_work WHERE $stat)" : '') . ""), 0);
if ($count != 0)
{
$n = new navigator($count, 10, '?do=category&id='.$id.'&lg='.$lg.'&');
$sql = mysql_query("SELECT * FROM konkurs WHERE uid = '$id' $type " . (mysql_result(mysql_query("SELECT COUNT(id) FROM konkurs_work WHERE uid = '$ko[id]'"), 0) > 0 ? " AND id IN(SELECT uid FROM konkurs_work WHERE $stat)" : '') . " ORDER BY id DESC {$n->limit}");
$i = 0;
while($a = mysql_fetch_assoc($sql))
{
echo ($i ++ % 2) ? $div_razdel : $div_tworazdel;
echo '• <a href="?do=view_konkurs&uid='.$a['id'].'?lg='.$lg.'">' . $a['name'] . '</a>' . $div_end;
}
echo $n->navi();
} else {
echo ''.$lang['Конкурсы не найдены'].'.';
}
echo '<br/>« <a href="?lg='.$lg.'">'.$lang['Конкурсы'].'</a>';
break;
case admin:
if ($user['level'] != 5)
{
header('Location: ?lg='.$lg.'');
die();
}
if (isset($_GET['x']))
{
$x = my_int($_GET['x']);
$s = mysql_query("SELECT * FROM konkurs WHERE id = '$x' LIMIT 1");
if (mysql_num_rows($s) != false)
{
$in = mysql_fetch_assoc($s);
if (file_exists($in['url'])) unlink($in['url']);
mysql_query("DELETE FROM konkurs_work WHERE uid = '$x'");
mysql_query("DELETE FROM konkurs_comm WHERE uid = '$x'");
mysql_query("DELETE FROM konkurs_votes WHERE uid = '$x'");
mysql_query("DELETE FROM konkurs WHERE id = '$x' LIMIT 1");
header('Location: ?do=admin&lg='.$lg.'');
} else {
err(''.$lang['Конкурс не найден'].'!');
}
}
if (isset($_POST['create']))
{
$name = trim(mysql_real_escape_string(check($_POST['name'])));
$opis = trim(mysql_real_escape_string(check($_POST['opis'])));
$who = my_int($_POST['who']);
$date_start = trim(mysql_real_escape_string(check($_POST['date_start'])));
$date_end = trim(mysql_real_escape_string(check($_POST['date_end'])));
$rzd = my_int($_POST['rzd']);
if (empty($name)) $err .= ''.$lang['Не заполнено название конкурса'].'!';
elseif (empty($opis)) $err .= ''.$lang['Не заполнено описание конкурса'].'!';
elseif (!preg_match('#^([0-9]{2}/[0-9]{2}/[0-9]{2})$#', $date_start)) $err .= ''.$lang['Неверно заполнена дата начала голосований'].'!';
elseif (!preg_match('#^([0-9]{2}/[0-9]{2}/[0-9]{2})$#', $date_end)) $err .= ''.$lang['Неверно заполнена дата окончания конкурса'].'!';
elseif (strtotime($date_start) < strtotime('m/d/y')) $err .= ''.$lang['Неверно заполнена дата начала голосований, введённая дата устаревшая'].'!';
elseif (strtotime($date_end) < strtotime('m/d/y')) $err .= ''.$lang['Неверно заполнена дата окончания конкурса, введённая дата устаревшая'].'!';
elseif (strtotime($date_start) == strtotime($date_end)) $err .= ''.$lang['Даты не могут быть идентичными'].'!';
if (!isset($err))
{
$date_start = strtotime($date_start);
$date_end = strtotime($date_end);
mysql_query("INSERT INTO konkurs SET
name = '$name',
opis = '$opis',
who = '$who',
date_start = '$date_start',
date_end = '$date_end',
date_create = '" . time() . "',
uid = '$rzd'");
header('Location: ?do=admin&lg='.$lg.'');
}
else
{
err($err);
}
}
echo '<a href="?do=config&lg='.$lg.'"><b style="color:#00AA00;">'.$lang['Конфигурация'].'</b></a>
' . $block . '
<a href="?do=moder&lg='.$lg.'"><b style="color:#00AA00;">'.$lang['Модерация'].'</b></a>
' . $block . '
'.$lang['Добавить конкурс'].'
<br/>
<form method="post" action="?do=admin&lg='.$lg.'">
<input type="text" name="name" placeholder="'.$lang['Название'].'" maxlength="15"/>
<br/>
<textarea name="opis" cols="50" rows="5" placeholder="'.$lang['Описание'].'" maxlength="50"></textarea>
<br/>
<label>'.$lang['Могут учавcтвовать'].':</label>
<br/>
<input type="radio" name="who" value="1"/> '.$lang['Девушки'].'
<br/>
<input type="radio" name="who" value="2"/> '.$lang['Парни'].'
<br/>
<input type="radio" name="who" checked value="0"/> '.$lang['Все'].'
<br/>
<input type="text" name="date_start" placeholder="'.$lang['Дата начала голосований'].'" maxlength="8"/> '.$lang['(мм/дд/гг)'].'
<br/>
<input type="text" name="date_end" placeholder="'.$lang['Дата окончания конкурса'].'" maxlength="8"/> '.$lang['(мм/дд/гг)'].'
<br/>
<label>'.$lang['Выберите категорию'].':</label>
<br/>
<select name="rzd">';
$select = mysql_query("SELECT * FROM konkurs_cat");
while($q = mysql_fetch_assoc($select))
{
echo '<option value="' . $q['id'] . '">' . $q['name'] . '</option>';
}
echo '</select>
<br/>
<input type="submit" name="create" value="'.$lang['Создать'].'"/>
</form>';
$count = mysql_result(mysql_query("SELECT COUNT(id) FROM konkurs"), 0);
if ($count != 0)
{
$n = new navigator($count, 10, '?do=admin&lg='.$lg.'&');
$sql = mysql_query("SELECT * FROM konkurs ORDER BY id DESC {$n->limit}");
$i = 0;
while($a = mysql_fetch_assoc($sql))
{
echo ($i ++ % 2) ? $div_razdel : $div_tworazdel;
echo '<a href="?do=edit&id='.$a['id'].'?lg='.$lg.'"><img src="ico/edit.gif" alt=""/></a>
<a href="?do=admin&x='.$a['id'].'?lg='.$lg.'"><img src="ico/delete.gif" alt=""/></a>
' . $a['name'] . $div_end;
}
echo $n->navi();
} else {
echo ''.$lang['Конкурсы еще не созданы'].'.';
}
echo '<br/>« <a href="?lg='.$lg.'">'.$lang['Конкурсы'].'</a>';
break;
case edit:
if ($user['level'] != 5)
{
header('Location: ?lg='.$lg.'');
die();
}
$id = my_int($_GET['id']);
$test = mysql_query("SELECT * FROM konkurs WHERE id = '$id' LIMIT 1");
if (mysql_num_rows($test) == false)
{
header('Location: ?lg='.$lg.'');
die();
}
else
{
$inf = mysql_fetch_assoc($test);
}
if (isset($_POST['ok']))
{
$name = trim(mysql_real_escape_string(check($_POST['name'])));
$opis = trim(mysql_real_escape_string(check($_POST['opis'])));
$who = my_int($_POST['who']);
$date_start = trim(mysql_real_escape_string(check($_POST['date_start'])));
$date_end = trim(mysql_real_escape_string(check($_POST['date_end'])));
$rzd = my_int($_POST['rzd']);
if (empty($name)) $err .= ''.$lang['Не заполнено название конкурса'].'!';
elseif (empty($opis)) $err .= ''.$lang['Не заполнено описание конкурса'].'!';
elseif (!preg_match('#^([0-9]{2}/[0-9]{2}/[0-9]{2})$#', $date_start)) $err .= ''.$lang['Неверно заполнена дата начала голосований'].'!';
elseif (!preg_match('#^([0-9]{2}/[0-9]{2}/[0-9]{2})$#', $date_end)) $err .= ''.$lang['Неверно заполнена дата окончания конкурса'].'!';
elseif (strtotime($date_start) < strtotime('m/d/y')) $err .= ''.$lang['Неверно заполнена дата начала голосований, введённая дата устаревшая'].'!';
elseif (strtotime($date_end) < strtotime('m/d/y')) $err .= ''.$lang['Неверно заполнена дата окончания конкурса, введённая дата устаревшая'].'!';
elseif (strtotime($date_start) == strtotime($date_end)) $err .= ''.$lang['Даты не могут быть идентичными'].'!';
if (!isset($err))
{
if ($rzd != $inf['uid'])
{
mysql_query("UPDATE konkurs_work SET uid = '$rzd' WHERE uid = '$id' LIMIT 1");
mysql_query("UPDATE konkurs_comm SET uid = '$rzd' WHERE uid = '$id' LIMIT 1");
mysql_query("UPDATE konkurs_votes SET uid = '$rzd' WHERE uid = '$id' LIMIT 1");
}
$date_start = strtotime($date_start);
$date_end = strtotime($date_end);
mysql_query("UPDATE konkurs SET
name = '$name',
opis = '$opis',
who = '$who',
date_start = '$date_start',
date_end = '$date_end',
date_create = '" . time() . "',
uid = '$rzd'
WHERE id = '$id' LIMIT 1");
header('Location: ?do=admin&lg='.$lg.'');
}
else
{
err($err);
}
}
echo ''.$lang['Изменить конкурс'].'
<br/>
<form method="post" action="?do=edit&id='.$id.'&lg='.$lg.'">
<input type="text" name="name" value="'.$inf['name'].'" maxlength="15"/>
<br/>
<textarea name="opis" cols="50" rows="5" maxlength="50">' . $inf['opis'] . '</textarea>
<br/>
<label>'.$lang['Могут учавcтвовать'].':</label>
<br/>
<input type="radio" name="who" ' . ($inf['who'] == 1 ? 'checked' : '') . ' value="1"/> '.$lang['Девушки'].'
<br/>
<input type="radio" name="who" ' . ($inf['who'] == 2 ? 'checked' : '') . ' value="2"/> '.$lang['Парни'].'
<br/>
<input type="radio" name="who" ' . ($inf['who'] == 0 ? 'checked' : '') . ' value="0"/> '.$lang['Все'].'
<br/>
<input type="text" name="date_start" value="' . date('m.d.y', $inf['date_start']) . '" maxlength="8"/> '.$lang['(мм/дд/гг)'].'
<br/>
<input type="text" name="date_end" value="' . date('m.d.y', $inf['date_end']) . '" maxlength="8"/> '.$lang['(мм/дд/гг)'].'
<br/>
<label>'.$lang['Выберите категорию'].':</label>
<br/>
<select name="rzd">';
$select = mysql_query("SELECT * FROM konkurs_cat");
while($q = mysql_fetch_assoc($select))
{
echo '<option value="' . $q['id'] . '">' . $q['name'] . '</option>';
}
echo '</select>
<br/>
<input type="submit" name="ok" value="'.$lang['Изменить'].'"/>
</form>';
echo '<br/>« <a href="?lg='.$lg.'">'.$lang['Конкурсы'].'</a>';
break;
case view_konkurs:
$id = my_int($_GET['uid']);
$test = mysql_query("SELECT konkurs .*, (SELECT COUNT(id) FROM konkurs_work WHERE konkurs.id = konkurs_work.uid) AS s FROM konkurs WHERE id = '$id' LIMIT 1");
if (mysql_num_rows($test) == false)
{
header('Location: ?lg='.$lg.'');
die();
}
else
{
$inf = mysql_fetch_assoc($test);
}
echo ''.$lang['Название конкурса'].': ' . $inf['name'] . '<br/>
'.$lang['Описание конкурса'].': <div class="q1"></div><div class="q2">' . $inf['opis'] . '</div><br/>
'.$lang['Могут учавcтвовать'].': ' . ($inf['who'] == 1 ? ''.$lang['Девушки'].'' : ($inf['who'] == 2 ? ''.$lang['Парни'].'' : ''.$lang['Все'].'')) . '<br/>
'.$lang['Принимаются форматы работ'].': ' . ($inf['uid'] == 1 ? 'jpg,jpeg,png,bmp,gif' : ($inf['uid'] == 2 ? '3gp,mp4,flv,avi' : ($inf['uid'] == 3 ? 'amr,mp3,wav,aac' : 'txt'))) . '<br/>
'.$lang['Дата создания конкурса'].': ' . date('d.m.y '.$lang['в'].' H:i', $inf['date_create']) . '<br/>
'.$lang['Дата начала голосования'].': ' . date('d.m.y', $inf['date_start']) . '<br/>
'.$lang['Дата окончания конкурса'].': ' . date('d.m.y', $inf['date_end']) . '
<br/>
- - -
<br/>
» <a href="?do=view_works&id='.$id.'&lg='.$lg.'">'.$lang['Посмотреть работы'].'(' . $inf['s'] . ')</a>
<br/>
» <a href="?do=add_works&id='.$id.'&lg='.$lg.'">'.$lang['Принять участие'].'</a>' . $block;
echo '<br/>« <a href="?lg='.$lg.'">'.$lang['Конкурсы'].'</a>';
break;
case add_works:
$id = my_int($_GET['id']);
$test = mysql_query("SELECT * FROM konkurs WHERE id = '$id' LIMIT 1");
if (mysql_num_rows($test) == false)
{
header('Location: ?lg='.$lg.'');
die();
}
else
{
$inf = mysql_fetch_assoc($test);
}
$t = mysql_result(mysql_query("SELECT COUNT(id) FROM konkurs_work WHERE user = '$user[id]' AND uid = '$id'"), 0);
if ($inf['date_end'] <= strtotime('m/d/y'))
{
err(''.$lang['Дата конкурса подошла к концу'].'!');
include 'foot.php';
exit();
}
if ($t != 0)
{
err(''.$lang['Вы уже приняли участие в этом конкусе'].'!');
include 'foot.php';
exit();
}
if ($inf['who'] == 1 && $user['sex'] != 1)
{
err(''.$lang['В этом конкурсе могут учавствовать только девушки'].'!');
include 'foot.php';
exit();
}
if ($inf['who'] == 2 && $user['sex'] != 2)
{
err(''.$lang['В этом конкурсе могут учавствовать только парни'].'!');
include 'foot.php';
exit();
}
if (isset($_POST['upload']))
{
include 'konkurs_cfg.dat';
$fnames = $_FILES['file']['name'];
$name = trim(mysql_real_escape_string(check($_POST['name'])));
$opis = trim(mysql_real_escape_string(check($_POST['opis'])));
$comms = (int)$_POST['comms'];
$ext = strtolower(strrchr($_FILES['file']['name'], '.'));
if ($inf['uid'] == 1) $array = array('.jpg', '.jpeg', '.png', '.gif', '.bmp');
elseif ($inf['uid'] == 2) $array = array('.3gp', '.mp4', '.flv', '.avi');
elseif ($inf['uid'] == 3) $array = array('.amr', '.mp3', '.wav', '.aac');
elseif ($inf['uid'] == 4) $array = array('.txt', '.pdf');
if (empty($fnames)) {
err(''.$lang['Не выбран файл'].'!');
}
elseif (preg_match('/(.php|.pl|.htaccess)/i', $fnames) || !in_array($ext, $array)) {
err(''.$lang['Запрещенный формат файла'].'!');
}
elseif ($_FILES['file']['size'] > 1024 * $limit * 1024) {
err(''.$lang['Большой размер файла'].'!');
}
elseif (empty($name)) {
err(''.$lang['Не заполнено название файла'].'!');
}
elseif (empty($opis)) {
err(''.$lang['Не заполнено описание файла'].'!');
}
else
{
$url = 'konkurs/file_' . mt_rand(100000, 999999) . $ext;
if ($ext == '.jpg' || $ext == '.jpeg' || $ext == '.png' || $ext == '.bmp') {
$imgc = @imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name']));
$imgc = img_copyright($imgc);
imagejpeg($imgc, $url, 90);
} else {
copy($_FILES['file']['tmp_name'], $url);
}
mysql_query("INSERT INTO konkurs_work SET
uid = '$id',
name = '$name',
opis = '$opis',
url = '$url',
comms = '$comms',
user = '$user[id]',
status = '0'");
}
}
echo '<form enctype="multipart/form-data" method="post" action="?do=add_works&id='.$id.'&lg='.$lg.'">
<label>'.$lang['Файл'].':</label>
<br/>
<input type="file" name="file"/>
<br/>
<input type="text" name="name" placeholder="'.$lang['Название файла'].'"/>
<br/>
<textarea name="opis" cols="50" rows="5" placeholder="'.$lang['Описание файла'].'"></textarea>
<br/>
<label>'.$lang['Комментарии к файлу'].':</label>
<br/>
<input type="radio" name="comms" checked value="1"/> '.$lang['Разрешить'].'
<br/>
<input type="radio" name="comms" value="0"/> '.$lang['Запретить'].'
<br/>
<input type="submit" name="upload" value="'.$lang['Добавить'].'"/>
</form>';
echo '<br/>« <a href="?lg='.$lg.'">'.$lang['Конкурсы'].'</a>';
break;
case config:
if ($user['level'] != 5)
{
header('Location: ?lg='.$lg.'');
die();
}
include 'konkurs_cfg.dat';
if (isset($_POST['save']))
{
$f = fopen('konkurs_cfg.dat', 'w');
fwrite($f, '<?
$limit = '.my_int($_POST['limit']).';
$price25 = '.my_int($_POST['price25']).';
?>');
fclose($f);
chmod('konkurs_cfg.dat', 0666);
header('Location: ?do=config&lg='.$lg.'');
}
echo '<form method="post" action="?do=config&lg='.$lg.'">
<label>'.$lang['Лимит загружаемых файлов (в МБ)'].':</label>
<br/>
<input type="text" name="limit" size="3" value="'.$limit.'"/>
<br/>
<label>'.$lang['Стоимость оценки'].' +25:</label>
<br/>
<input type="text" name="price25" value="'.$price25.'"/>
<br/>
<input type="submit" name="save" value="'.$lang['Сохранить'].'"/>
</form>';
echo '<br/>« <a href="?do=admin&lg='.$lg.'">'.$lang['Управление'].'</a><br/>
« <a href="?lg='.$lg.'">'.$lang['Конкурсы'].'</a>';
break;
case view_works:
$id = my_int($_GET['id']);
$test = mysql_query("SELECT * FROM konkurs WHERE id = '$id' LIMIT 1");
if (mysql_num_rows($test) == false)
{
header('Location: ?lg='.$lg.'');
die();
}
else
{
$inf = mysql_fetch_assoc($test);
}
$num = mysql_result(mysql_query("SELECT COUNT(id) FROM konkurs_work WHERE uid = '$id'"), 0);
if ($num != 0)
{
$n = new navigator($num, 10, '?do=view_works&id='.$id.'&lg='.$lg.'&');
$select = mysql_query("SELECT * FROM konkurs_work WHERE uid = '$id' ORDER BY id DESC {$n->limit}");
$i = 0;
while($a = mysql_fetch_assoc($select))
{
echo ($i ++ % 2) ? $div_tworazdel : $div_razdel;
if ($inf['uid'] == 1 && !empty($a['url'])) $p = '<img src="resize.php?img='.$a['url'].'&width=75&height=0" alt=""/><br/>';
if ($inf['uid'] == 3 && extension_loaded('ffmpeg') && !empty($a['url'])) $p = '<img src="ffmpeg.php?fid='.$a['url'].'" width="75" height="75" alt=""/><br/>';
if ($inf['uid'] == 4 && !empty($a['url']))
{
$w = file_get_contents($a['url']);
$p = (mb_strlen($w, 'UTF8') > 50)
? mb_substr($w, 0, 50, 'UTF8') . '...'
: $w;
}
echo $p . '<a href="?do=view_work&id='.$a['id'].'?lg='.$lg.'">' . $a['name'] . '</a>' . $div_end;
}
echo $n->navi();
} else {
echo ''.$lang['Работ на этот конкурс еще нет'].'.';
}
echo '<br/>« <a href="?lg='.$lg.'">'.$lang['Конкурсы'].'</a>';
break;
case view_work:
$id = my_int($_GET['id']);
$test = mysql_query("SELECT * FROM konkurs_work WHERE id = '$id' LIMIT 1");
if (mysql_num_rows($test) == false)
{
header('Location: ?lg='.$lg.'');
die();
}
else
{
$inf = mysql_fetch_assoc($test);
}
if (isset($_GET['delfile']) && $user['id'] == $inf['user'] || $user['id'] != $inf['user'] && $user['level'] == 5)
{
if (file_exists($inf['url']))
{
mysql_query("UPDATE konkurs_work SET url = '' WHERE id = '$id' LIMIT 1");
unlink($inf['url']);
header('Location: ?do=view_work&id=' . $id .'&'. $lg );
}
else
{
err(''.$lang['В этой работе нет файла'].'!');
}
}
$konk = mysql_fetch_array(mysql_query("SELECT uid FROM konkurs WHERE id = '$inf[uid]' LIMIT 1"));
if ($user['id'] == $inf['user'] || $user['id'] != $inf['user'] && $user['level'] == 5)
{
echo '<a href="?do=view_work&id='.$id.'&delfile&lg='.$lg.'">» '.$lang['Удалить файл'].'</a><br/>
<a href="?do=edit_work&id='.$id.'&lg='.$lg.'">» '.$lang['Изменить работу'].'</a><br/>';
}
if ($konk[0] == 1 && !empty($inf['url']))
{
$p = '<img src="resize.php?img='.$inf['url'].'&width=75&height=0" alt=""/><br/>';
$v = '<a href="'.$inf['url'].'&lg='.$lg.'">'.$lang['Посмотреть картинку полностью'].'</a><br/>';
}
if ($konk[0] == 3 && extension_loaded('ffmpeg') && !empty($inf['url']))
{
$p = '<img src="ffmpeg.php?fid='.$inf['url'].'" width="75" height="75" alt=""/><br/>';
$v = '<a href="'.$inf['url'].'&lg='.$lg.'">'.$lang['Скачать видео'].'</a><br/>';
}
if ($konk[0] == 4 && !empty($inf['url']))
{
$w = file_get_contents($inf['url']);
$p = (mb_strlen($w, 'UTF8') > 50)
? mb_substr($w, 0, 50, 'UTF8') . '...'
: $w;
$v = '<a href="'.$inf['url'].'&lg='.$lg.'">'.$lang['Прочесть файл полностью'].'</a><br/>';
}
$numVotes = mysql_result(mysql_query("SELECT SUM(vote) FROM konkurs_votes WHERE id = '$id'"), 0);
$numVotes = ($numVotes == false) ? 0 : $numVotes;
if (isset($_GET['vote']) && $inf['status'] != 0)
{
include 'konkurs_cfg.dat';
$vote = my_int($_GET['vote']);
if ($inf['user'] == $user['id'])
{
err(''.$lang['Вы не можете голосовать за себя'].'!');
include 'foot.php';
exit();
}
if ($vote < 1 && $vote > 6)
{
err(''.$lang['Ошибка'].'!');
} else {
if ($vote != 6)
{
$t = mysql_result(mysql_query("SELECT COUNT(id) FROM konkurs_votes WHERE id = '$id' AND user = '$user[id]'"), 0);
if ($t == 0)
{
mysql_query("INSERT INTO konkurs_votes SET vote = '$vote', user = '$user[id]', uid = '$id'");
msg(''.$lang['Ваш голос оставлен'].'.');
} else {
mysql_query("UPDATE konkurs_votes SET vote = '$vote' WHERE user = '$user[id]' AND uid = '$id'");
msg(''.$lang['Ваш голос изменён'].'.');
}
} else {
if ($user['balls'] < $price25)
{
err(''.$lang['У вас недостаточно ЛВЛ, необходимо'].' ' . $price25 . '!');
} else {
$t = mysql_result(mysql_query("SELECT COUNT(id) FROM konkurs_votes WHERE id = '$id' AND user = '$user[id]'"), 0);
if ($t == 0)
{
mysql_query("INSERT INTO konkurs_votes SET vote = '25', user = '$user[id]', uid = '$id'");
msg(''.$lang['Ваш голос оставлен'].'.');
} else {
mysql_query("UPDATE konkurs_votes SET vote = '25' WHERE user = '$user[id]' AND uid = '$id'");
msg(''.$lang['Ваш голос изменён'].'.');
}
}
}
}
}
echo $p . $v . '
'.$lang['Название файла'].': ' . smiles(bb_code(nl2br($inf['name']))) . '
<br/>
'.$lang['Описание файла'].': ' . smiles(bb_code(nl2br($inf['opis']))) . '
<br/>
'.$lang['Добавил'].': ' . us($inf['user']) . '
<br/>
'.$lang['Голосов'].': ' . $numVotes . '
<br/>';
if ($inf['status'] == 0)
{
echo '<span style="color:#FF0000;">'.$lang['Работа еще не одобрена Администратором. Голосование недоступно'].'.</span><br/>';
}
elseif ($inf['date_end'] > strtotime('m/d/y'))
{
err(''.$lang['Этот конкурс уже завершен, за работу нельзя голосовать'].'!');
}
else
{
echo '<u>'.$lang['Голосовать'].'</u>
<br/>
<a href="?do=view_work&id='.$id.'&vote=1&lg='.$lg.'">+1</a> /
<a href="?do=view_work&id='.$id.'&vote=2&lg='.$lg.'">+2</a> /
<a href="?do=view_work&id='.$id.'&vote=3&lg='.$lg.'">+3</a> /
<a href="?do=view_work&id='.$id.'&vote=4&lg='.$lg.'">+4</a> /
<a href="?do=view_work&id='.$id.'&vote=5&lg='.$lg.'">+5</a> /
<a href="?do=view_work&id='.$id.'&vote=6&lg='.$lg.'">+25</a>
<br/>';
}
if ($inf['status'] == 0)
{
echo '<span style="color:#FF0000;">'.$lang['Работа еще не одобрена Администратором. Комментарии недоступны'].'.</span><br/>';
}
elseif ($inf['comms'] == 0)
{
echo '<span style="color:#FF0000;">'.$lang['Автор работы запретил комментировать его файл. Комментарии недоступны'].'.</span><br/>';
}
elseif ($inf['date_end'] > strtotime('m/d/y'))
{
err(''.$lang['Этот конкурс уже завершен, работу нельзя комментировать'].'!');
}
else
{
$coms = mysql_result(mysql_query("SELECT COUNT(id) FROM `konkurs_comm` WHERE `uid` = '$id'"), 0);
if ($coms != false) {
$n = new navigator($coms, $user['onp_comments'], '?do=view_work&id='.$id.'&lg='.$lg.'&');
$res = mysql_query("SELECT * FROM `konkurs_comm` WHERE `uid` = '$id' ORDER BY `id` DESC {$n->limit}");
$dv = 0;
while($s = mysql_fetch_assoc($res)) {
$del = ($user['level'] == 4 || $user['level'] == 5) ? '<a href="?do=view_work&id='.$id.'&d='.$s['id'].'&lg='.$lg.'"><img src="ico/delete.gif" alt=""/></a> ' : '';
echo ($dv ++ % 2) ? $div_tworazdel : $div_razdel;
echo $del . us($s['user']) . '<br/>' . date('d.m.y H:i', $s['date']) . '<br/>' . smiles(bb_code($s['msg'])) . $div_end;
}
echo $n->navi();
} else {
echo ''.$lang['Комментариев нет'].'!<br/>';
}
if (isset($_GET['d'])) {
$d = my_int($_GET['d']);
if ($user['level'] != 4 && $user['level'] != 5) {
header('Location: ?do=view_work&id=' . $id .'&'. $lg );
die();
}
$ecom = mysql_query("SELECT `id` FROM `konkurs_comm` WHERE `id` = '$d' LIMIT 1");
if (mysql_num_rows($ecom) != FALSE) {
mysql_query("DELETE FROM `konkurs_comm` WHERE `id` = '$d' LIMIT 1");
header('Location: ' . $_SERVER['HTTP_REFERER'] . $lg );
} else {
header('Location: ' . $_SERVER['HTTP_REFERER'] . $lg );
}
}
if (isset($_POST['add_com'])) {
$mes = trim(mysql_real_escape_string(check($_POST['mes'])));
if (empty($mes)) {
header('Location: ?do=view_work&id=' . $id .'&'. $lg );
} else {
// транслит
if ($user['translit'] == 1) {
$mes = trun_to_rus($mes);
}
// антимат
$ant = mysql_fetch_array(mysql_query("SELECT `antimat` FROM `setting` WHERE `ids` = '1'"));
$mes = ($ant[0] == 1) ? mat($mes) : $mes;
// Антиреклама
$_ant = mysql_fetch_assoc(mysql_query("SELECT `on_rekl`, `text_rekl` FROM `setting` WHERE `ids` = '1'"));
if ($_ant['on_rekl'] == 1) {
$ex = explode(',', file_get_contents('domains.dat'));
foreach($ex as $value) {
if ($user['level'] != 4 && $user['level'] != 5 && !preg_match('/[url=http://(.*)[/url]/si', $mes)) {
$mes = preg_replace("/(.*)(s|,|.|*|_|-|+)+$value/si", $_ant['text_rekl'], $mes);
}
}
}
mysql_query("INSERT INTO `konkurs_comm` SET
`date` = '" . time() . "',
`msg` = '$mes',
`uid` = '$id',
`user` = '$user[id]'");
header('Location: ?do=view_work&id=' . $id .'&'. $lg );
}
}
echo '<b>'.$lang['Комментарий'].':</b><br/>
'.$lang['Вставить'].' <a href="faq.php?do=smile">['.$lang['смайлы'].']</a>
<a href="faq.php?do=bb">['.$lang['бб-коды'].']</a><br/>
<FORM method="POST" action="?do=view_work&id='.$id.'&lg='.$lg.'">
<textarea name="mes" cols="50" rows="5" style="width: 99%;"></textarea>
<br/>
<input type="submit" name="add_com" value="'.$lang['Добавить'].'"/>
</FORM>';
}
echo '<br/>« <a href="?lg='.$lg.'">'.$lang['Конкурсы'].'</a>';
break;
case moder:
if ($user['level'] != 5)
{
header('Location: ?lg='.$lg.'');
die();
}
if (isset($_GET['ok']))
{
$ok = my_int($_GET['ok']);
$t = mysql_query("SELECT id FROM konkurs_work WHERE `status` = '0' AND id = '$ok' LIMIT 1");
if (mysql_num_rows($t) == false)
{
err(''.$lang['Ошибка'].'!');
} else {
mysql_query("UPDATE konkurs_work SET `status` = '1' WHERE `status` = '0' AND id = '$ok' LIMIT 1");
header('Location: ?do=moder&lg='.$lg.'');
}
}
if (isset($_GET['delete']))
{
$delete = my_int($_GET['delete']);
$t = mysql_query("SELECT id FROM konkurs_work WHERE `status` = '0' AND id = '$delete' LIMIT 1");
if (mysql_num_rows($t) == false)
{
err(''.$lang['Ошибка'].'!');
} else {
$is = mysql_fetch_assoc($t);
if (file_exists($is['url'])) unlink($is['url']);
mysql_query("DELETE FROM konkurs_work WHERE `status` = '0' AND id = '$delete' LIMIT 1");
header('Location: ?do=moder&lg='.$lg.'');
}
}
$num = mysql_result(mysql_query("SELECT COUNT(id) FROM konkurs_work WHERE status = '0'"), 0);
if ($num != 0)
{
$n = new navigator($num, 10, '?do=moder&id='.$id.'&lg='.$lg.'&');
$select = mysql_query("SELECT * FROM konkurs_work WHERE `status` = '0' ORDER BY id DESC {$n->limit}");
$i = 0;
while($a = mysql_fetch_assoc($select))
{
$ex = end(explode('.', $a['url']));
echo ($i ++ % 2) ? $div_tworazdel : $div_razdel;
echo '» ' . (!empty($a['url']) ? '<a href="'.$a['url'].'&lg='.$lg.'">'.$lang['Файл'].' <b>' . $ex . '</b></a>' : ''.$lang['Файл был удален'].'') . ' (' . cvetnik($a['user']) . ')
<span class = "next"><a href="?do=moder&ok='.$a['id'].'?lg='.$lg.'"><img src="ico/ok.gif" alt=""/></a></span>
<span class = "next"><a href="?do=moder&delete='.$a['id'].'?lg='.$lg.'"><img src="ico/delete.gif" alt=""/></a></span>' . $div_end;
}
echo $n->navi();
} else {
echo ''.$lang['Ожидающих работ нет'].'.';
}
echo '<br/>« <a href="?do=admin&lg='.$lg.'">'.$lang['Управление'].'</a><br/>
« <a href="?lg='.$lg.'">'.$lang['Конкурсы'].'</a>';
break;
case edit_work:
$id = my_int($_GET['id']);
$inf = mysql_fetch_assoc(mysql_query("SELECT * FROM konkurs_work WHERE id = '$id'"));
if ($user['id'] == $inf['user'] || $user['id'] != $inf['user'] && $user['level'] == 5)
{
$test = mysql_query("SELECT * FROM konkurs WHERE id = '$inf[uid]' LIMIT 1");
if (mysql_num_rows($test) == false)
{
header('Location: ?lg='.$lg.'');
die();
}
$i = mysql_fetch_assoc($test);
$t = mysql_result(mysql_query("SELECT COUNT(id) FROM konkurs_work WHERE uid = '$id'"), 0);
if ($i['date_end'] <= strtotime('m/d/y'))
{
err(''.$lang['Дата конкурса подошла к концу'].'!');
include 'foot.php';
exit();
}
if (isset($_POST['upload']))
{
include 'konkurs_cfg.dat';
$fnames = $_FILES['file']['name'];
$name = trim(mysql_real_escape_string(check($_POST['name'])));
$opis = trim(mysql_real_escape_string(check($_POST['opis'])));
$comms = (int)$_POST['comms'];
$ext = strtolower(strrchr($_FILES['file']['name'], '.'));
if ($i['uid'] == 1) $array = array('.jpg', '.jpeg', '.png', '.gif', '.bmp');
elseif ($i['uid'] == 2) $array = array('.3gp', '.mp4', '.flv', '.avi');
elseif ($i['uid'] == 3) $array = array('.amr', '.mp3', '.wav', '.aac');
elseif ($i['uid'] == 4) $array = array('.txt', '.pdf');
if (!empty($fnames) && preg_match('/(.php|.pl|.htaccess)/i', $fnames) || !empty($fnames) && !in_array($ext, $array)) {
err(''.$lang['Запрещенный формат файла'].'!');
}
elseif (!empty($fnames) && $_FILES['file']['size'] > 1024 * $limit * 1024) {
err(''.$lang['Большой размер файла'].'!');
}
elseif (empty($name)) {
err(''.$lang['Не заполнено название файла'].'!');
}
elseif (empty($opis)) {
err(''.$lang['Не заполнено описание файла'].'!');
}
else
{
if (!empty($fnames))
{
$url = 'konkurs/file_' . mt_rand(100000, 999999) . $ext;
if ($ext == '.jpg' || $ext == '.jpeg' || $ext == '.png' || $ext == '.bmp') {
$imgc = @imagecreatefromstring(file_get_contents($_FILES['file']['tmp_name']));
$imgc = img_copyright($imgc);
imagejpeg($imgc, $url, 90);
} else {
copy($_FILES['file']['tmp_name'], $url);
}
if (file_exists($inf['url'])) unlink($inf['url']);
}
mysql_query("UPDATE konkurs_work SET
name = '$name',
opis = '$opis',
" . (!empty($fnames) ? "url = '$url'," : "") . "
comms = '$comms'");
header('Location: ?do=view_work&id=' . $id .'&'. $lg );
}
}
echo '<form enctype="multipart/form-data" method="post" action="?do=edit_work&id='.$id.'&lg='.$lg.'">
<label>'.$lang['Изменить файл'].':</label>
<br/>
<input type="file" name="file"/>
<br/>
<input type="text" name="name" placeholder="'.$lang['Название файла'].'" value="'.$inf['name'].'"/>
<br/>
<textarea name="opis" cols="50" rows="5" placeholder="'.$lang['Описание файла'].'">'.$inf['opis'].'</textarea>
<br/>
<label>'.$lang['Комментарии к файлу'].':</label>
<br/>
<input type="radio" name="comms" ' . ($inf['comms'] == 1 ? 'checked' : '') . ' value="1"/> '.$lang['Разрешить'].'
<br/>
<input type="radio" name="comms" ' . ($inf['comms'] == 0 ? 'checked' : '') . ' value="0"/> '.$lang['Запретить'].'
<br/>
<input type="submit" name="upload" value="'.$lang['Изменить'].'"/>
</form>';
}
else
{
header('Location: ?lg='.$lg.'');
}
echo '<br/>« <a href="?lg='.$lg.'">'.$lang['Конкурсы'].'</a>';
break;
}
echo $div_end;
include 'foot.php';
?>