И так в базу:
Код:
CREATE TABLE `usercomments` ( `id` int(10) unsigned NOT NULL auto_increment, `user` int(10) unsigned NOT NULL default '0', `userid` int(10) unsigned NOT NULL default '0', `added` datetime NOT NULL default '0000-00-00 00:00:00', `text` text NOT NULL, `ori_text` text NOT NULL, `editedby` int(10) unsigned NOT NULL default '0', `editedat` datetime NOT NULL default '0000-00-00 00:00:00', `ip` varchar(15) NOT NULL default '', PRIMARY KEY (`id`), KEY `user` (`user`), KEY `news` (`userid`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=0 ;
В userdetails.php:
Код:
//Tooools comment/// print("</td></tr></table>\n"); $pre_query = sql_query("SELECT MAX(id) AS preid FROM users WHERE id < $id") or sqlerr(__FILE__, __LINE__); $pre = mysql_fetch_array($pre_query); $next_query = sql_query("SELECT MIN(id) AS nextid FROM users WHERE id > $id") or sqlerr(__FILE__, __LINE__); $next = mysql_fetch_array($next_query); print("<br><br>".(isset($pre["preid"]) ? "<a href='userdetails.php?id=".$pre["preid"]."'><b><< Предыдущая </b></a>" : "<span style=\"color:#AAAAAA;font-weight:bold\"><b><< Предыдущая </b></span>")."|".(isset($next["nextid"]) ? "<a href='userdetails.php?id=".$next["nextid"]."'><b> Следующая >></b></a>" : "<span style=\"color:#AAAAAA;font-weight:bold\"><b> Следующая >></b></span>")."<br><br>"); begin_frame(); $subres = sql_query("SELECT COUNT(*) FROM usercomments WHERE userid = $id"); $subrow = mysql_fetch_array($subres); $count = $subrow[0]; $limited = 1; if (!$count) { print("<table style=\"margin-top: 2px;\" cellpadding=\"5\" width=\"100%\">"); print("<tr><td class=colhead align=\"left\" colspan=\"2\">"); print("<div style=\"float: left; width: auto;\" align=\"left\"> :: Список комментариев</div>"); print("<div align=\"right\"><a href=userdetails.php?id=$id#comments class=altlink_white>Добавить комментарий</a></div>"); print("</td></tr><tr><td align=\"center\">"); print("Комментариев нет. <a href=userdetails.php?id=$id#comments>Желаете добавить?</a>"); print("</td></tr></table><br />"); } else { list($pagertop, $pagerbottom, $limit) = pager($limited, $count, "userdetails.php?id=$id&", "#comments-table", array(lastpagedefault => 1)); $subres = sql_query("SELECT c.id, c.ip, c.text, c.user, c.added, c.editedby, c.editedat, u.avatar, u.warned, ". "u.username, u.title, u.class, u.donor, u.downloaded, u.uploaded, u.gender, u.last_access, e.username AS editedbyname FROM usercomments AS c LEFT JOIN users AS u ON c.user = u.id LEFT JOIN users AS e ON c.editedby = e.id WHERE userid = " . "$id ORDER BY c.id $limit") or sqlerr(__FILE__, __LINE__); $allrows = array(); while ($subrow = mysql_fetch_array($subres)) $allrows[] = $subrow; print("<table id=\"comments-table\" class=main cellspacing=\"0\" cellPadding=\"5\" width=\"100%\" >"); print("<tr><td class=\"colhead\" align=\"center\">"); print("<div style=\"float: left; width: auto;\" align=\"left\"> :: Список комментариев</div>"); print("<div align=\"right\"><a href=\"userdetails.php?id=$id#comments\" class=\"altlink_white\">{$tracker_lang['add_comment']}</a></div>"); print("</td></tr>"); print("<tr><td>"); print($pagertop); print("</td></tr>"); print("<tr><td>"); commenttable($allrows,'usercomment'); print("</td></tr>"); print("<tr><td>"); print($pagerbottom); print("</td></tr>"); print("</table>"); } if (!$ajax) { print("<table style=\"margin-top: 2px;\" cellpadding=\"5\" width=\"100%\">"); print("<tr><td class=colhead align=\"left\" colspan=\"2\"> <div id=\"comments\"></div><b>:: {$tracker_lang['add_comment']} к пользователю</b></td></tr>"); print("<tr><td width=\"100%\" align=\"center\" >"); //print("Ваше имя: "); //print("".$CURUSER['username']."<p>"); print("<form name=comment method=\"post\" action=\"usercomment.php?action=add\">"); print("<center><table border=\"0\"><tr><td class=\"clear\">"); print("<div align=\"center\">". textbbcode("comment","text","") ."</div>"); print("</td></tr></table></center>"); print("</td></tr><tr><td align=\"center\" colspan=\"2\">"); print("<input type=\"hidden\" name=\"uid\" value=\"$id\"/>"); print("<input type=\"submit\" class=btn value=\"Разместить комментарий\" />"); print("</td></tr></form></table>"); } ///Tooools comment///
В корень usercomment.php
Код:
<? /* // +--------------------------------------------------------------------------+ // | Project: Tooools -- KinoZAL -- UserComment | // +--------------------------------------------------------------------------+ */ require_once("include/bittorrent.php"); $action = $_GET["action"]; dbconn(); loggedinorreturn(); parked(); if ($action == "add") { if ($_SERVER["REQUEST_METHOD"] == "POST") { if(!is_valid_id($_POST["uid"])) stderr($tracker_lang["error"],$tracker_lang["invalid_id"]); $uid = (int) $_POST["uid"]; $text = trim(($_POST["text"])); if (!$text) stderr($tracker_lang['error'], $tracker_lang['comment_cant_be_empty']); sql_query("INSERT INTO usercomments (user, userid, added, text, ori_text, ip) VALUES (" . $CURUSER["id"] . ",$uid, '" .get_date_time()."', " . sqlesc($text) . "," . sqlesc($text) ."," . sqlesc(getip()) . ")") or die(mysql_error()); $newid = mysql_insert_id(); header("Refresh: 0; url=userdetails.php?id=$uid&viewcomm=$newid#comm$newid"); die; } if (!is_valid_id($_GET["uid"])) stderr($tracker_lang['error'], $tracker_lang['invalid_id']); $uid = (int) $_GET["uid"]; stdhead("Добление комментария к пользователю"); print("<p><form name=\"comment\" method=\"post\" action=\"usercomment.php?action=add\">\n"); print("<input type=\"hidden\" name=\"uid\" value=\"$uid\"/>\n"); ?> <table class="main" border="0" cellspacing="0" cellpadding="3"> <tr> <td class="colhead"> <? print("".$tracker_lang['add_comment']." к пользователю"); ?> </td> </tr> <tr> <td> <? print textbbcode("comment","text",""); ?> </td></tr></table> <? //print("<textarea name=\"text\" rows=\"10\" cols=\"60\"></textarea></p>\n"); print("<p><input type=\"submit\" value=\"Добавить\" /></p></form>\n"); $res = sql_query("SELECT usercomments.id, text, usercomments.ip, usercomments.added, username, title, class, users.id as user, users.avatar, users.donor, users.enabled, users.warned, users.parked FROM usercomments LEFT JOIN users ON usercomments.user = users.id WHERE userid = $uid ORDER BY comments.id DESC"); $allrows = array(); while ($row = mysql_fetch_array($res)) $allrows[] = $row; if (count($allrows)) { print("<h2>Последние комментарии, в обратном порядке</h2>\n"); commenttable($allrows); } stdfoot(); die; } elseif ($action == "quote") { if (!is_valid_id($_GET["cid"])) stderr($tracker_lang['error'], $tracker_lang['invalid_id']); $commentid = (int) $_GET["cid"]; $res = sql_query("SELECT c.*, u.username, u.id AS uid, u.username FROM usercomments AS c LEFT JOIN users AS t ON c.user = c.id JOIN users AS u ON c.user = u.id WHERE c.id=$commentid") or sqlerr(__FILE__,__LINE__); $arr = mysql_fetch_array($res); if (!$arr) stderr($tracker_lang['error'], $tracker_lang['invalid_id']); stdhead("Добавления комментария к пользователю"); $text = "[quote=$arr[username]]" . $arr["text"] . "[/quote]\n"; print("<form method=\"post\" name=\"comment\" action=\"usercomment.php?action=add\">\n"); print("<input type=\"hidden\" name=\"uid\" value=\"$arr[uid]\" />\n"); ?> <table class="main" border="0" cellspacing="0" cellpadding="3"> <tr> <td class="colhead"> <? print("Добавления комментария к пользователю"); ?> </td> </tr> <tr> <td> <? print textbbcode("comment","text","$text"); ?> </td></tr></table> <? print("<p><input type=\"submit\" value=\"Добавить\" /></p></form>\n"); stdfoot(); } elseif ($action == "edit") { if (!is_valid_id($_GET["cid"])) stderr($tracker_lang['error'], $tracker_lang['invalid_id']); $commentid = (int) $_GET["cid"]; $res = sql_query("SELECT nc.*, n.id AS uid FROM usercomments AS nc LEFT JOIN users AS n ON nc.userid = n.id WHERE nc.id=$commentid") or sqlerr(__FILE__,__LINE__); $arr = mysql_fetch_array($res); if (!$arr) stderr($tracker_lang['error'], $tracker_lang['invalid_id']); if ($arr["user"] != $CURUSER["id"] && get_user_class() < UC_MODERATOR) stderr($tracker_lang['error'], $tracker_lang['access_denied']); if ($_SERVER["REQUEST_METHOD"] == "POST") { $text = ((string)$_POST["text"]); $returnto = strip_tags($_POST['returnto']); if ($text == "") stderr($tracker_lang['error'], $tracker_lang['comment_cant_be_empty']); $text = sqlesc($text); $editedat = sqlesc(get_date_time()); sql_query("UPDATE usercomments SET text=$text,editedat=$editedat, editedby=$CURUSER[id] WHERE id=$commentid") or sqlerr(__FILE__, __LINE__); if ($returnto) header("Location: $returnto"); else header("Location: $DEFAULTBASEURL/"); die; } stdhead("Редактирование комментария к пользователю"); print("<form method=\"post\" name=\"comment\" action=\"usercomment.php?action=edit&cid=$commentid\">\n"); print("<input type=\"hidden\" name=\"returnto\" value=\"userdetails.php?id={$arr["uid"]}&viewcomm=$commentid#comm$commentid\" />\n"); print("<input type=\"hidden\" name=\"cid\" value=\"$commentid\" />\n"); ?> <table class="main" border="0" cellspacing="0" cellpadding="3"> <tr> <td class="colhead"> <? print("Редактирование комментария к пользователю"); ?> </td> </tr> <tr> <td> <? print textbbcode("comment","text",htmlspecialchars($arr["text"])); ?> </td></tr></table> <? print("<p><input type=\"submit\" value=\"Отредактировать\" /></p></form>\n"); stdfoot(); die; } elseif ($action == "delete") { if (get_user_class() < UC_MODERATOR) stderr($tracker_lang['error'], $tracker_lang['access_denied']); if (!is_valid_id($_GET["cid"])) stderr($tracker_lang['error'], $tracker_lang['invalid_id']); $commentid = (int) $_GET["cid"]; $res = sql_query("SELECT userid FROM usercomments WHERE id=$commentid") or sqlerr(__FILE__,__LINE__); $arr = mysql_fetch_array($res); if ($arr) $uid = $arr["userid"]; sql_query("DELETE FROM usercomments WHERE id=$commentid") or sqlerr(__FILE__,__LINE__); list($commentid) = mysql_fetch_row(sql_query("SELECT id FROM usercomments WHERE userid = $uid ORDER BY added DESC LIMIT 1")); $returnto = "userdetails.php?id=$uid&viewcomm=$commentid#comm$commentid"; if ($returnto) header("Location: $returnto"); else header("Location: $DEFAULTBASEURL/"); die; } elseif ($action == "vieworiginal") { if (get_user_class() < UC_MODERATOR) stderr($tracker_lang['error'], $tracker_lang['access_denied']); $commentid = 0 + $_GET["cid"]; if (!is_valid_id($commentid)) stderr($tracker_lang['error'], $tracker_lang['invalid_id']); $res = sql_query("SELECT c.*, u.username, u.id AS uid FROM usercomments AS c LEFT JOIN users AS u ON c.user = u.id WHERE c.id=$commentid") or sqlerr(__FILE__,__LINE__); $arr = mysql_fetch_array($res); if (!$arr) stderr($tracker_lang['error'], "Неверный идентификатор $commentid."); stdhead("Просмотр оригинала"); print("<h1>Оригинальное содержание комментария №$commentid</h1><p>\n"); print("<table width=500 border=1 cellspacing=0 cellpadding=5>"); print("<tr><td class=comment>\n"); echo htmlspecialchars($arr["ori_text"]); print("</td></tr></table>\n"); $returnto = "userdetails.php?id={$arr["uid"]}&viewcomm=$commentid#comm$commentid"; //$returnto = "userdetails.php?id=$userid&viewcomm=$commentid#$commentid"; if ($returnto) print("<p><font size=small><a href=$returnto>Назад</a></font></p>\n"); stdfoot(); die; } else stderr($tracker_lang['error'], "Unknown action"); die; ?>