| 1 | <?php
|
|---|
| 2 |
|
|---|
| 3 | require_once ('includes/game.php');
|
|---|
| 4 |
|
|---|
| 5 | function urlfromtype($type, $typeid)
|
|---|
| 6 | {
|
|---|
| 7 | global $types;
|
|---|
| 8 | return $types[$type].'='.$typeid.'#comments';
|
|---|
| 9 | }
|
|---|
| 10 |
|
|---|
| 11 | switch($_REQUEST["comment"]):
|
|---|
| 12 | case 'add':
|
|---|
| 13 | // Добавление комментария
|
|---|
| 14 | // $_GET["type"] - тип страницы
|
|---|
| 15 | // $_GET["typeid"] - номер страницы
|
|---|
| 16 | // $_POST['commentbody'] - текст комментария
|
|---|
| 17 | // $_POST['replyto'] - номер поста, на который отвечает
|
|---|
| 18 | // $_SESSION['userid'] - номер пользователя
|
|---|
| 19 | $newid = $DB->query('INSERT
|
|---|
| 20 | INTO ?_comments(`type`, `typeid`, `userid`, `commentbody`, `post_date`{, ?#})
|
|---|
| 21 | VALUES (?d, ?d, ?d, ?, NOW(){, ?d})',
|
|---|
| 22 | (empty($_POST['replyto'])? DBSIMPLE_SKIP : 'replyto'),
|
|---|
| 23 | $_GET["type"],
|
|---|
| 24 | $_GET["typeid"],
|
|---|
| 25 | (empty($_SESSION['userid'])? 0 : $_SESSION['userid']) ,
|
|---|
| 26 | stripslashes($_POST['commentbody']),
|
|---|
| 27 | (empty($_POST['replyto'])? DBSIMPLE_SKIP : $_POST['replyto'])
|
|---|
| 28 | );
|
|---|
| 29 | if (empty($_POST['replyto']))
|
|---|
| 30 | $DB->query('UPDATE ?_comments SET `replyto`=?d WHERE `id`=?d LIMIT 1', $newid, $newid);
|
|---|
| 31 | echo '<meta http-equiv="Refresh" content="0; URL=?'.urlfromtype($_GET["type"], $_GET["typeid"]).'">';
|
|---|
| 32 | echo '<style type="text/css">';
|
|---|
| 33 | echo 'body {background-color: black;}';
|
|---|
| 34 | echo '</style>';
|
|---|
| 35 | break;
|
|---|
| 36 | case 'delete':
|
|---|
| 37 | // Удаление комментарий (Ajax)
|
|---|
| 38 | // Номер комментария: $_GET['id']
|
|---|
| 39 | // Имя пользователя, удаляющего комментарий: $_GET['username']
|
|---|
| 40 | $DB->query('DELETE FROM ?_comments WHERE `id`=?d {AND `userid`=?d} LIMIT 1',
|
|---|
| 41 | $_GET['id'],
|
|---|
| 42 | ($_SESSION['roles']>1)? DBSIMPLE_SKIP : $_SESSION['userid']
|
|---|
| 43 | );
|
|---|
| 44 | break;
|
|---|
| 45 | case 'edit':
|
|---|
| 46 | // Редактирование комментария
|
|---|
| 47 | // Номер комментария: $_GET['id']
|
|---|
| 48 | // Новое содержание комментария: $_POST['body']
|
|---|
| 49 | // Номер пользователя: $_SESSION['userid']
|
|---|
| 50 | if (IsSet($_POST['body']))
|
|---|
| 51 | $DB->query('UPDATE ?_comments SET `commentbody`=?, `edit_userid`=?, `edit_date`=NOW() WHERE `id`=?d {AND `userid`=?d} LIMIT 1',
|
|---|
| 52 | stripslashes($_POST['body']), $_SESSION['userid'], $_GET['id'],
|
|---|
| 53 | ($_SESSION['roles']>1)? DBSIMPLE_SKIP : $_SESSION['userid']
|
|---|
| 54 | );
|
|---|
| 55 | echo $_POST['body'];
|
|---|
| 56 | break;
|
|---|
| 57 | case 'rate':
|
|---|
| 58 | /*
|
|---|
| 59 | * Установка собственоого рейтинга (модераторы и т.п.)
|
|---|
| 60 | * Номер комментария: $_GET['id']
|
|---|
| 61 | * Новое значение рейтинга: $_GET['rating']
|
|---|
| 62 | * Номер пользователя: $_SESSION['userid']
|
|---|
| 63 | */
|
|---|
| 64 | // Проверка на хоть какое то значение рейтинга, и на то, что пользователь за этот коммент не голосовал
|
|---|
| 65 | if (IsSet($_GET['rating']) and !($DB->selectCell('SELECT `commentid` FROM ?_comments_rates WHERE `userid`=?d AND `commentid`=?d LIMIT 1', $_SESSION['userid'], $_GET['id'])))
|
|---|
| 66 | $DB->query('INSERT INTO ?_comments_rates(`commentid`, `userid`, `rate`) VALUES (?d, ?d, ?d)',
|
|---|
| 67 | $_GET['id'], $_SESSION['userid'], $_GET['rating']);
|
|---|
| 68 | break;
|
|---|
| 69 | case 'undelete':
|
|---|
| 70 | // Восстановление комментария
|
|---|
| 71 | // Номер комментария: $_GET['id']
|
|---|
| 72 | // Имя пользователя, удаляющего комментарий: $_GET['username']
|
|---|
| 73 | default:
|
|---|
| 74 | break;
|
|---|
| 75 | endswitch;
|
|---|
| 76 |
|
|---|
| 77 | ?>
|
|---|