Merge branch 'lefant'
[phpfspot.git] / phpfspot_db.php
index 1f7d59716a8a65d7df62e8dd92ccae260ad92609..e5f1f0bd3bc1488c547658a6e62677bcd042c271 100644 (file)
@@ -2,8 +2,9 @@
 
 /***************************************************************************
  *
- * Copyright (c) by Andreas Unterkircher, unki@netshadow.at
- * All rights reserved
+ * phpfspot, presents your F-Spot photo collection in Web browsers.
+ *
+ * Copyright (c) by Andreas Unterkircher
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -28,6 +29,7 @@ class PHPFSPOT_DB {
    private $parent;
    private $is_connected;
    private $last_error;
+   private $last_query;
 
    /**
     * PHPFSPOT_DB class constructor
@@ -42,7 +44,7 @@ class PHPFSPOT_DB {
       /* We are starting disconnected */
       $this->setConnStatus(false);
 
-      /* Connect to MySQL Database */
+      /* Connect to database */
       $this->db_connect();
 
    } // __construct()
@@ -72,6 +74,7 @@ class PHPFSPOT_DB {
                $this->setConnStatus(false);
             }
             else {
+               sqlite3_create_function($this->db, 'basename', 1, 'basename');
                $this->setConnStatus(true);
             }
             break;
@@ -118,6 +121,8 @@ class PHPFSPOT_DB {
    public function db_query($query = "")
    {
       if($this->getConnStatus()) {
+   
+         $this->last_query = $query;
 
          switch($this->parent->cfg->db_access) {
             case 'native':
@@ -153,6 +158,8 @@ class PHPFSPOT_DB {
    {
       if($this->getConnStatus()) {
 
+         $this->last_query = $query;
+
          switch($this->parent->cfg->db_access) {
             case 'native':
                if(($result = sqlite3_exec($this->db, $query)) === false)
@@ -197,10 +204,10 @@ class PHPFSPOT_DB {
          $result = $this->db_query($query);
          switch($this->parent->cfg->db_access) {
             case 'native':
-               $row = $result->fetchRow();
+               $row = $this->db_fetch_object($result);
                break;
             case 'pdo':
-               $row = $result[0];
+               $row = $result->fetch();
                break;
          }
          return $row;
@@ -229,19 +236,6 @@ class PHPFSPOT_DB {
 
    } // db_getNumRows()
 
-   /**
-    * PHPFSPOT_DB get primary key
-    *
-    * This function returns the primary key of the last
-    * operated insert SQL query.
-    */
-   public function db_getid()
-   {
-      /* Get the last primary key ID from execute query */
-      return mysql_insert_id($this->db->connection);
-      
-   } // db_getid()
-
    /**
     * PHPFSPOT_DB check table exists
     *
@@ -308,6 +302,7 @@ class PHPFSPOT_DB {
    private function ThrowError($string)
    {
       if(!defined('DB_NOERROR'))  {
+         print "Error during query: ". $this->last_query ."<br /><br />\n";
          print "<br /><br />". $string ."<br /><br />\n";
          try {
             throw new Exception;