 |
boardom b2 message board
|
View previous topic :: View next topic |
Author |
Message |
Cyberian75
Joined: 26 Sep 2002 Posts: 1225 Location: Oregon
|
Posted: Tue Nov 25, 2003 9:53 pm Post subject: [Hack] Open/Close Comments |
|
|
I have been using this for a while now, and since one of my friends asked for it, I have just written an instruction for it. Anyway, this hack does just what the name says: it allows you to open or close comments for posts. Once closed, any comments left prior to the closing will not be accessible from your blog, and the link will display "comments closed" text. Trackbacks will also be closed if comments are closed.
You can get the instruction here.  _________________ Michael P.

Last edited by Cyberian75 on Wed Oct 13, 2004 11:32 pm; edited 2 times in total |
|
Back to top |
|
 |
epolady
Joined: 30 Jul 2002 Posts: 800 Location: Texas
|
Posted: Wed Nov 26, 2003 9:52 am Post subject: |
|
|
Hi there,
Installation was real smooth, but one quick question.
Am I supposed to edit b2comments.php?
When I initially tested this hack on my site, it allows me to comment when I click on my permalink, everything else is okay, except when clicking on the permalink or going directly to the Post ID ( ?p=###&c=1#comments ).
I probably did something wrong. _________________ No more support from me. Goodbye!
Go upgrade to WordPress, you'll find better support there. |
|
Back to top |
|
 |
Cyberian75
Joined: 26 Sep 2002 Posts: 1225 Location: Oregon
|
Posted: Wed Nov 26, 2003 6:06 pm Post subject: |
|
|
I must have forgotten about that one. Anyway, you can either edit that file or control the inclusion of comments within your index file.
Like:
Code: |
if ($postdata["CloseComment"] == 0) {
include("b2comments.php");
}
|
_________________ Michael P.
 |
|
Back to top |
|
 |
epolady
Joined: 30 Jul 2002 Posts: 800 Location: Texas
|
Posted: Wed Nov 26, 2003 6:15 pm Post subject: |
|
|
Hmmm, I've got the private entries going on as well, so how do I include it with this
Code: | <?php
if ($isprivate == 0) {
include("b2comments.php");
}
?> |
_________________ No more support from me. Goodbye!
Go upgrade to WordPress, you'll find better support there. |
|
Back to top |
|
 |
Cyberian75
Joined: 26 Sep 2002 Posts: 1225 Location: Oregon
|
Posted: Wed Nov 26, 2003 6:40 pm Post subject: |
|
|
You can do...
Code: |
<?php
if ($isprivate == 0 && $postdata["CloseComment"] == 0) {
include("b2comments.php");
}
?>
|
_________________ Michael P.
 |
|
Back to top |
|
 |
epolady
Joined: 30 Jul 2002 Posts: 800 Location: Texas
|
Posted: Wed Nov 26, 2003 6:44 pm Post subject: |
|
|
Great! It works. Superb job again!  _________________ No more support from me. Goodbye!
Go upgrade to WordPress, you'll find better support there. |
|
Back to top |
|
 |
Tang-on
Joined: 14 Aug 2003 Posts: 23
|
Posted: Mon Dec 01, 2003 2:13 am Post subject: |
|
|
Here is my b2edit.php file. I've installed a custom field hack before.. so I'm not sure how to edit it..
INSERT statement:
Code: | ///////////////////////
$sql1 = "SELECT * from b2customfields";
$result1 = mysql_query($sql1);
$query = "INSERT INTO $tableposts (ID, post_author, post_date, post_content, post_title, post_private, post_category";
$queryadd = "";
while($row1 = mysql_fetch_array($result1)){
$query .= ",".$row1['field_name'];
$queryadd .= ",'".$_POST[$row1['field_name']]."'";
}
$query .= ") VALUES ('0','$user_ID','$now','$content','".$post_title."','$post_private','".$post_category."'".$queryadd.")";
/////////////////////// |
UPDATE statement:
Code: | //////////////////////////////////
$query = "UPDATE $tableposts SET post_content=\"$content\", post_title=\"$post_title\", post_private=\"$post_private\", post_category=\"$post_category\"".$datemodif;
$sql = "SELECT * from b2customfields";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
$query .= ", ".$row['field_name']."=\"".$_POST[$row['field_name']]."\"";
}
$query .= " WHERE ID=$post_ID";
//////////////////////////////////// |
This is such a cool hack and I wanna have it. Thanks for any help in advance.  _________________ -Tang-on  |
|
Back to top |
|
 |
