<?php
#############################################
# 0JXRgdC70Lgg0YLRiyDRh9C40YLQsNC10YjRjCDRj #
# dGC0L4g0YHQvtC+0LHRidC10L3QuNC1LCDQt9C90L #
# DRh9C40YIg0YLRiyDQvdC10LzQvdC+0LPQviDQt9C #
# 90LDQtdGI0YwgUEhQIQ== #
#__---------------------------------------__#
#__ 0JrQu9C40Log0JrQu9GD0LE= __#
# --------------------------------------- #
# 0JDQstGC0L7RgCA6IE1vcmdhbg== #
# SUNRIDog0L3QtSDRgdC60LDQttGDIHhE #
# #
#############################################
require '../inc/start.php';
require '../inc/regvars.php';
require '../inc/db.php';
require '../inc/config.php';
require '../inc/funct.php';
require '../inc/antidos.php';
require '../inc/gzip.php';
require '../inc/header.php';
only_reg('/aut.php?',true);
if($user_prof['admin']<$config['enable_tasks']){location('menu/index.php');}
$title = 'Задания';
require '../inc/head.php';
switch($mode = (!empty($_GET['mode'])) ? $_GET['mode'] : null)
{
default:
echo '<div class="sec">
<b>Задания</b>
</div><div class="vstavka">
<div class="ad"><img src="/pic/add.png"/> <a href="tasks.php?mode=add">Добавить задание</a></div>
<div class="ad"><img src="/pic/logs.png"/> <a href="tasks.php?mode=all">Все задания</a>('.mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]tasks` WHERE `status` = '3'"),0).')</div>
<div class="ad"><img src="/pic/user.gif"/> <a href="tasks.php?mode=all&user='.$user_prof['id'].'">Мои</a>('.mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]tasks` WHERE `user`='$user_prof[id]'"),0).')</div>';
if($user_prof['admin'] >= 2)
{
echo '<br />
<div class="ad"><img src="/pic/admin.png"/> <a href="tasks.php?mode=moder">Модерировать</a>('.mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]tasks` WHERE `status` = '1'"),0).')</div>';
}
#<div class="ad"><img src="/pic/"/> <a href="tasks.php?mode="></a></div>
break;
#######################################
case 'add':
echo '<div class="sec">
<a href="tasks.php">Задания</a> / <b>Добавления задания</b>
</div><div class="vstavka">';
if(isset($_GET['confirm']) && $_GET['confirm'] == 'yes')
{
$name = obr($_POST['name'],'string',255);
$credits = obr($_POST['credits'],'integer',11);
$text = obr($_POST['text'],'string',750);
if(!empty($name) && $credits >= $config['min_task_credits'] && !empty($text))
{
if($user_prof['in_bank'] >= $credits)
{
if(($sitetime - mysql_result(query("SELECT MAX(date) FROM `$db[prefix]tasks` WHERE `user` = '$user_prof[id]'"),0)) > 60)
{
if(query("INSERT INTO `$db[prefix]tasks` SET `user` = '$user_prof[id]',`date` = '$sitetime',`status` = '1',`name` = '$name',`text` = '$text',`credits` = '$credits',`ip` = '$_ip',`ua` = '$_ua'"))
{
echo 'Задание отправлено на модерацию<br />
<a href="tasks.php">Далее>>></a>';
}else{echo 'Неизвестная ошибка!<br />
<a href="tasks.php?mode=add"><<<Назад</a>';}
}else{echo 'Слишком быстро!<br />
<a href="tasks.php?mode=add"><<<Назад</a>';}
}else{echo 'Недостаточно кредитов!<br />
<a href="tasks.php?mode=add"><<<Назад</a>';}
}else{echo 'Заполните все поля верно!<br />
<a href="tasks.php?mode=add"><<<Назад</a>';}
}
else
{
echo '<form action="tasks.php?mode=add&confirm=yes" method="POST" class="ad">
Название : <br />
<input name="name" type="text" maxlength="255"><br />
Награда (в кр., мин '.$config['min_task_credits'].') : <br />
<input name="credits" type="text" value="'.$config['min_task_credits'].'" size="6" maxlength="7"><br />
Задание : <br />
<textarea name="text" rows="5" cols="20"></textarea><br />
<input type="submit" value="Добавить">
</form><br />
<div class="ad"><b>Внимание!</b><br />
Все задания проходят обязателььную модерацию<br />
Попробуйте максимально точно указать что вам нужно<br />
Кредиты для оплаты должны находиться в банке!</div>';
}
break;
#######################################
case 'moder':
if($user_prof['admin'] < 2)location('menu/tasks.php');
echo '<div class="sec">
<a href="tasks.php">Задания</a> / <b>Модерирование</b>
</div><div class="vstavka">';
$tasks = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]tasks` WHERE `status`='1'"),0);
if($tasks>0)
{
if(!empty($_GET['tid']))
{
$tid = obr($_GET['tid'],'integer');
$res = query("SELECT * FROM `$db[prefix]tasks` WHERE `id` = '$tid'");
if(mysql_num_rows($res) > 0)
{
$task = mysql_fetch_array($res);
echo '<b>Задание № '.$tid.'</b> - <a href="tasks.php?mode=task&tid='.$tid.'"><b>'.$task['name'].'</b></a><br />';
if(isset($_GET['act']))
{
$act = str_replace('1','3',abs(intval($_GET['act'])));
if(query("UPDATE `$db[prefix]tasks` SET `status` = '$act' WHERE `id` = '$tid'"))
{
echo 'Успешно '.($act == '3' ? 'промодерировано' : 'недопущено').'<br />
<a href="tasks.php?mode=moder">Далее>>></a>';
}else{echo 'Ошибка';}
}else
{
echo 'Автор : '.userlogin($task['user'],1,1,$mfvl,1,$user_prof['set_econom_traf']).'<br />
<br />
'.smiles(bb_code($task['text'])).'<br />
<br />
За выполнение обещано <b>'.$task['credits'].'</b> '.postfix($task['credits']).'<br />
»Задание <a href="tasks.php?mode=moder&tid='.$tid.'&act=1">Промодерировано</a> | <a href="tasks.php?mode=moder&tid='.$tid.'&act=0">Недопущено</a>';
}
}else{location('menu/tasks.php?mode=moder&tid='.mysql_result(query("SELECT id FROM `$db[prefix]tasks` WHERE `status` = '1' ORDER BY RAND() LIMIT 0,1"),0));}
}else{location('menu/tasks.php?mode=moder&tid='.mysql_result(query("SELECT id FROM `$db[prefix]tasks` WHERE `status` = '1' ORDER BY RAND() LIMIT 0,1"),0));}
}else{echo 'Модерировать нечего =(';}
break;
#######################################
case 'all':
$sec = 'Задания';
$where = 'WHERE `status` = "3"';
if($user_prof['admin'] >= 2)$where = null;
$get_user = null;
$uid = 0;
if(!empty($_GET['user']))
{
$uid = obr($_GET['user'],'integer');
$res_u = query("SELECT login FROM `$db[prefix]users` WHERE `id` = '$uid'");
if(mysql_num_rows($res_u) > 0 && ($user_prof['admin'] >= 2 || $user_prof['id'] == $uid))
{
$sec .= ', пользователя '.mysql_result($res_u,0);
$get_user = '&user='.$uid;
$where .= (!empty($where) ? 'AND' : 'WHERE')." `user` = '$uid'";
}
}
echo '<div class="sec">
<a href="tasks.php">Задания</a> / <b>'.$sec.'</b>
</div><div class="vstavka">';
$tasks = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]tasks` $where"),0);
if($tasks > 0)
{
$str = ceil($tasks/$set_on_page);
if($page > $str)location('menu/tasks.php?mode=all'.$get_user);
sorting(array('date'=>'дате','user'=>'пользователю','credits'=>'кредитам'),'credits','tasks.php?mode=all&page='.$page.'&sort={$sort}'.$get_user);
$res_t = query("SELECT id,name,user,date,credits,status FROM `$db[prefix]tasks` $where ORDER BY `$sort` DESC LIMIT $p_str,$set_on_page");
$num = $p_str;
while($task = mysql_fetch_array($res_t))
{
$num ++;
echo '<div class="ie"><b>'.$num.'.</b> <a href="tasks.php?mode=task&tid='.$task['id'].'"><b>'.$task['name'].'</b></a> - <b>'.$task['credits'].'</b>';
if($sort == 'user')echo ', '.userlogin($task['user'],1,1,$mfvl,1,$user_prof['set_econom_traf']);
if($user_prof['admin'] >= 2 || $uid == $user_prof['id'])
{
if($task['status'] == 1)echo ', <span class="zero">На модерации</span>';
elseif($task['status'] == 0)echo ', <span class="zero">Недопущено</span>';
elseif($task['status'] == 2)echo ', <span class="zero">Отключено</span>';
}
echo '</div>';
}
navigator($str,$page,'tasks.php','mode=all&sort='.$sort.$get_user,true,true);
}else{echo 'Заданий нет';}
break;
#######################################
case 'task':
if(empty($_GET['tid']))location('menu/tasks.php');
$where = 'AND `status` = \'3\'';
if($user_prof['admin'] >= 2)$where = null;
$tid = obr($_GET['tid'],'integer');
$res = query("SELECT * FROM `$db[prefix]tasks` WHERE `id` = '$tid' $where");
if(mysql_num_rows($res) == 0)location('menu/tasks.php');
$task = mysql_fetch_array($res);
echo '<div class="sec">
<a href="tasks.php">Задания</a> / <a href="tasks.php?mode=task&tid='.$tid.'"><b>'.$task['name'].'</b></a>
</div><div class="vstavka">';
switch($act = (!empty($_GET['act'])) ? $_GET['act'] : null)
{
default:
if(mysql_result(query("SELECT in_bank FROM `$db[prefix]users` WHERE `id` = '$task[user]'"),0) < $task['credits'])
{
query("UPDATE `$db[prefix]tasks` SET `status` = '2' WHERE `id` = '$tid'");
echo '<div class="zero">За выполнение данного задания, заказчик не сможет расплатиться!</div>';
}
if($task['status'] == 1)echo '<div class="zero">Задание находиться на модерации!</div>';
elseif($task['status'] == 0)echo '<div class="zero">Задание недопущено!</div>';
elseif($task['status'] == 2)echo '<div class="zero">Задание отключено, добавление сообщений невозможно!</div>';
echo 'Заказчик : '.userlogin($task['user'],1,1,$mfvl,1,1).'<br />
Добавлено : '.formatdate($task['date']).'<br />
Обещано за выполнение задания : <b>'.$task['credits'].'</b> '.postfix($task['credits']).'<br />';
echo '<b>Описание задания</b> : <br />
'.smiles(bb_code($task['text'])).'<br />';
$awards = explode('|',$task['awards']);
#array_dump($awards);
$ca = count($awards);
if($ca > 1)
{
echo '<b>Награжденные пользователи</b> : ';
for($i = 0;$i < $ca; $i++)
{
if(empty($awards[$i]))continue;
echo userlogin($awards[$i],1,1,$mfvl,1,$user_prof['set_econom_traf']).' ';
}
}
if($user_prof['admin'] >= 2 || $task['user'] == $user_prof['id'])
{
echo '<div class="ad"><img src="/pic/element.png"/> <a href="tasks.php?mode=task&tid='.$tid.'&act=edit">Изменить</a><br /></div>';
echo '<div class="ad"><img src="/pic/element.png"/> <a href="tasks.php?mode=task&tid='.$tid.'&act=del">Удалить</a><br /></div>';
echo '<span class="info">('.strtok($task['ua'],' ').' - '.$task['ip'].')</span>';
}
$c_mess = mysql_result(query("SELECT COUNT(*) FROM `$db[prefix]tasks_mess` WHERE `tid` = '$tid'"),0);
echo '<hr/>
<b>Сообщения по теме</b>(<b>'.$c_mess.'</b>)<br />';
if($c_mess > 0)
{
$res = query("SELECT * FROM `$db[prefix]tasks_mess` WHERE `tid` = '$tid' ORDER BY `date` DESC");
$num = 0;
while($mess = mysql_fetch_array($res))
{
$num ++;
echo '<div class="ie"><b>'.$num.'.</b> '.userlogin($mess['user'],1,1,$mfvl,1,$user_prof['set_econom_traf']).' '.($task['user'] == $user_prof['id'] && $user_prof['id'] != $mess['user'] && !in_array($mess['user'],$awards) ? '[<a href="tasks.php?mode=task&tid='.$tid.'&act=user&uid='.$mess['user'].'">наградить</a>]' : null).' ('.formatdate($mess['date']).')<br />
'.smiles(bb_code($mess['text'])).'<br />
'.($user_prof['admin'] >= 2 || $mess['user'] == $user_prof['id'] ? '<span class="info">('.strtok($mess['ua'],' ').' - '.$mess['ip'].')</span><br />' : null).'
'.($user_prof['admin'] >= 2 || $task['user'] == $user_prof['id'] ? '[<a href="tasks.php?mode=task&tid='.$tid.'&act=comm_del&cid='.$mess['id'].'">удал.</a>]' : null).'</div>';
}
}else{echo 'Сообщений нет';}
if($task['status'] == 3)echo '<hr/>
<form action="tasks.php?mode=task&tid='.$tid.'&act=add" method="POST" class="ad">
Сообщение : <br />
<textarea name="text" rows="3" cols="15"></textarea><br />
<input type="submit" value="Добавить">
</form>';
break;
###################
case 'add':
if($task['status'] != 3)location('menu/tasks.php');
if(!empty($_POST['text']))
{
$text = obr($_POST['text'],'string',500);
if(($sitetime - mysql_result(query("SELECT MAX(date) FROM `$db[prefix]tasks_mess` WHERE `user` = '$user_prof[id]'"),0)) > 60)
{
if(query("INSERT INTO `$db[prefix]tasks_mess` SET `tid` = '$tid',`date` = '$sitetime',`user` = '$user_prof[id]',`text` = '$text',`ip` = '$_ip',`ua` = '$_ua'"))
{
echo 'Ваше сообщение добавлено<br />
<a href="tasks.php?mode=task&tid='.$tid.'">Далее>>></a>';
}else{echo 'Неизвестная ошибка!<br />
<a href="tasks.php?mode=task&tid='.$tid.'&act=add"><<<Назад</a>';}
}else{echo 'Слишком быстро!<br />
<a href="tasks.php?mode=task&tid='.$tid.'&act=add"><<<Назад</a>';}
}
else
{
echo '<form action="tasks.php?mode=task&tid='.$tid.'&act=add" method="POST" class="ad">
Сообщение : <br />
<textarea name="text" rows="5" cols="20"></textarea><br />
<input type="submit" value="Добавить">
</form>';
}
break;
###################
case 'comm_del':
if($user_prof['admin'] < 2 && $task['user'] != $user_prof['id'])location('menu/tasks.php');
if(empty($_GET['cid']))location('menu/tasks.php');
$cid = obr($_GET['cid'],'integer');
$res = query("SELECT id FROM `$db[prefix]tasks_mess` WHERE `id` = '$cid' AND `tid` = '$tid'");
if(mysql_num_rows($res) == 0)location('menu/tasks.php');
query("DELETE FROM `$db[prefix]tasks_mess` WHERE `id` = '$cid'");
location('menu/tasks.php?mode=task&tid='.$tid);
break;
###################
case 'user':
if($task['user'] != $user_prof['id'] || $task['status'] != 3)location('menu/tasks.php');
if(empty($_GET['uid']))location('menu/tasks.php');
$uid = obr($_GET['uid'],'integer');
$res = query("SELECT login FROM `$db[prefix]users` WHERE `id` = '$uid'");
if(mysql_num_rows($res) == 0 || in_array($uid,explode('|',$task['awards'])))location('menu/tasks.php');
if($user_prof['in_bank'] >= $task['credits'])
{
if(!empty($_GET['confirm']) && $_GET['confirm'] == 'yes')
{
if(query("UPDATE `$db[prefix]users` SET `in_bank` = in_bank - $task[credits] WHERE `id` = '$user_prof[id]'") == true && query("UPDATE `$db[prefix]users` SET `in_bank` = in_bank + $task[credits] WHERE `id` = '$uid'") && query("UPDATE `$db[prefix]tasks` SET `awards` = '$task[awards]|$uid' WHERE `id` = '$tid'"))
{
echo 'Пользователь успешно награжден<br />
<a href="tasks.php?mode=task&tid='.$tid.'">Далее>>></a>';
}else{echo 'Ошибка!';}
}
else
{
echo 'Наградить пользователя <b>'.mysql_result($res,0).'</b> за выполнение задания<br />
<center><a href="tasks.php?mode=task&tid='.$tid.'&act=user&uid='.$uid.'&confirm=yes">Да</a> | <a href="tasks.php?mode=task&tid='.$tid.'">Нет</a></center>';
}
}
else{echo 'У вас недостаточно кредитов!';}
break;
###################
case 'edit':
if($user_prof['admin'] < 2 && $task['user'] != $user_prof['id'])location('menu/tasks.php');
if(isset($_GET['confirm']) && $_GET['confirm'] == 'yes')
{
$name = obr($_POST['name'],'string',255);
$credits = obr($_POST['credits'],'integer',11);
$text = obr($_POST['text'],'string',750);
$status = $task['status'];
$sstatus = obr($_POST['status'],'integer',1);
if($user_prof['admin'] >= 2)$status = $sstatus;
elseif($task['status'] >= 2 && ($sstatus == 2 || $sstatus == 3))$status = $sstatus;
if(!empty($name) && $credits >= $config['min_task_credits'] && !empty($text))
{
if($user_prof['in_bank'] >= $credits)
{
if(query("UPDATE `$db[prefix]tasks` SET `status`='1',`name` = '$name',`text` = '$text',`credits` = '$credits',`status` = '$status' WHERE `id` = '$tid'"))
{
echo 'Задание изменено<br />
<a href="tasks.php?mode=task&tid='.$tid.'">Далее>>></a>';
}else{echo 'Неизвестная ошибка!<br />
<a href="tasks.php?mode=task&tid='.$tid.'&act=edit"><<<Назад</a>';}
}else{echo 'Недостаточно кредитов!<br />
<a href="tasks.php?mode=task&tid='.$tid.'&act=edit"><<<Назад</a>';}
}else{echo 'Заполните все поля верно!<br />
<a href="tasks.php?mode=task&tid='.$tid.'&act=edit"><<<Назад</a>';}
}
else
{
echo '<form action="tasks.php?mode=task&tid='.$tid.'&act=edit&confirm=yes" method="POST" class="ad">
Название : <br />
<input name="name" type="text" value="'.$task['name'].'" maxlength="255"><br />
Награда (в кр.) : <br />
<input name="credits" type="text" value="'.$task['credits'].'" size="6" maxlength="7"><br />
Задание : <br />
<textarea name="text" rows="5" cols="20">'.$task['text'].'</textarea><br />';
if($user_prof['admin'] >= 2 || $task['status'] >= 2)
{
echo 'Статус задания : <br />
<select size="1" name="status">';
if($user_prof['admin'] >= 2)
{
echo ' <option value="0"'.($task['status'] == 0 ? ' selected="selected"' : null).'>Недопущено</option>
<option value="1"'.($task['status'] == 1 ? ' selected="selected"' : null).'>На модерации</option>';
}
echo ' <option value="2"'.($task['status'] == 2 ? ' selected="selected"' : null).'>Отключено</option>
<option value="3"'.($task['status'] == 3 ? ' selected="selected"' : null).'>Включено</option>
</select><br />';
}
echo '<input type="submit" value="Добавить">
</form><br />
<div class="ad"><b>Внимание!</b><br />
Все задания проходят обязателььную модерацию<br />
Попробуйте максимально точно указать что вам нужно<br />
Кредиты для оплаты должны находиться в банке!</div>';
}
break;
###################
case 'del':
if($user_prof['admin'] < 2 && $task['user'] != $user_prof['id'])location('menu/tasks.php');
if(isset($_GET['confirm']) && $_GET['confirm'] == 'yes')
{
if(query("DELETE FROM `$db[prefix]tasks_mess` WHERE `tid` = '$tid'") && query("DELETE FROM `$db[prefix]tasks` WHERE `id` = '$tid'"))
{
echo 'Задание удалено<br />
<a href="tasks.php">Далее>>></a>';
}else{echo 'Неизвестная ошибка!<br />
<a href="tasks.php?mode=task&tid='.$tid.'&act=del"><<<Назад</a>';}
}
else
{
echo 'Вы действительно хотите удалить задание <b>'.$task['name'].'</b> со всеми сообщениями<br />
<center><a href="tasks.php?mode=task&tid='.$tid.'&act=del&confirm=yes">Да</a> | <a href="tasks.php?mode=task&tid='.$tid.'">Нет</a></center>';
}
break;
/*
###################
case '-':
break;
*/
}
break;
/*
#######################################
case '-':
echo '<div class="sec">
</div><div class="vstavka">';
break;
*/
}
echo '<hr/>';
if(!empty($act) && isset($task['name']) && isset($tid))echo '...<a href="tasks.php?mode=task&tid='.$tid.'">'.$task['name'].'</a><br />';
if(!empty($mode))echo '..<a href="tasks.php">Задания</a><br />';
echo '.<a href="/menu/">Кабинет</a><br />';
require '../inc/foot.php';
################################################
# 0KHQutGA0LjQv9GCINC90LUg0L/QsNCx0LvQuNC6IQ== #
# 0KHRgtCw0LLRgNC+0L/QvtC70YwsIDIwMDkg0LMu #
################################################
?>