diff options
author | Evan Prodromou <evan@prodromou.name> | 2008-11-23 20:58:02 -0500 |
---|---|---|
committer | Evan Prodromou <evan@prodromou.name> | 2008-11-23 20:58:02 -0500 |
commit | 82696b150e6365f2dc40f2626b327d124a6e02a0 (patch) | |
tree | 0401dd5c24ff21c22f7ede5d1701e63db53b3591 | |
parent | 58c7af21db187cd9823b81b7e84bf33794dc929f (diff) |
show dropdown of tags only when tags are available and add tags function to profile
darcs-hash:20081124015802-84dde-d72651ff0c466d15835fe263e96bdd9b34162849.gz
-rw-r--r-- | classes/Profile.php | 13 | ||||
-rw-r--r-- | lib/gallery.php | 20 |
2 files changed, 24 insertions, 9 deletions
diff --git a/classes/Profile.php b/classes/Profile.php index 794dc1de9..2d6b48217 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 ca89e1029..841076819 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 ' . |