From 82696b150e6365f2dc40f2626b327d124a6e02a0 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Sun, 23 Nov 2008 20:58:02 -0500 Subject: [PATCH] show dropdown of tags only when tags are available and add tags function to profile darcs-hash:20081124015802-84dde-d72651ff0c466d15835fe263e96bdd9b34162849.gz --- classes/Profile.php | 13 +++++++++++++ lib/gallery.php | 20 +++++++++++--------- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/classes/Profile.php b/classes/Profile.php index 794dc1de93..2d6b48217c 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -145,4 +145,17 @@ class Profile extends Memcached_DataObject } return NULL; } + + # Get list of tags we tagged other users with + + function getAllTags() { + $profile_tag = new Notice_tag(); + $profile_tag->query('SELECT DISTINCT(tag) FROM profile_tag WHERE tagger = ' . $this->id); + $tags = array(); + while ($profile_tag->fetch()) { + $tags[] = $profile_tag->tag; + } + $profile_tag->free(); + return $tags; + } } diff --git a/lib/gallery.php b/lib/gallery.php index ca89e1029f..8410768197 100644 --- a/lib/gallery.php +++ b/lib/gallery.php @@ -86,14 +86,16 @@ class GalleryAction extends Action { foreach ($tags as $t) { $content[common_local_url($this->trimmed('action'), array('tag' => $t))] = $t; } - common_element('a', array('href' => common_local_url($this->trimmed('action'), - array('nickname' => $profile->nickname))), - _('All')); - common_element_start('form', array('name' => 'bytag', 'id' => 'bytag')); - common_dropdown('tag', _('Tag'), $content, - _('Choose a tag to narrow list'), FALSE, $tag); - common_submit('go', _('Go')); - common_element_end('form'); + if ($tags) { + common_element('a', array('href' => common_local_url($this->trimmed('action'), + array('nickname' => $profile->nickname))), + _('All')); + common_element_start('form', array('name' => 'bytag', 'id' => 'bytag')); + common_dropdown('tag', _('Tag'), $content, + _('Choose a tag to narrow list'), FALSE, $tag); + common_submit('go', _('Go')); + common_element_end('form'); + } } function show_top($profile) { @@ -119,7 +121,7 @@ class GalleryAction extends Action { } # XXX: memcached results - # XXX: SQL injection on $tag + # FIXME: SQL injection on $tag $other->query('SELECT profile.* ' . 'FROM profile JOIN subscription ' .