summaryrefslogtreecommitdiffstats
path: root/phpfspot.class.php
diff options
context:
space:
mode:
Diffstat (limited to 'phpfspot.class.php')
-rw-r--r--phpfspot.class.php127
1 files changed, 127 insertions, 0 deletions
diff --git a/phpfspot.class.php b/phpfspot.class.php
new file mode 100644
index 0000000..d040f13
--- /dev/null
+++ b/phpfspot.class.php
@@ -0,0 +1,127 @@
+<?php
+
+require_once "phpfspot_cfg.php";
+require_once "phpfspot_db.php";
+require_once "phpfspot_tmpl.php";
+
+class PHPFSPOT {
+
+ var $cfg;
+ var $db;
+ var $tmpl;
+ var $tags;
+ var $avail_photos;
+ var $photos;
+ var $current_photo;
+ var $current_tags;
+
+ public function __construct()
+ {
+ $this->cfg = new PHPFSPOT_CFG;
+
+ $this->db = new PHPFSPOT_DB(&$this, $this->cfg->db);
+ $this->tmpl = new PHPFSPOT_TMPL(&$this);
+
+ $this->get_tags();
+ $this->get_photos();
+
+ if(isset($_GET['id']) && is_numeric($_GET['id']))
+ $this->current_photo = $_GET['id'];
+
+ } // __construct()
+
+ public function __destruct()
+ {
+
+ } // __destruct()
+
+ public function show()
+ {
+
+ if(isset($this->current_photo)) {
+ $this->tmpl->assign('image_url', 'phpfspot_img.php?idx='. $this->avail_photos[$this->current_photo] ."&amp;width=". $this->cfg->photo_width);
+ }
+
+ if($this->current_photo > 0) {
+ $this->tmpl->assign('previous_url', $_SERVER['PHP_SELF'] ."?mode=showphoto&amp;id=". $this->avail_photos[$this->current_photo-1]);
+ }
+
+ if($this->current_photo < count($this->avail_photos)) {
+ $this->tmpl->assign('next_url', $_SERVER['PHP_SELF'] ."?mode=showphoto&amp;id=". $this->avail_photos[$this->current_photo+1]);
+ }
+
+ $this->tmpl->assign('tags', $this->tags);
+ $this->tmpl->show("index.tpl");
+
+
+ } // show()
+
+ private function get_tags()
+ {
+ $result = $this->db->db_query("
+ SELECT id,name
+ FROM tags
+ ORDER BY sort_priority ASC
+ ");
+
+ while($row = $this->db->db_fetch_object($result)) {
+
+ $tag_id = $row['id'];
+ $tag_name = $row['name'];
+
+ $this->tags[$tag_id] = $tag_name;
+
+ }
+ } // get_tags()
+
+ private function get_photos()
+ {
+ $this->avail_photos = Array();
+ $count = 0;
+
+ $result = $this->db->db_query("
+ SELECT id, name
+ FROM photos
+ ORDER BY time ASC
+ ");
+
+ while($row = $this->db->db_fetch_object($result)) {
+
+ $photo_id = $row['id'];
+ $photo_name = $row['name'];
+
+ $this->photos[$photo_id] = $photo_name;
+ $this->avail_photos[$count] = $photo_id;
+
+ if(!isset($this->current_photo))
+ $this->current_photo = $count;
+
+ $count++;
+
+ }
+
+ } // get_photos()
+
+ public function get_photo_details($idx)
+ {
+ $result = $this->db->db_query("
+ SELECT *
+ FROM photos
+ WHERE id='". $idx ."'
+ ");
+
+ return $this->db->db_fetch_object($result);
+
+ } // get_photo_details
+
+ public function translate_path($path, $width = 0)
+ {
+ return str_replace($this->cfg->path_replace_from, $this->cfg->path_replace_to, $path);
+
+ } // translate_path
+
+
+
+}
+
+?>