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 | ?>
|
---|