Просмотр файла zadanie.php

Размер файла: 11.55Kb
  1. <?php
  2. include "header/config.inc.php";
  3. include "header/function.inc.php";
  4. include "header/header.inc.php";
  5. include "header/connect.inc.php";
  6. include "header/click-club.class.php";
  7. include "header/enter.inc.php";
  8. include "header/ban.php";
  9.  
  10. If (!isset($_GET['mode']) || !ereg("^[a-z0-9_-]{1,15}$",$_GET['mode'])) $mode='index'; else $mode=$_GET['mode'];
  11.  
  12. @mysql_query("update `".prefix."users` set `mesto`='В заданиях' where `id` = '".$_USER['id']."'");
  13. echo '<div class="header_rek"><b>Выполнение заданий</b></div><br/>';
  14.  
  15. switch($mode){
  16.  
  17. case false:
  18. default:
  19.  
  20. $result = mysql_query("SELECT * FROM `cclub_zadanie` WHERE `login`='".$_USER['login']."'");
  21. $zdv = mysql_num_rows($result);
  22.  
  23. If (!isset($_GET['page']) || !is_numeric($_GET['page'])) $page=1; else { $page=$_GET['page']; (int)$page;}
  24.  
  25. $result = mysql_query("SELECT * FROM `cclub_zadanie` WHERE `life`>0 and `status`='1'ORDER by `id` asc LIMIT ".(($page-1)*num_best_on_page).",".(num_best_on_page+1));
  26. $result2 = mysql_query("SELECT * FROM `cclub_zadanie` WHERE `status`='0'");
  27. $result3 = mysql_query("SELECT * FROM `cclub_zadanie` WHERE `life`='0'");
  28. $next = false;
  29. $num = mysql_num_rows($result);
  30.  
  31. If ($num>0){
  32. If ($num<=num_best_on_page) $read=$num; else {
  33. $read=num_best_on_page;
  34. $next=true;
  35. }
  36.  
  37. for ($i=0;$i<$read;$i++){
  38. echo '<table border="1"><tr><td height="15" width="15">№'.mysql_result($result,$i,'id').'</td><td height="15" width="100">'.mysql_result($result,$i,'name').'</td><td height="15" width="40" bgcolor="">'.mysql_result($result,$i,'purse').'кр.</td><td height="15" width="60" bgcolor="">'.mysql_result($result,$i,'time_on').'</td><td><a href="zadanie.php'.$_zapros.'mode=info&id='.mysql_result($result,$i,'id').'">Подробнее</a></td>';
  39. If ($_USER['admin'] || $_USER['moder']) {
  40. echo'<td> <a href="zadanie.php'.$_zapros.'mode=del&id='.mysql_result($result,$i,'id').'&type=2"> [Удалить]</a></td></tr></table>';
  41. }else echo'</tr></table>';
  42. }
  43.  
  44. echo '<br/>Активных заданий: <b>'.mysql_num_rows($result).'</b><br/>
  45. Заданий на модерации:<b>'.mysql_num_rows($result2).'</b><br/>
  46. Завершённых заданий:<b>'.mysql_num_rows($result3).'</b><br/><br/>';
  47. } else echo 'Нет заданий!<br/>';
  48.  
  49. echo'&#187;<a href="zadanie.php'.$_zapros.'mode=add">Добавить задание</a><br/>
  50. &#187;<a href="zadanie.php'.$_zapros.'&mode=vash">Ваши задания</a> [<b>'.$zdv.'</b>]<br/><br/>';
  51.  
  52. If ($page>1) echo '<a href="'.$_zapros.'mode=index&amp;page='.($page-1).'">Назад</a> ';
  53. If ($next) echo '<a href="'.$_zapros.'mode=index&amp;page='.($page+1).'">Вперед</a>';
  54. break;
  55.  
  56. case 'info':
  57.  
  58. $id = $_GET['id'];
  59. $result = mysql_query("SELECT * FROM `".prefix."zadanie` WHERE `id`='".$id."'");
  60. $zad = mysql_fetch_array($result);
  61. if($zad['status']==1){
  62.  
  63. If (!isset($_GET['page']) || !is_numeric($_GET['page'])) $page=1; else { $page=$_GET['page']; (int)$page;}
  64.  
  65. $result2 = mysql_query("SELECT * FROM `".prefix."zmsg` WHERE `id_zadanie`='".$id."' ORDER by `id` desc LIMIT ".(($page-1)*num_best_on_page).",".(num_best_on_page+1));
  66.  
  67. $zagg = $zad['text'];
  68. $zagg = eregi_replace("\\http://([0-9a-z_][0-9a-z./?&=]*)","<a href=\"http://\\1\">\\1</a>",$zagg);
  69. $zagg = stripslashes($zagg);
  70.  
  71. echo 'Описание: <b>'.$zagg.'</b><br/>
  72. Заказчик: <b>'.$zad['login'].'</b><br/>
  73. Вознаграждение: <b>'.$zad['purse'].'</b>кр.<br/>
  74. Осталось вознаграждений: <b>'.$zad['life'].'</b><hr/>
  75. <div class="contur_rek"><b>Сообщения:</b></div><br/>';
  76.  
  77. $next = false;
  78. $num = mysql_num_rows($result2);
  79.  
  80. If ($num>0){
  81. If ($num<=num_best_on_page) $info=$num; else {
  82. $info = num_best_on_page;
  83. $next = true;
  84. }
  85.  
  86. for ($i=0;$i<$info;$i++){
  87. $text = mysql_result($result2,$i,'text');
  88. $text = bbcode($text);
  89. $text = smile($text);
  90. $text = stripslashes($text);
  91. echo '<b>'.mysql_result($result2,$i,'login').'</b> '.mysql_result($result2,$i,'date').'<br/>'.$text;
  92. If ($_USER['admin'] || $_USER['moder']) {
  93. echo'<a href="zadanie.php'.$_zapros.'mode=del&id='.mysql_result($result2,$i,'id').'&type=1"> [Удалить]</a><br/>';
  94. }else echo'<br/>';
  95. }
  96.  
  97. echo '<hr/>Сообщений: <b>'.mysql_num_rows($result2).'</b><br/>';
  98. } else echo 'Нет сообщений!<br/>';
  99.  
  100. if($_enter){
  101. echo'<a href="zadanie.php'.$_zapros.'mode=add_post&id='.$id.'">Добавить сообщение</a><br/>';
  102. }
  103. If ($page>1) echo '<a href="zadanie.php'.$_zapros.'mode=info&amp;page='.($page-1).'&id='.$id.'">Назад</a> ';
  104. If ($next) echo '<a href="zadanie.php'.$_zapros.'mode=info&amp;page='.($page+1).'&id='.$id.'">Вперед</a>';
  105.  
  106. echo'<br/><a href="zadanie.php'.$_zapros.'mode=index">Выполнение заданий</a>';
  107. }else echo'Ошибка при выборк задания!!!';
  108. break;
  109.  
  110. case 'add_post':
  111.  
  112. if($_enter){
  113. $id=$_GET['id'];
  114. echo'<form action="zadanie.php'.$_zapros.'mode=add_postok" method="POST"/>
  115. Сообщение 1-1000:<br/>
  116. <input type="text" name="text" maxlength="1000"/><br/>
  117. <input name="id" type="hidden" value="'.$id.'"/>
  118. <input type="Submit" value="Добавить"/></form>';
  119. }else echo 'Авторизуйся!';
  120. break;
  121.  
  122. case 'add_postok':
  123.  
  124. $date = date("Y.m.d - i:s");
  125. $id = $_POST['id'];
  126. $text = htmlspecialchars(trim(mysql_real_escape_string($_POST['text'])));
  127. $texti = strlen($text);
  128.  
  129. if(!$texti<1){
  130. @mysql_query("INSERT INTO `".prefix."zmsg` (`id_zadanie`,`login`,`text`,`date`) VALUE ('".$id."','".$_USER['login']."','".$text."','".$date."');");
  131. echo 'Сообщение добавлено!';
  132. } else echo 'Не верно введено сообщение!';
  133. break;
  134.  
  135. case 'del':
  136.  
  137. If ($_USER['admin'] || $_USER['moder']){
  138. $id = $_GET['id'];
  139. if($_GET['type']==1){
  140. @mysql_query("DELETE FROM `".prefix."zmsg` WHERE `id`='".$id."' LIMIT 1");
  141. echo 'Сообщение удалено!<br/>';
  142. }
  143. if($_GET['type']==2){
  144. @mysql_query("DELETE FROM `".prefix."zadanie` WHERE `id`='".$id."' LIMIT 1");
  145. echo 'Задание удалено!<br/>';
  146. }
  147. }else echo 'Вы не администратор!';
  148. break;
  149.  
  150. case 'vash':
  151.  
  152. if($_enter){
  153. $result = mysql_query("SELECT * FROM `".prefix."zadanie` WHERE `login`='".$_USER['login']."' ORDER by `purse` DESC");
  154. $rows = mysql_num_rows($result);
  155.  
  156. if($rows>0){
  157. echo 'Ваши задания (<b>'.$rows.'</b>):<br/>';
  158.  
  159. while($zad=mysql_fetch_array($result)){
  160. if($zad['status']==0) {$status='На модерации';}
  161. if($zad['status']==1) {$status='Активна';}
  162. if($zad['status']==2) {$status='Заблокирована';}
  163. if($zad['life']==0) {$status='Завершена';}
  164.  
  165. echo '<table border="1"><tr><td height="15" width="15" bgcolor="">#'.$zad['id'].'</td><td height="15" width="100" bgcolor="">'.$zad['name'].'</td><td>'.$zad['purse'].'</td><td>'.$zad['time_on'].'</td><td>'.$status.'</td><td><a href="zadanie.php'.$_zapros.'mode=msg&id='.$zad['id'].'">Сообщения</a></td></tr></table>';
  166. }
  167. }else echo 'У Вас нет заданий';
  168. }else echo 'Авторизуйся!';
  169. break;
  170.  
  171. case 'msg':
  172.  
  173. $id = $_GET['id'];
  174. $proverka = mysql_query("SELECT * FROM `".prefix."zadanie` WHERE `login`='".$_USER['login']."' and `id`='".$id."'");
  175. $papa = mysql_fetch_array($proverka);
  176. $pro = mysql_num_rows($proverka);
  177.  
  178. if(!$pro=0){
  179. $result = mysql_query("SELECT * FROM `".prefix."zmsg` WHERE `id_zadanie`='".$id."' ORDER by `date` DESC");
  180. $rows = mysql_num_rows($result);
  181.  
  182. If ($rows<1) {echo 'Нет сообщений';}
  183.  
  184. while($msg=mysql_fetch_array($result)){
  185. if($papa['life']>0){
  186. echo '<b>'.$msg['login'].'</b> '.$msg['date'].'<br/>'.$msg['text'].'';
  187. if($_USER['login']!=$msg['login']){
  188. echo'<a href="zadanie.php'.$_zapros.'mode=nagrada&login='.$msg['login'].'&zad='.$id.'">[наградить]</a><br/>';
  189. } else echo'<br/>';
  190. }
  191. }
  192. }else echo 'Ошибка!!! Сейчас Ваш аккаунт будет удалён администрацией!';
  193. break;
  194.  
  195. case 'nagrada':
  196.  
  197. if($_enter){
  198. $loga = $_USER['login'];
  199. $login = $_GET['login'];
  200. $id = $_GET['zad'];
  201. $prok = mysql_query("SELECT * FROM `".prefix."zadanie` WHERE `id`='".$id."' and `login`='".$loga."'");
  202. $pik = mysql_fetch_array($prok);
  203. $pr = mysql_num_rows($prok);
  204. $date = date("Y.m.d - i:s");
  205.  
  206. if($pik['life']>0){
  207. if($pr!==0){
  208. @mysql_query("UPDATE `".prefix."zadanie` SET `life`=`life`-1 WHERE `id`='".$id."'");
  209. @mysql_query("UPDATE `".prefix."users` SET `cfrom`=`cfrom`+'".$pik['purse']."' WHERE `login`='".$login."'");
  210. @mysql_query("INSERT INTO `".prefix."zmsg` (`id_zadanie` , `login` , `text` , `date` ) VALUES ('".$id."', '".$_USER['login']."', 'Оплата для ".$login."', '".$date."');");
  211. echo 'Пользователь <b>'.$login.'</b> награждён '.$pik['purse'].'!';
  212. } else echo 'Ошибка!!! Сейчас Ваш аккаунт будет удалён администрацией!';
  213. } else echo 'Ошибка!!! Задание уже завершенно!';
  214. } else echo 'Авторизуйтесь!';
  215. break;
  216.  
  217. case 'add':
  218.  
  219. if($_enter){
  220. echo'<form action="zadanie.php'.$_zapros.'mode=addok" method="POST"/>
  221. Заголовок задания (5-30):<br/>
  222. <input type="text" name="name" maxlength="50"/><br/>
  223. Участников:<br/>
  224. <input type="text" name="life"/><br/>
  225. Цена:<br/>
  226. <input type="text" name="purse"/><br/>
  227. Подробное описание:<br/>
  228. <textarea cols="35" rows="5" name="text"></textarea><br/>
  229. <input type="Submit" class="buttom" value="Добавить"/></form>';
  230. }else echo 'Авторизуйтесь!';
  231. break;
  232.  
  233. case 'addok':
  234.  
  235. $name = mysql_real_escape_string(htmlspecialchars($_POST['name']));
  236. $xname = strlen($name);
  237. $life = abs(intval(htmlspecialchars($_POST['life'])));
  238. $purse = abs(intval(htmlspecialchars($_POST['purse'])));
  239. $text = mysql_real_escape_string(htmlspecialchars($_POST['text']));
  240.  
  241. if ($life <= 0)
  242. {echo 'Ошибка!!! Надо наградить хотя бы 1 пользователя!<br/>';
  243. break;}
  244. if ($purse <= 0)
  245. {echo 'Ошибка!!! Надо награждать хотя бы 1 кредитом!<br/>';
  246. break;}
  247.  
  248. $xtext = strlen($text);
  249. $money = $purse*$life;
  250. $date = date("Y.m.d");
  251. $error = array();
  252.  
  253. if ($xname<5){$error[]="Ошибка!!! При вводе заголовка задания допущенны ошибки!<br/>";}
  254. if ($xtext<5){$error[]="Ошибка!!! При вводе полного описания допущенны ошибки!<br/>";}
  255. if ($_USER['cfrom']<$money){$error[]="Ошибка!!!На Вашем балансе не хватате средств!<br/>";}
  256.  
  257. $count = count($error);
  258. If ($count>0){
  259. echo 'При заполнении формы допущены ошибки.<br/>';
  260. for ($i=0;$i<$count;$i++) echo $error[$i]."<br/>";
  261. echo 'Повторите заполнение формы!<br/><a href="zadanie.php'.$_zapros.'mode=add">Добавить задание</a>';
  262. break;
  263. }
  264.  
  265. @mysql_query("INSERT INTO `".prefix."zadanie` (`login` , `name` , `text` , `purse` , `life` , `time_on`,`status`) VALUES('".$_USER['login']."' , '".$name."' , '".$text."' , '".$purse."' , '".$life."' , '".$date."','0');");
  266. @mysql_query("UPDATE `".prefix."users` SET `cfrom`=`cfrom`-'".$money."' WHERE `login`='".$_USER['login']."'");
  267. echo'Задание добавлено!<br/>';
  268. break;
  269.  
  270. case 'admin':
  271.  
  272. $res = mysql_query("SELECT * FROM `".prefix."zadanie` WHERE `status`='0'");
  273. $rows = mysql_num_rows($res);
  274. If ($_USER['admin'] || $_USER['moder']){
  275. echo'+ <a href="zadanie.php'.$_zapros.'mode=mode">Задания на модерации</a> ('.$rows.')<br/>';
  276. }
  277. break;
  278.  
  279. case 'mode':
  280.  
  281. If ($_USER['admin'] || $_USER['moder']){
  282. $result=mysql_query("SELECT * FROM `".prefix."zadanie` WHERE `status`='0'");
  283. while($mode=mysql_fetch_array($result)){
  284. echo'
  285. <b>Заголовок:</b> '.$mode['name'].'<br/>
  286. <b>Описание:</b> '.$mode['text'].'<br/>
  287. <b>Учасников:</b> '.$mode['life'].'<br/>
  288. <b>Цена:</b> '.$mode['purse'].'<br/>
  289. <b>Деуствие:</b> <a href="zadanie.php'.$_zapros.'mode=block&type=1&id='.$mode['id'].'">[Допустить]</a> <a href="zadanie.php'.$_zapros.'mode=block&type=2&id='.$mode['id'].'">[Заблокировать]</a>
  290. <hr/>
  291. ';
  292. }
  293. }
  294. break;
  295.  
  296. case 'block':
  297.  
  298. If ($_USER['admin'] || $_USER['moder']){
  299. $id=$_GET['id'];
  300. $type=$_GET['type'];
  301. if($type==1)
  302. {
  303. mysql_query("UPDATE `".prefix."zadanie` SET `status`='1' WHERE `id`='".$id."'");
  304. echo'Задание допущено!';
  305. }
  306. if($type==2)
  307. {
  308. mysql_query("UPDATE `".prefix."zadanie` SET `status`='2' WHERE `id`='".$id."'");
  309. echo'Задание заблокировано!';
  310. }
  311. }else echo'Ошибка!!! Сейчас Ваш аккаунт будет удалён!';
  312. break;
  313.  
  314. break;
  315. }
  316.  
  317. If ($_USER['admin'] || $_USER['moder']){
  318. echo '<br/><a href="zadanie.php'.$_zapros.'mode=admin">Админка заданий</a><br/>';
  319. }
  320.  
  321. include("header/end.inc.php");
  322. ?>