Update of /cvsroot/php-blog/jBlog
In directory sc8-pr-cvs1:/tmp/cvs-serv15601
Modified Files:
comment.php db.sql jBlog_admin.php jBlog_config.inc.php
jBlog_functions.inc.php
Log Message:
fixed remembering authors to my liking :)
added mailing of comments
Index: comment.php
===================================================================
RCS file: /cvsroot/php-blog/jBlog/comment.php,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- comment.php 1 Mar 2003 20:49:29 -0000 1.2
+++ comment.php 4 Mar 2003 21:09:20 -0000 1.3
@@ -95,8 +95,12 @@
<?php jBlog_displayCommentForm($id);
} else {
$remember = 0;
- if ($jBlog['POST']['remember'] == "on") {
+ if ($jBlog['POST']['remember']) {
$remember = 1;
+ $_SESSION['jBlogName'] = $jBlog['POST']['name'];
+ $_SESSION['jBlogEmail'] = $jBlog['POST']['email'];
+ $_SESSION['jBlogUrl'] = $jBlog['POST']['url'];
+ $_SESSION['jBlog_remember'] = "checked";
}
$comment['url'] = $jBlog['POST']['url'];
@@ -104,7 +108,7 @@
$comment['name'] = $jBlog['POST']['name'];
$comment['email'] = $jBlog['POST']['email'];
- jBlog_saveComment($jBlog['POST']['entry_id'], $comment, 'NORMAL', $remember);
+ jBlog_saveComment($jBlog['POST']['entry_id'], $comment, 'NORMAL');
?>
Your comment was successfully added. Click <a href="<?=$PHP_SELF?>?jBlog[entry_id]=<?=$jBlog['POST']['entry_id']?>">here</a> to return to
the comments, and <a href="#" onClick="self.close()">here</a> to close this window.
Index: db.sql
===================================================================
RCS file: /cvsroot/php-blog/jBlog/db.sql,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- db.sql 4 Mar 2003 01:41:25 -0000 1.3
+++ db.sql 4 Mar 2003 21:09:21 -0000 1.4
@@ -1,4 +1,62 @@
-CREATE TABLE {PREFIX}entries (id int(10) unsigned NOT NULL auto_increment, title varchar(200) default NULL, timestamp int(10) unsigned default NULL, body text, comments int (4) unsigned default 0, extended text, exflag int(1), PRIMARY KEY (id), FULLTEXT (title,body,extended)) TYPE=MyISAM
-CREATE TABLE {PREFIX}comments (id int(10) unsigned NOT NULL auto_increment, entry_id int(10) unsigned NOT NULL, timestamp int(10) unsigned default NULL, title VARCHAR(150), author VARCHAR(80), email VARCHAR(200), url VARCHAR(200), ip VARCHAR(15), body text, type enum ('TRACKBACK', 'REGULAR'), PRIMARY KEY (id), FULLTEXT (body))
-CREATE TABLE {PREFIX}references ( id int(10) unsigned not null auto_increment, entry_id int(10) unsigned not null, link text, name text, PRIMARY KEY(id))
-CREATE TABLE {PREFIX}authors ( name varchar(20), password varchar(20))
+#
+# Table structure for table '{PREFIX}authors'
+#
+
+create table {PREFIX}authors (
+ username varchar(20) default null,
+ password varchar(20) default null,
+ authorid int(11) not null auto_increment,
+ mail_comments int(1) default '1',
+ mail_trackbacks int(1) default '1',
+ email varchar(128) not null default '',
+ primary key (authorid)
+) type=myisam;
+
+#
+# table structure for table '{PREFIX}comments'
+#
+
+create table {PREFIX}comments (
+ id int(10) unsigned not null auto_increment,
+ entry_id int(10) unsigned not null default '0',
+ timestamp int(10) unsigned default null,
+ title varchar(150) default null,
+ author varchar(80) default null,
+ email varchar(200) default null,
+ url varchar(200) default null,
+ ip varchar(15) default null,
+ body text,
+ type enum('trackback','regular') default null,
+ primary key (id),
+ fulltext key body (body)
+) type=myisam;
+
+#
+# table structure for table '{PREFIX}entries'
+#
+
+create table {PREFIX}entries (
+ id int(10) unsigned not null auto_increment,
+ title varchar(200) default null,
+ timestamp int(10) unsigned default null,
+ body text,
+ comments int(4) unsigned default '0',
+ extended text,
+ exflag int(1) default null,
+ author varchar(20) default null,
+ authorid int(11) default null,
+ primary key (id),
+ fulltext key title (title,body)
+) type=myisam;
+
+#
+# table structure for table '{PREFIX}references'
+#
+
+create table {PREFIX}references (
+ id int(10) unsigned not null auto_increment,
+ entry_id int(10) unsigned not null default '0',
+ link text,
+ name text,
+ primary key (id)
+) type=myisam;
Index: jBlog_admin.php
===================================================================
RCS file: /cvsroot/php-blog/jBlog/jBlog_admin.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- jBlog_admin.php 4 Mar 2003 01:41:25 -0000 1.4
+++ jBlog_admin.php 4 Mar 2003 21:09:22 -0000 1.5
@@ -1,17 +1,12 @@
<?php
session_start();
-
if (file_exists("./jBlog_config_local.inc.php"))
include("jBlog_config.inc.php");
// User logs in?
-if ($_SESSION["jBlogAuthedUser"] == true) {
- $jBlog["user"] = $_SESSION["jBlogUser"];
-}
-else if(jBlog_authenticate_author($jBlog["POST"]["user"],$jBlog["POST"]["pass"])) {
+if(jBlog_authenticate_author($jBlog["POST"]["user"], $jBlog["POST"]["pass"])) {
$_SESSION["jBlogAuthedUser"] = true;
- $jBlog["user"] = $_SESSION["jBlogUser"] = $jBlog["POST"]["user"];
}
?>
<html>
Index: jBlog_config.inc.php
===================================================================
RCS file: /cvsroot/php-blog/jBlog/jBlog_config.inc.php,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- jBlog_config.inc.php 27 Feb 2003 16:55:35 -0000 1.1.1.1
+++ jBlog_config.inc.php 4 Mar 2003 21:09:22 -0000 1.2
@@ -69,5 +69,6 @@
// Some stuff...
if (!$_SESSION["jBlogAuthedUser"]) $_SESSION["jBlogAuthedUser"] = false;
-
+$jBlog["user"] = $_SESSION["jBlogUser"];
+$jBlog["email"] = $_SESSION["jBlogEmail"];
?>
Index: jBlog_functions.inc.php
===================================================================
RCS file: /cvsroot/php-blog/jBlog/jBlog_functions.inc.php,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- jBlog_functions.inc.php 4 Mar 2003 01:41:25 -0000 1.5
+++ jBlog_functions.inc.php 4 Mar 2003 21:09:22 -0000 1.6
@@ -13,14 +13,15 @@
$jBlog["imageList"] = array();
$commentsFields = array(
- "Name" => "<input type=\"text\" name=\"jBlog[name]\" value=\"{$_SESSION['jBlog_name']}\" size=\"30\" />",
- "Email" => "<input type=\"text\" name=\"jBlog[email]\" value=\"{$_SESSION['jBlog_email']}\" />",
- "Homepage" => "<input type=\"text\" name=\"jBlog[url]\" value=\"{$_SESSION['jBlog_url']}\" />",
+ "Name" => "<input type=\"text\" name=\"jBlog[name]\" value=\"{$_SESSION['jBlogName']}\" size=\"30\" />",
+ "Email" => "<input type=\"text\" name=\"jBlog[email]\" value=\"{$_SESSION['jBlogEmail']}\" />",
+ "Homepage" => "<input type=\"text\" name=\"jBlog[url]\" value=\"{$_SESSION['jBlogUrl']}\" />",
"Comment" => '<textarea rows="10" cols="40" name="jBlog[comment]"></textarea>'
);
function jBlog_displayCommentForm($id) {
global $jBlog, $commentsFields;
+ global $_SESSION;
?>
<form name="comment" action="<?=$jBlog['jBlogHTTPPath']?>comment.php" method="post">
<input type="hidden" name="jBlog[entry_id]" value="<?=$id?>" />
@@ -314,7 +315,7 @@
{
global $jBlog;
- $query = "SELECT id,type,timestamp,author,email,url,body FROM {$jBlog['dbPrefix']}comments WHERE entry_id=$id";
+ $query = "SELECT * FROM {$jBlog['dbPrefix']}comments WHERE entry_id=$id";
if (isset($limit)) {
$query .= " LIMIT $limit";
}
@@ -357,7 +358,7 @@
print '</table>';
}
-function jBlog_saveComment($id, $commentInfo, $type='NORMAL', $remember=1) {
+function jBlog_saveComment($id, $commentInfo, $type='NORMAL') {
global $jBlog;
$title = mysql_escape_string($commentInfo['title']);
@@ -366,18 +367,6 @@
$url = mysql_escape_string($commentInfo['url']);
$email = mysql_escape_string($commentInfo['email']);
- if ($remember) {
- $_SESSION['jBlog_name'] = $name;
- $_SESSION['jBlog_url'] = $url;
- $_SESSION['jBlog_email'] = $email;
- $_SESSION['jBlog_remember'] = "checked";
- } else {
- $_SESSION['jBlog_name'] = null;
- $_SESSION['jBlog_url'] = null;
- $_SESSION['jBlog_email'] = null;
- $_SESSION['jBlog_remember'] = null;
- }
-
$t = time();
$query = "INSERT INTO {$jBlog['dbPrefix']}comments (entry_id, author, email, url, body, type, timestamp, title)";
$query .= " VALUES ('$id', '$name', '$email', '$url', '$comments', '$type', '$t', '$title')";
@@ -387,9 +376,42 @@
$query = "UPDATE {$jBlog['dbPrefix']}entries SET comments=comments+1 WHERE id=$id";
mysql_db_query($jBlog['dbName'], $query);
+ $query = "SELECT email, title, mail_comments
+ FROM {$jBlog['dbPrefix']}entries e, {$jBlog['dbPrefix']}authors a
+ WHERE e.id = $id
+ AND e.authorid = a.authorid";
+ $cursor = mysql_db_query($jBlog['dbName'], $query);
+ $row = mysql_fetch_assoc($cursor);
+ if($row['mail_comments']) {
+ jBlog_sendComment($row['email'], $name, $email, $url, $id,
+ $row['title'], $comments);
+ }
jBlog_purgeEntry($id, $t);
}
+function jBlog_sendComment($to, $fromName, $fromEmail, $fromUrl, $id, $title, $comment) {
+ global $jBlog;
+ $text = "
+A new comment has been posted on your blog $jBlog[blogTitle], on entry #$id.
+
+IP Address: $_SERVER[REMOTE_ADDR]
+Name: $fromName
+Email Address: $fromEmail
+URL: $fromUrl
+
+Comments:
+
+$comment
+
+--
+Powered by jBlog.
+My blog runs on PHP. Yours can too.
+http://jblog.sourceforge.net to find out how.";
+mail($to, "[$jBlog[blogTitle]] New comment posted to $title", $text,
+ "From: $fromName <$fromEmail>\r\n");
+
+}
+
function jBlog_fetchReferences($id)
{
global $jBlog;
@@ -669,7 +691,7 @@
}
}
$querystring = "REPLACE INTO ".$jBlog["dbPrefix"]."entries
- (id, title, timestamp, body, extended, comments, exflag, author)
+ (id, title, timestamp, body, extended, comments, exflag, author, authorid)
VALUES (
".$entry["id"].",
'".mysql_escape_string($entry["title"])."',
@@ -677,7 +699,8 @@
'".mysql_escape_string($entry["body"])."',
'".mysql_escape_string($entry["extended"])."',
0, $exflag,
- '".mysql_escape_string($jBlog["user"])."')";
+ '".mysql_escape_string($jBlog["user"])."',
+ $jBlog[authorid])";
$query = mysql_db_query($jBlog["dbName"], $querystring);
if ($entry['id'] == "NULL") {
$newEntry = 1;
@@ -888,8 +911,16 @@
function jBlog_authenticate_author($username, $password) {
global $jBlog;
+ global $_SESSION;
+
+ if($_SESSION['jBlogAuthedUser'] == true) {
+ $jBlog['jBlogUser'] = $_SESSION['jBlogUser'];
+ $jBlog['jBlogEmail'] = $_SESSION['jBlogEmail'];
+ $jBlog['authorid'] = $_SESSION['jBlogAuthorid'];
+ return 1;
+ }
$query = "SELECT
- count(1)
+ *
FROM
$jBlog[dbPrefix]authors
WHERE
@@ -899,8 +930,14 @@
if(!$cursor) {
print mysql_error();
}
- $row = mysql_fetch_row($cursor);
- return $row[0];
+ $row = mysql_fetch_assoc($cursor);
+ if($row) {
+ $_SESSION['jBlogUser'] = $jBlog['jBlogUser'] = $username;
+ $_SESSION['jBlogEmail'] = $jBlog['jBlogEmail'] = $row['email'];
+ $_SESSION['jBlogAuthorid'] = $jBlog['authorid'] = $row['authorid'];
+ return 1;
+ }
+ return 0;
}
define("JBLOG_FUNCTIONS_LOADED", true);
|