diff options
author | Andreas Unterkircher <unki@netshadow.at> | 2007-06-11 19:46:08 +0000 |
---|---|---|
committer | Andreas Unterkircher <unki@netshadow.at> | 2007-06-11 19:46:08 +0000 |
commit | 09ab990f8da2f25cb3540fd7fc853b73464b0ef0 (patch) | |
tree | c413b11516655c71e358c2872393c869fe5a406b /phpfspot.class.php | |
parent | 5c5ea48a8bd12db24bd0bf5172798eaac2649376 (diff) |
moved tag-search code into general getphotoselection function
git-svn-id: file:///var/lib/svn/phpfspot/trunk@82 fa6a889d-dae6-447d-9e79-4ba9a3039384
Diffstat (limited to 'phpfspot.class.php')
-rw-r--r-- | phpfspot.class.php | 73 |
1 files changed, 33 insertions, 40 deletions
diff --git a/phpfspot.class.php b/phpfspot.class.php index fc6b376..c4dddb4 100644 --- a/phpfspot.class.php +++ b/phpfspot.class.php @@ -197,6 +197,25 @@ class PHPFSPOT { { $tagged_photos = Array(); + /* return a search result */ + if(isset($_SESSION['searchfor']) && $_SESSION['searchfor'] != '') { + $result = $this->db->db_query(" + SELECT DISTINCT photo_id + FROM photo_tags pt + INNER JOIN photos p + ON p.id=pt.photo_id + INNER JOIN tags t + ON pt.tag_id=t.id + WHERE t.name LIKE '%". $_SESSION['searchfor'] ."%' + ORDER BY p.time ASC + "); + while($row = $this->db->db_fetch_object($result)) { + array_push($tagged_photos, $row['photo_id']); + } + return $tagged_photos; + } + + /* return according the selected tags */ if(isset($_SESSION['selected_tags'])) { $selected = ""; foreach($_SESSION['selected_tags'] as $tag) @@ -245,30 +264,27 @@ class PHPFSPOT { array_push($tagged_photos, $row['photo_id']); } } - } - else { - $result = $this->db->db_query(" - SELECT DISTINCT photo_id - FROM photo_tags pt - INNER JOIN photos p - ON p.id=pt.photo_id - ORDER BY p.time ASC - "); - while($row = $this->db->db_fetch_object($result)) { - array_push($tagged_photos, $row['photo_id']); - } + return $tagged_photos; } + /* return all available photos */ + $result = $this->db->db_query(" + SELECT DISTINCT photo_id + FROM photo_tags pt + INNER JOIN photos p + ON p.id=pt.photo_id + ORDER BY p.time ASC + "); + while($row = $this->db->db_fetch_object($result)) { + array_push($tagged_photos, $row['photo_id']); + } return $tagged_photos; } // getPhotoSelection() public function showPhotoIndex() { - if($_SESSION['searchfor'] == '') - $photos = $this->getPhotoSelection(); - else - $photos = $this->getSearchResult($_SESSION['searchfor']); + $photos = $this->getPhotoSelection(); $count = count($photos); @@ -492,30 +508,7 @@ class PHPFSPOT { { $_SESSION['searchfor'] = $searchfor; - } // showSearchResult() - - public function getSearchResult($for) - { - $tagged_photos = Array(); - - $result = $this->db->db_query(" - SELECT DISTINCT photo_id - FROM photo_tags pt - INNER JOIN photos p - ON p.id=pt.photo_id - INNER JOIN tags t - ON pt.tag_id=t.id - WHERE t.name LIKE '%". $for ."%' - ORDER BY p.time ASC - "); - - while($row = $this->db->db_fetch_object($result)) { - array_push($tagged_photos, $row['photo_id']); - } - - return $tagged_photos; - - } // getSearchResult() + } // startSearch() } |