mirror of
https://github.com/e107inc/e107.git
synced 2025-04-21 21:21:54 +02:00
parent
bc07d4d7f2
commit
a9e79ac5ef
163
comment.php
163
comment.php
@ -11,9 +11,9 @@
|
||||
| GNU General Public License (http://gnu.org).
|
||||
|
|
||||
| $Source: /cvs_backup/e107_0.8/comment.php,v $
|
||||
| $Revision: 1.2 $
|
||||
| $Date: 2007-01-05 09:00:52 $
|
||||
| $Author: lisa_ $
|
||||
| $Revision: 1.3 $
|
||||
| $Date: 2007-08-17 19:23:26 $
|
||||
| $Author: e107steved $
|
||||
+----------------------------------------------------------------------------+
|
||||
*/
|
||||
require_once("class2.php");
|
||||
@ -29,62 +29,80 @@ if (!e_QUERY) {
|
||||
$cobj =& new comment;
|
||||
|
||||
$temp_query = explode(".", e_QUERY);
|
||||
$action = $temp_query[0];
|
||||
$table = $temp_query[1];
|
||||
$id = (isset($temp_query[2]) ? intval($temp_query[2]) : "");
|
||||
$nid = (isset($temp_query[3]) ? intval($temp_query[3]) : "");
|
||||
$xid = (isset($temp_query[4]) ? intval($temp_query[4]) : "");
|
||||
$action = $temp_query[0]; // Usually says 'comment' - may say 'reply'
|
||||
$table = $temp_query[1]; // Table containing item associated with comment(s)
|
||||
$id = intval(varset($temp_query[2], "")); // ID of item associated with comments (e.g. news ID)
|
||||
// For reply with nested comments, its the ID of the comment
|
||||
$nid = intval(varset($temp_query[3], "")); // Action - e.g. 'edit'. Or news ID for reply with nested comments
|
||||
$xid = intval(varset($temp_query[4], "")); // ID of target comment
|
||||
global $comment_edit_query;
|
||||
//$comment_edit_query = '';
|
||||
//if ($temp_query[3] == 'edit') $comment_edit_query = $temp_query[0].".".$temp_query[1].".".$temp_query[2];
|
||||
$comment_edit_query = $temp_query[0].".".$temp_query[1].".".$temp_query[2];
|
||||
unset($temp_query);
|
||||
|
||||
if (isset($_POST['commentsubmit']) || isset($_POST['editsubmit'])) {
|
||||
if (isset($_POST['commentsubmit']) || isset($_POST['editsubmit']))
|
||||
{
|
||||
if(!ANON && !USER)
|
||||
{
|
||||
header("location: ".e_BASE."index.php");
|
||||
exit;
|
||||
}
|
||||
|
||||
if($table == "poll") {
|
||||
if (!$sql->db_Select("polls", "poll_title", "`poll_id` = {$id} AND `poll_comment` = 1")) {
|
||||
if($table == "poll")
|
||||
{
|
||||
if (!$sql->db_Select("polls", "poll_title", "`poll_id` = '{$id}' AND `poll_comment` = 1"))
|
||||
{
|
||||
header("location: ".e_BASE."index.php");
|
||||
exit;
|
||||
}
|
||||
} else if($table == "news") {
|
||||
if (!$sql->db_Select("news", "news_allow_comments", "`news_id` = {$id} AND `news_allow_comments` = 0")) {
|
||||
} else if($table == "news")
|
||||
{
|
||||
if (!$sql->db_Select("news", "news_allow_comments", "`news_id` = '{$id}' AND `news_allow_comments` = 0"))
|
||||
{
|
||||
header("location: ".e_BASE."index.php");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
$pid = (isset($_POST['pid']) ? $_POST['pid'] : 0);
|
||||
$pid = intval($pid);
|
||||
// $pid = (isset($_POST['pid']) ? $_POST['pid'] : 0);
|
||||
// $pid = intval($pid);
|
||||
$pid = intval(varset($_POST['pid'], 0));
|
||||
|
||||
$editpid = intval((isset($_POST['editpid']) ? $_POST['editpid'] : false));
|
||||
$editpid = intval(varset($_POST['editpid'], 0)); // ID of the specific comment being edited
|
||||
|
||||
$clean_authorname = $_POST['author_name'];
|
||||
$clean_comment = $_POST['comment'];
|
||||
$clean_subject = $_POST['subject'];
|
||||
|
||||
$cobj->enter_comment($clean_authorname, $clean_comment, $table, $id, $pid, $clean_subject);
|
||||
if ($table == "news") {
|
||||
if ($table == "news")
|
||||
{
|
||||
$e107cache->clear("news");
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$e107cache->clear("comment.php?{$table}.{$id}");
|
||||
}
|
||||
|
||||
if($editpid) {
|
||||
if($editpid)
|
||||
{
|
||||
$redir = preg_replace("#\.edit.*#si", "", e_QUERY);
|
||||
header("Location: ".e_SELF."?{$redir}");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (isset($_POST['replysubmit']))
|
||||
{
|
||||
|
||||
if ($table == "news" && !$sql->db_Select("news", "news_allow_comments", "news_id='{$nid}' ")) {
|
||||
if ($table == "news" && !$sql->db_Select("news", "news_allow_comments", "news_id='{$nid}' "))
|
||||
{
|
||||
header("location:".e_BASE."index.php");
|
||||
exit;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$row = $sql->db_Fetch();
|
||||
if (!$row['news_id']) {
|
||||
$pid = (isset($_POST['pid']) ? $_POST['pid'] : 0);
|
||||
@ -137,28 +155,41 @@ if (isset($_POST['replysubmit']))
|
||||
}
|
||||
}
|
||||
|
||||
if ($action == "reply") {
|
||||
if (!$pref['nested_comments']) {
|
||||
$comment_ob_start = FALSE;
|
||||
if ($action == "reply")
|
||||
{
|
||||
if (!$pref['nested_comments'])
|
||||
{
|
||||
header("Location: ".e_BASE."comment.php?comment.{$table}.{$nid}");
|
||||
exit;
|
||||
}
|
||||
|
||||
$query = "`comment_id` = '{$id}' LIMIT 0,1";
|
||||
if ($sql->db_Select("comments", "comment_subject", "`comment_id` = '{$id}'")) {
|
||||
if ($sql->db_Select("comments", "comment_subject", "`comment_id` = '{$id}'"))
|
||||
{
|
||||
list($comments['comment_subject']) = $sql->db_Fetch();
|
||||
$subject = $comments['comment_subject'];
|
||||
$subject_header = $tp->toHTML($comments['comment_subject']);
|
||||
}
|
||||
if ($subject == "") {
|
||||
if ($table == "news") {
|
||||
if (!$sql->db_Select("news", "news_title", "news_id='{$nid}' ")) {
|
||||
header("location: ".e_BASE."index.php");
|
||||
exit;
|
||||
} else {
|
||||
list($news['news_title']) = $sql->db_Fetch();
|
||||
$subject = $news['news_title'];
|
||||
$title = COMLAN_100;
|
||||
}
|
||||
} elseif ($table == "poll") {
|
||||
|
||||
if ($subject == "")
|
||||
{
|
||||
if ($table == "news")
|
||||
{
|
||||
if (!$sql->db_Select("news", "news_title", "news_id='{$nid}' "))
|
||||
{
|
||||
header("location: ".e_BASE."index.php");
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
list($news['news_title']) = $sql->db_Fetch();
|
||||
$subject = $news['news_title'];
|
||||
$title = COMLAN_100;
|
||||
}
|
||||
}
|
||||
elseif ($table == "poll")
|
||||
{
|
||||
if (!$sql->db_Select("polls", "poll_title", "poll_id='{$nid}' ")) {
|
||||
header("location:".e_BASE."index.php");
|
||||
exit;
|
||||
@ -167,15 +198,21 @@ if ($action == "reply") {
|
||||
$subject = $poll['poll_title'];
|
||||
$title = COMLAN_101;
|
||||
}
|
||||
} elseif ($table == "content") {
|
||||
}
|
||||
elseif ($table == "content")
|
||||
{
|
||||
$sql->db_Select("content", "content_heading", "content_id='{$nid}'");
|
||||
$subject = $content['content_heading'];
|
||||
} elseif ($table == "bugtracker") {
|
||||
}
|
||||
elseif ($table == "bugtracker")
|
||||
{
|
||||
$sql->db_Select("bugtrack", "bugtrack_summary", "bugtrack_id='{$nid}'");
|
||||
$subject = $content['content_heading'];
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($table == "content") {
|
||||
|
||||
if ($table == "content")
|
||||
{
|
||||
$sql->db_Select("content", "content_type", "content_id='{$nid}'");
|
||||
list($content['content_type']) = $sql->db_Fetch();
|
||||
if ($content['content_type'] == "0") {
|
||||
@ -192,22 +229,27 @@ if ($action == "reply") {
|
||||
|
||||
define('e_PAGETITLE', $title." / ".COMLAN_99." / ".COMLAN_102.$subject."");
|
||||
require_once(HEADERF);
|
||||
} else {
|
||||
|
||||
|
||||
if ($cache = $e107cache->retrieve("comment.php?{$table}.{$id}")) {
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($cache = $e107cache->retrieve("comment.php?{$table}.{$id}"))
|
||||
{
|
||||
require_once(HEADERF);
|
||||
echo $cache;
|
||||
require_once(FOOTERF);
|
||||
exit;
|
||||
} else {
|
||||
if ($table == "news") {
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($table == "news")
|
||||
{
|
||||
/*
|
||||
changes by jalist 19/01/05:
|
||||
updated db query removed one call
|
||||
*/
|
||||
|
||||
if(isset($pref['trackbackEnabled']) && $pref['trackbackEnabled']) {
|
||||
if(isset($pref['trackbackEnabled']) && $pref['trackbackEnabled'])
|
||||
{
|
||||
$query = "SELECT COUNT(tb.trackback_pid) AS tb_count, n.*, u.user_id, u.user_name, u.user_customtitle, nc.category_name, nc.category_icon FROM #news AS n
|
||||
LEFT JOIN #user AS u ON n.news_author = u.user_id
|
||||
LEFT JOIN #news_category AS nc ON n.news_category = nc.category_id
|
||||
@ -216,7 +258,9 @@ if ($action == "reply") {
|
||||
AND n.news_id={$id}
|
||||
AND n.news_allow_comments=0
|
||||
GROUP by n.news_id";
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$query = "SELECT n.*, u.user_id, u.user_name, u.user_customtitle, nc.category_name, nc.category_icon FROM #news AS n
|
||||
LEFT JOIN #user AS u ON n.news_author = u.user_id
|
||||
LEFT JOIN #news_category AS nc ON n.news_category = nc.category_id
|
||||
@ -225,26 +269,34 @@ if ($action == "reply") {
|
||||
AND n.news_allow_comments=0";
|
||||
}
|
||||
|
||||
if (!$sql->db_Select_gen($query)) {
|
||||
if (!$sql->db_Select_gen($query))
|
||||
{
|
||||
header("location:".e_BASE."index.php");
|
||||
exit;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$news = $sql->db_Fetch();
|
||||
$subject = $tp->toForm($news['news_title']);
|
||||
define("e_PAGETITLE", COMLAN_100." / ".COMLAN_99." / {$subject}");
|
||||
require_once(HEADERF);
|
||||
ob_start();
|
||||
$comment_ob_start = TRUE;
|
||||
$ix = new news;
|
||||
$ix->render_newsitem($news, "extend"); // extend so that news-title-only news text is displayed in full when viewing comments.
|
||||
$field = $news['news_id'];
|
||||
$comtype = 0;
|
||||
}
|
||||
}
|
||||
else if($table == "poll") {
|
||||
if (!$sql->db_Select("polls", "*", "poll_id='{$id}'")) {
|
||||
else if($table == "poll")
|
||||
{
|
||||
if (!$sql->db_Select("polls", "*", "poll_id='{$id}'"))
|
||||
{
|
||||
header("location:".e_BASE."index.php");
|
||||
exit;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
$row = $sql->db_Fetch();
|
||||
$comments_poll = $row['poll_comment'];
|
||||
$subject = $row['poll_title'];
|
||||
@ -265,7 +317,8 @@ if ($action == "reply") {
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($pref['trackbackEnabled']) && $pref['trackbackEnabled'] && $table == "news"){
|
||||
if(isset($pref['trackbackEnabled']) && $pref['trackbackEnabled'] && $table == "news")
|
||||
{
|
||||
echo "<span class='smalltext'><b>".$pref['trackbackString']."</b> ".$e107->http_path.e_PLUGIN."trackback/trackback.php?pid={$id}</span>";
|
||||
}
|
||||
$field = ($field ? $field : ($id ? $id : ""));
|
||||
@ -276,7 +329,7 @@ if (!strstr(e_QUERY, "poll")) {
|
||||
$cache = ob_get_contents();
|
||||
$e107cache->set("comment.php?{$table}.{$field}", $cache);
|
||||
}
|
||||
ob_end_flush(); // dump the buffer we started
|
||||
if ($comment_ob_start) ob_end_flush(); // dump the buffer we started
|
||||
|
||||
|
||||
if(isset($pref['trackbackEnabled']) && $pref['trackbackEnabled'] && $table == "news"){
|
||||
|
@ -11,8 +11,8 @@
|
||||
| GNU General Public License (http://gnu.org).
|
||||
|
|
||||
| $Source: /cvs_backup/e107_0.8/e107_files/shortcode/batch/comment_shortcodes.php,v $
|
||||
| $Revision: 1.3 $
|
||||
| $Date: 2006-12-29 16:20:46 $
|
||||
| $Revision: 1.4 $
|
||||
| $Date: 2007-08-17 19:23:26 $
|
||||
| $Author: e107steved $
|
||||
+----------------------------------------------------------------------------+
|
||||
*/
|
||||
@ -97,7 +97,7 @@ return (isset($comrow['comment_blocked']) && $comrow['comment_blocked'] ? COMLAN
|
||||
SC_END
|
||||
|
||||
SC_BEGIN COMMENTEDIT
|
||||
global $COMMENTEDIT, $pref, $comrow, $imode;
|
||||
global $COMMENTEDIT, $pref, $comrow, $comment_edit_query, $imode;
|
||||
if ($pref['allowCommentEdit'] && USER && $comrow['user_id'] == USERID && $comrow['comment_lock'] != "1")
|
||||
{
|
||||
if (!strstr(e_QUERY, "."))
|
||||
@ -106,7 +106,7 @@ if ($pref['allowCommentEdit'] && USER && $comrow['user_id'] == USERID && $comrow
|
||||
}
|
||||
else
|
||||
{
|
||||
return "<a href='".e_SELF."?".e_QUERY.".edit.".$comrow['comment_id']."'><img src='".e_IMAGE."packs/".$imode."/generic/newsedit.png' alt='".COMLAN_318."' title='".COMLAN_318."' style='border: 0;' /></a>";
|
||||
return "<a href='".e_SELF."?".$comment_edit_query.".edit.".$comrow['comment_id']."'><img src='".e_IMAGE."packs/".$imode."/generic/newsedit.png' alt='".COMLAN_318."' title='".COMLAN_318."' style='border: 0;' /></a>";
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -123,7 +123,7 @@ SC_END
|
||||
SC_BEGIN IPADDRESS
|
||||
global $IPADDRESS, $comrow;
|
||||
require_once(e_HANDLER."encrypt_handler.php");
|
||||
return (ADMIN ? "<a href='".e_BASE."userposts.php?0.comments.".$comrow['user_ip']."'>".COMLAN_330." ".decode_ip($comrow['comment_ip'])."</a>" : "");
|
||||
return (ADMIN ? "<a href='".e_BASE."userposts.php?0.comments.".$comrow['user_id']."'>".COMLAN_330." ".decode_ip($comrow['comment_ip'])."</a>" : "");
|
||||
SC_END
|
||||
|
||||
SC_BEGIN LEVEL
|
||||
|
Loading…
x
Reference in New Issue
Block a user