summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Unterkircher <unki@netshadow.at>2007-12-30 11:17:16 +0100
committerAndreas Unterkircher <unki@netshadow.at>2007-12-30 11:17:16 +0100
commite8bc8f7d5f8dea6906f6e61ba464353c92e87ccf (patch)
tree9bf9c43da5c34a6b884149522cd7fc8d319ffa7c
parentaf140085fe603c00c7ce98435b89d2ee56a10cd9 (diff)
issue82, read out F-Spot DB version to differ between different databases schemas
-rw-r--r--phpfspot.class.php28
-rw-r--r--phpfspot_db.php2
-rw-r--r--themes/default/templates/credits.tpl2
3 files changed, 29 insertions, 3 deletions
diff --git a/phpfspot.class.php b/phpfspot.class.php
index e2b24a8..6d357e5 100644
--- a/phpfspot.class.php
+++ b/phpfspot.class.php
@@ -32,6 +32,7 @@ class PHPFSPOT {
var $tmpl;
var $tags;
var $avail_tags;
+ private $dbver;
/**
* class constructor
@@ -58,7 +59,9 @@ class PHPFSPOT {
print $this->cfg->fspot_db ." is not writeable for user ". $this->getuid() ."\n";
exit(1);
}
-
+
+ $this->dbver = $this->getFspotDBVersion();
+
if(!is_writeable(dirname($this->cfg->phpfspot_db))) {
print dirname($this->cfg->phpfspot_db) .": directory is not writeable!";
exit(1);
@@ -1051,6 +1054,7 @@ class PHPFSPOT {
{
$this->tmpl->assign('version', $this->cfg->version);
$this->tmpl->assign('product', $this->cfg->product);
+ $this->tmpl->assign('db_version', $this->dbver);
$this->tmpl->show("credits.tpl");
} // showCredits()
@@ -2102,6 +2106,26 @@ class PHPFSPOT {
} // checkDbIndices()
-}
+ /**
+ * retrive F-Spot database version
+ *
+ * this function will return the F-Spot database version number
+ * It is stored within the sqlite3 database in the table meta
+ */
+ public function getFspotDBVersion()
+ {
+ if($result = $this->db->db_fetchSingleRow("
+ SELECT data as version
+ FROM meta
+ WHERE
+ name LIKE 'F-Spot Database Version'
+ "))
+ return $result['version'];
+
+ return null;
+
+ } // getFspotDBVersion()
+
+} // class PHPFSPOT
?>
diff --git a/phpfspot_db.php b/phpfspot_db.php
index 4e87cf9..e9c99ce 100644
--- a/phpfspot_db.php
+++ b/phpfspot_db.php
@@ -202,7 +202,7 @@ 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];
diff --git a/themes/default/templates/credits.tpl b/themes/default/templates/credits.tpl
index becdeef..cb01edb 100644
--- a/themes/default/templates/credits.tpl
+++ b/themes/default/templates/credits.tpl
@@ -17,6 +17,8 @@
<a href="http://wiki.bluga.net/HTML_AJAX/HomePage">HTML_AJAX</a>
<hr />
PHP tag-cloud code by <a href="http://prism-perfect.net/archive/php-tag-cloud-tutorial/">Jenny Ferenc</a>.
+ <hr />
+ F-Spot database version: {$db_version}
</td>
</tr>
</table>