source: aowow/comment.php

Last change on this file was 170, checked in by maron, 16 years ago
  • Property svn:executable set to *
File size: 3.3 KB
Line 
1<?php
2
3require_once ('includes/game.php');
4
5function urlfromtype($type, $typeid)
6{
7 global $types;
8 return $types[$type].'='.$typeid.'#comments';
9}
10
11switch($_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;
75endswitch;
76
77?>
Note: See TracBrowser for help on using the repository browser.