summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Unterkircher <unki@netshadow.at>2007-06-11 19:46:08 +0000
committerAndreas Unterkircher <unki@netshadow.at>2007-06-11 19:46:08 +0000
commit09ab990f8da2f25cb3540fd7fc853b73464b0ef0 (patch)
treec413b11516655c71e358c2872393c869fe5a406b
parent5c5ea48a8bd12db24bd0bf5172798eaac2649376 (diff)
moved tag-search code into general getphotoselection function
git-svn-id: file:///var/lib/svn/phpfspot/trunk@82 fa6a889d-dae6-447d-9e79-4ba9a3039384
-rw-r--r--phpfspot.class.php73
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()
}