Update of /cvsroot/php-blog/serendipity
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17603
Modified Files:
serendipity_functions.inc.php serendipity_db_postgres.inc.php
serendipity_admin_users.inc.php NEWS
Log Message:
postgresql bug - DB_insert_id didn't work as expected.
Index: serendipity_admin_users.inc.php
===================================================================
RCS file: /cvsroot/php-blog/serendipity/serendipity_admin_users.inc.php,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- serendipity_admin_users.inc.php 30 Aug 2004 18:56:19 -0000 1.9
+++ serendipity_admin_users.inc.php 9 Sep 2004 10:52:03 -0000 1.10
@@ -41,7 +41,7 @@
'$enc_pass'
)";
serendipity_db_query($query);
- $serendipity['POST']['user'] = serendipity_db_insert_id();
+ $serendipity['POST']['user'] = serendipity_db_insert_id('authors', 'authorid');
printf('<strong>' . CREATED_USER . '</strong>', '#' . $serendipity['POST']['user'] . ', ' . $_POST['username']);
}
echo '<br />';
Index: NEWS
===================================================================
RCS file: /cvsroot/php-blog/serendipity/NEWS,v
retrieving revision 1.212
retrieving revision 1.213
diff -u -d -r1.212 -r1.213
--- NEWS 6 Sep 2004 12:35:02 -0000 1.212
+++ NEWS 9 Sep 2004 10:52:03 -0000 1.213
@@ -3,6 +3,10 @@
Version 0.7 ()
------------------------------------------------------------------------
+ * Fixed postgresql bug for fetching the last entry id. Will fix bug
+ with comment counter always reporting zero and trouble with
+ assigning multiple categories. (garvinhicking)
+
* Fixed "no entry to display" bug when previewing entry
(garvinhicking)
Index: serendipity_db_postgres.inc.php
===================================================================
RCS file: /cvsroot/php-blog/serendipity/serendipity_db_postgres.inc.php,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- serendipity_db_postgres.inc.php 26 Aug 2004 10:51:28 -0000 1.17
+++ serendipity_db_postgres.inc.php 9 Sep 2004 10:52:02 -0000 1.18
@@ -40,9 +40,21 @@
return pg_affected_rows($serendipity['dbLastResult']);
}
-function serendipity_db_insert_id() {
+function serendipity_db_insert_id($table = '', $id = '') {
global $serendipity;
- return pg_last_oid($serendipity['dbLastResult']);
+ if (empty($table) || empty($id)) {
+ return pg_last_oid($serendipity['dbLastResult']);
+ } else {
+ $oid = pg_last_oid($serendipity['dbLastResult']);
+ $query = "SELECT $id FROM {$serendipity['dbPrefix']}$table WHERE oid=$oid";
+ $res = pg_query($serendipity['dbConn'], $query);
+ if (pg_num_rows($res)) {
+ $insert_id = pg_fetch_array($res, 0, PGSQL_ASSOC);
+ return $insert_id[$id];
+ } else {
+ return $oid;
+ }
+ }
}
function serendipity_db_query($sql, $single = false, $result_type = "both", $reportErr=false, $assocKey=false, $assocVal=false) {
Index: serendipity_functions.inc.php
===================================================================
RCS file: /cvsroot/php-blog/serendipity/serendipity_functions.inc.php,v
retrieving revision 1.418
retrieving revision 1.419
diff -u -d -r1.418 -r1.419
--- serendipity_functions.inc.php 6 Sep 2004 12:34:08 -0000 1.418
+++ serendipity_functions.inc.php 9 Sep 2004 10:52:02 -0000 1.419
@@ -1767,7 +1767,7 @@
$query .= " VALUES ('$id', '$parentid', '$ip', '$name', '$email', '$url', '$commentsFixed', '$type', '$t', '$title', '$subscribe', '$status')";
serendipity_db_query($query);
- $cid = serendipity_db_insert_id();
+ $cid = serendipity_db_insert_id('comments', 'id');
$query = "SELECT a.email, e.title, a.mail_comments, a.mail_trackbacks, e.moderate_comments
FROM {$serendipity['dbPrefix']}entries e, {$serendipity['dbPrefix']}authors a
@@ -2576,17 +2576,18 @@
if (!$_SESSION['serendipityRightPublish']) {
$entry['isdraft'] = 'true';
}
- if(!isset($entry['allow_comments'])){
- $entry['allow_comments']='false';
- }
- if(!isset($entry['moderate_comments'])){
- $entry['moderate_comments']='false';
- }
+
+ if(!isset($entry['allow_comments'])){
+ $entry['allow_comments']='false';
+ }
+ if(!isset($entry['moderate_comments'])){
+ $entry['moderate_comments']='false';
+ }
$res = serendipity_db_insert('entries', $entry);
if ($res) {
- $entry['id'] = serendipity_db_insert_id();
+ $entry['id'] = serendipity_db_insert_id('entries', 'id');
if (is_array($categories)) {
foreach ($categories as $cat) {
if (is_numeric($cat))
|