Cyberian75
Joined: 26 Sep 2002 Posts: 1225 Location: Oregon
|
Posted: Mon Dec 01, 2003 2:29 am Post subject: |
|
|
Here you go...
INSERT statement:
Code: | ///////////////////////
$sql1 = "SELECT * from b2customfields";
$result1 = mysql_query($sql1);
$query = "INSERT INTO $tableposts (ID, post_author, post_date, post_content, post_title, post_private, post_closecomment, post_category";
$queryadd = "";
while($row1 = mysql_fetch_array($result1)){
$query .= ",".$row1['field_name'];
$queryadd .= ",'".$_POST[$row1['field_name']]."'";
}
$query .= ") VALUES ('0','$user_ID','$now','$content','".$post_title."','$post_private', '".$post_closecomment."','".$post_category."'".$queryadd.")";
/////////////////////// |
UPDATE statement:
Code: | //////////////////////////////////
$query = "UPDATE $tableposts SET post_content=\"$content\", post_title=\"$post_title\", post_private=\"$post_private\", post_closecomment=\"$post_closecomment\", post_category=\"$post_category\"".$datemodif;
$sql = "SELECT * from b2customfields";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
$query .= ", ".$row['field_name']."=\"".$_POST[$row['field_name']]."\"";
}
$query .= " WHERE ID=$post_ID";
//////////////////////////////////// |
_________________ Michael P.

Last edited by Cyberian75 on Mon Dec 01, 2003 5:54 pm; edited 1 time in total |
|
Back to top |
|
 |
Tang-on
Joined: 14 Aug 2003 Posts: 23
|
Posted: Mon Dec 01, 2003 2:38 am Post subject: |
|
|
Well.. I've tried that.. but when I clicked "Blog this!".. it gave me this error:
Code: | Oops, MySQL error!
Your query:
MySQL said:
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'feels) VALUES ('0','1','2003-11-30 07:57:16',***(I forgot the rest, sorry)
|
I've uninstalled your hack just now though... and now I can post the entry just like normal.
So..  _________________ -Tang-on  |
|
Back to top |
|
 |
Cyberian75
Joined: 26 Sep 2002 Posts: 1225 Location: Oregon
|
Posted: Mon Dec 01, 2003 5:58 pm Post subject: |
|
|
Jaa, try it again with the statements above. I've edited them.  _________________ Michael P.
 |
|
Back to top |
|
 |
alekken
Joined: 05 May 2003 Posts: 8
|
Posted: Mon Nov 29, 2004 12:19 pm Post subject: MySQL Error |
|
|
Now I've installed the Private Entry hack and the Close Comments hack.. but then I get this error:
Quote: | Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /hsphere/local/home/alekken/ghettotrygve.com/blog/b2edit.php on line 79
Warning: Cannot modify header information - headers already sent by (output started at /hsphere/local/home/alekken/ghettotrygve.com/blog/b2edit.php:79) in /hsphere/local/home/alekken/ghettotrygve.com/blog/b2edit.php on line 127 |
I've also installed b2CustomsField and Since Last Visit hacks. Any idea what could be the problem?
Here's my b2edit file:
Code: | <?php
$title = "Post / Edit";
/* <Edit> */
function add_magic_quotes($array) {
foreach ($array as $k => $v) {
if (is_array($v)) {
$array[$k] = add_magic_quotes($v);
} else {
$array[$k] = addslashes($v);
}
}
return $array;
}
if (!get_magic_quotes_gpc()) {
$HTTP_GET_VARS = add_magic_quotes($HTTP_GET_VARS);
$HTTP_POST_VARS = add_magic_quotes($HTTP_POST_VARS);
$HTTP_COOKIE_VARS = add_magic_quotes($HTTP_COOKIE_VARS);
}
$b2varstoreset = array('action','safe_mode','withcomments','c','posts','poststart','postend','content','edited_post_title','comment_error','profile', 'trackback_url');
for ($i=0; $i<count($b2varstoreset); $i += 1) {
$b2var = $b2varstoreset[$i];
if (!isset($$b2var)) {
if (empty($HTTP_POST_VARS["$b2var"])) {
if (empty($HTTP_GET_VARS["$b2var"])) {
$$b2var = '';
} else {
$$b2var = $HTTP_GET_VARS["$b2var"];
}
} else {
$$b2var = $HTTP_POST_VARS["$b2var"];
}
}
}
switch($action) {
case 'post':
$standalone = 1;
require_once('./b2header.php');
$post_autobr = intval($HTTP_POST_VARS["post_autobr"]);
$post_pingback = intval($HTTP_POST_VARS["post_pingback"]);
$content = balanceTags($HTTP_POST_VARS["content"]);
$content = format_to_post($content);
$post_title = addslashes($HTTP_POST_VARS["post_title"]);
$post_private = intval($HTTP_POST_VARS["post_private"]);
$post_category = intval($HTTP_POST_VARS["post_category"]);
$post_closecomment = intval($HTTP_POST_VARS["post_closecomment"]);
if ($user_level == 0)
die ("Cheatin' uh ?");
if (($user_level > 4) && (!empty($HTTP_POST_VARS["edit_date"]))) {
$aa = $HTTP_POST_VARS["aa"];
$mm = $HTTP_POST_VARS["mm"];
$jj = $HTTP_POST_VARS["jj"];
$hh = $HTTP_POST_VARS["hh"];
$mn = $HTTP_POST_VARS["mn"];
$ss = $HTTP_POST_VARS["ss"];
$jj = ($jj > 31) ? 31 : $jj;
$hh = ($hh > 23) ? $hh - 24 : $hh;
$mn = ($mn > 59) ? $mn - 60 : $mn;
$ss = ($ss > 59) ? $ss - 60 : $ss;
$now = "$aa-$mm-$jj $hh:$mn:$ss";
} else {
$now = date("Y-m-d H:i:s",(time() + ($time_difference * 3600)));
}
/* Edited for b2customfields */
$sql1 = "SELECT * from b2customfields";
$result1 = mysql_query($sql1);
$query = "INSERT INTO $tableposts (ID, post_author, post_date, post_content, post_title, post_private, post_closecomment, post_category";
$queryadd = "";
while($row1 = mysql_fetch_array($result1)){
$query .= ",".$row1['field_name'];
$queryadd .= ",'".$_POST[$row1['field_name']]."'";
}
$query .= ") VALUES ('0','$user_ID','$now','$content','".$post_title."','$post_private', '".$post_closecomment."','".$post_category."'".$queryadd.")";
/* End edited for b2customfields */
$result = mysql_query($query) or mysql_oops($query);
$post_ID = mysql_insert_id();
if (isset($sleep_after_edit) && $sleep_after_edit > 0) {
sleep($sleep_after_edit);
}
rss_update($blog_ID);
pingWeblogs($blog_ID);
pingCafelog($cafelogID, $post_title, $post_ID);
pingBlogs($blog_ID);
if ($post_pingback) {
pingback($content, $post_ID);
}
if (!empty($HTTP_POST_VARS['trackback_url'])) {
$excerpt = (strlen(strip_tags($content)) > 255) ? substr(strip_tags($content), 0, 252).'...' : strip_tags($content);
$excerpt = stripslashes($excerpt);
$trackback_urls = explode(',', $HTTP_POST_VARS['trackback_url']);
foreach($trackback_urls as $tb_url) {
$tb_url = trim($tb_url);
trackback($tb_url, stripslashes($post_title), $excerpt, $post_ID);
}
}
if (!empty($HTTP_POST_VARS["mode"])) {
switch($HTTP_POST_VARS["mode"]) {
case "bookmarklet":
$location="b2bookmarklet.php?a=b";
break;
case "sidebar":
$location="b2sidebar.php?a=b";
break;
default:
$location="b2edit.php";
break;
}
} else {
$location="b2edit.php";
}
header("Location: $location");
exit();
break;
case "edit":
$standalone=0;
require_once ("./b2header.php");
$post = $HTTP_GET_VARS["post"];
if ($user_level > 0) {
$postdata=get_postdata($post) or die("Oops, no post with this ID. <a href=\"b2edit.php\">Go back</a> !");
$authordata = get_userdata($postdata["Author_ID"]);
if ($user_level < $authordata[13])
die ("You don't have the right to edit <b>".$authordata[1]."</b>'s posts.");
$content = $postdata["Content"];
$content = format_to_edit($content);
$edited_post_title = format_to_edit($postdata["Title"]);
echo $blankline;
include($b2inc."/b2edit.form.php");
} else {
?>
Since you're a newcomer, you'll have to wait for an admin to raise your level to 1, in order to be authorized to post.<br />You can also <a href="mailto:<?php echo $admin_email ?>?subject=b2-promotion">e-mail the admin</a> to ask for a promotion.<br />When you're promoted, just reload this page and you'll be able to blog. :)
<?php
}
break;
case "editpost":
$standalone = 1;
require_once("./b2header.php");
if ($user_level == 0)
die ("Cheatin' uh ?");
if (!isset($blog_ID)) {
$blog_ID = 1;
}
$post_ID = $HTTP_POST_VARS["post_ID"];
$post_category = intval($HTTP_POST_VARS["post_category"]);
$post_autobr = intval($HTTP_POST_VARS["post_autobr"]);
$content = balanceTags($HTTP_POST_VARS["content"]);
$content = format_to_post($content);
$post_title = addslashes($HTTP_POST_VARS["post_title"]);
$post_private = intval($HTTP_POST_VARS["post_private"]);
$post_closecomment = intval($HTTP_POST_VARS["post_closecomment"]);
if (($user_level > 4) && (!empty($HTTP_POST_VARS["edit_date"]))) {
$aa = $HTTP_POST_VARS["aa"];
$mm = $HTTP_POST_VARS["mm"];
$jj = $HTTP_POST_VARS["jj"];
$hh = $HTTP_POST_VARS["hh"];
$mn = $HTTP_POST_VARS["mn"];
$ss = $HTTP_POST_VARS["ss"];
$jj = ($jj > 31) ? 31 : $jj;
$hh = ($hh > 23) ? $hh - 24 : $hh;
$mn = ($mn > 59) ? $mn - 60 : $mn;
$ss = ($ss > 59) ? $ss - 60 : $ss;
$datemodif = ", post_date=\"$aa-$mm-$jj $hh:$mn:$ss\"";
} else {
$datemodif = "";
}
/* Edited for b2customfields */
$query = "UPDATE $tableposts SET post_content=\"$content\", post_title=\"$post_title\", post_private=\"$post_private\", post_closecomment=\"$post_closecomment\", post_category=\"$post_category\"".$datemodif;
$sql = "SELECT * from b2customfields";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result)){
$query .= ", ".$row['field_name']."=\"".$_POST[$row['field_name']]."\"";
}
$query .= " WHERE ID=$post_ID";
/* End edited for b2customfields */
$result = mysql_query($query) or mysql_oops($query);
if (isset($sleep_after_edit) && $sleep_after_edit > 0) {
sleep($sleep_after_edit);
}
rss_update($blog_ID);
// pingWeblogs($blog_ID);
$location = "Location: b2edit.php";
header ($location);
break;
case "delete":
$standalone = 1;
require_once("./b2header.php");
if ($user_level == 0)
die ("Cheatin' uh ?");
$post = $HTTP_GET_VARS['post'];
$postdata=get_postdata($post) or die("Oops, no post with this ID. <a href=\"b2edit.php\">Go back</a> !");
$authordata = get_userdata($postdata["Author_ID"]);
if ($user_level < $authordata[13])
die ("You don't have the right to delete <b>".$authordata[1]."</b>'s posts.");
$query = "DELETE FROM $tableposts WHERE ID=$post";
$result = mysql_query($query) or die("Oops, no post with this ID. <a href=\"b2edit.php\">Go back</a> !");
if (!$result)
die("Error in deleting... contact the <a href=\"mailto:$admin_email\">webmaster</a>...");
$query = "DELETE FROM $tablecomments WHERE comment_post_ID=$post";
$result = mysql_query($query) or die("Oops, no comment associated to that post. <a href=\"b2edit.php\">Go back</a> !");
if (isset($sleep_after_edit) && $sleep_after_edit > 0) {
sleep($sleep_after_edit);
}
rss_update($blog_ID);
// pingWeblogs($blog_ID);
header ("Location: b2edit.php");
break;
case "editcomment":
$standalone=0;
require_once ("./b2header.php");
get_currentuserinfo();
if ($user_level == 0) {
die ("Cheatin' uh ?");
}
$comment = $HTTP_GET_VARS['comment'];
$commentdata = get_commentdata($comment,1) or die("Oops, no comment with this ID. <a href=\"javascript:history.go(-1)\">Go back</a> !");
$content = $commentdata["comment_content"];
$content = format_to_edit($content);
echo $blankline;
include($b2inc."/b2edit.form.php");
break;
case "deletecomment":
$standalone = 1;
require_once("./b2header.php");
if ($user_level == 0)
die ("Cheatin' uh ?");
$comment = $HTTP_GET_VARS['comment'];
$p = $HTTP_GET_VARS['p'];
$commentdata=get_commentdata($comment) or die("Oops, no comment with this ID. <a href=\"b2edit.php\">Go back</a> !");
$query = "DELETE FROM $tablecomments WHERE comment_ID=$comment";
$result = mysql_query($query) or die("Oops, no comment with this ID. <a href=\"b2edit.php\">Go back</a> !");
header ("Location: b2edit.php?p=$p&c=1#comments"); //?a=dc");
break;
case "editedcomment":
$standalone = 1;
require_once("./b2header.php");
if ($user_level == 0)
die ("Cheatin' uh ?");
$comment_ID = $HTTP_POST_VARS['comment_ID'];
$comment_post_ID = $HTTP_POST_VARS['comment_post_ID'];
$newcomment_author = $HTTP_POST_VARS['newcomment_author'];
$newcomment_author_email = $HTTP_POST_VARS['newcomment_author_email'];
$newcomment_author_url = $HTTP_POST_VARS['newcomment_author_url'];
$newcomment_author = addslashes($newcomment_author);
$newcomment_author_email = addslashes($newcomment_author_email);
$newcomment_author_url = addslashes($newcomment_author_url);
$post_autobr = $HTTP_POST_VARS["post_autobr"];
if (($user_level > 4) && (!empty($HTTP_POST_VARS["edit_date"]))) {
$aa = $HTTP_POST_VARS["aa"];
$mm = $HTTP_POST_VARS["mm"];
$jj = $HTTP_POST_VARS["jj"];
$hh = $HTTP_POST_VARS["hh"];
$mn = $HTTP_POST_VARS["mn"];
$ss = $HTTP_POST_VARS["ss"];
$jj = ($jj > 31) ? 31 : $jj;
$hh = ($hh > 23) ? $hh - 24 : $hh;
$mn = ($mn > 59) ? $mn - 60 : $mn;
$ss = ($ss > 59) ? $ss - 60 : $ss;
$datemodif = ", comment_date=\"$aa-$mm-$jj $hh:$mn:$ss\"";
} else {
$datemodif = "";
}
$content = balanceTags($content);
$content = format_to_post($content);
$query = "UPDATE $tablecomments SET comment_content=\"$content\", comment_author=\"$newcomment_author\", comment_author_email=\"$newcomment_author_email\", comment_author_url=\"$newcomment_author_url\"".$datemodif." WHERE comment_ID=$comment_ID";
$result = mysql_query($query) or mysql_oops($query);
header ("Location: b2edit.php?p=$comment_post_ID&c=1#comments"); //?a=ec");
break;
default:
$standalone=0;
require_once ("./b2header.php");
if ($user_level > 0) {
if ((!$withcomments) && (!$c)) {
$action="post";
include($b2inc."/b2edit.form.php");
echo "<br /><br />";
}
} else {
echo $tabletop; ?>
Since you're a newcomer, you'll have to wait for an admin to raise your level to 1, in order to be authorized to post.<br />You can also <a href="mailto:<?php echo $admin_email ?>?subject=b2-promotion">e-mail the admin</a> to ask for a promotion.<br />When you're promoted, just reload this page and you'll be able to blog. :)
<?php
echo $tablebottom;
echo "<br /><br />";
}
include($b2inc."/b2edit.showposts.php");
}
/* </Edit> */
include($b2inc."/b2footer.php") ?> |
If you need to see any other files, pls let me know.. Thank you! |
|
Back to top |
|
 |
Cyberian75
Joined: 26 Sep 2002 Posts: 1225 Location: Oregon
|
Posted: Mon Nov 29, 2004 7:46 pm Post subject: |
|
|
What's on the line 79??? _________________ Michael P.
 |
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB 2 © 2001, 2002 phpBB Group
|