show dropdown of tags only when tags are available and add tags function to profile

darcs-hash:20081124015802-84dde-d72651ff0c466d15835fe263e96bdd9b34162849.gz
This commit is contained in:
Evan Prodromou 2008-11-23 20:58:02 -05:00
parent 58c7af21db
commit 82696b150e
2 changed files with 24 additions and 9 deletions

View File

@ -145,4 +145,17 @@ class Profile extends Memcached_DataObject
} }
return NULL; 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;
}
} }

View File

@ -86,14 +86,16 @@ class GalleryAction extends Action {
foreach ($tags as $t) { foreach ($tags as $t) {
$content[common_local_url($this->trimmed('action'), array('tag' => $t))] = $t; $content[common_local_url($this->trimmed('action'), array('tag' => $t))] = $t;
} }
common_element('a', array('href' => common_local_url($this->trimmed('action'), if ($tags) {
array('nickname' => $profile->nickname))), common_element('a', array('href' => common_local_url($this->trimmed('action'),
_('All')); array('nickname' => $profile->nickname))),
common_element_start('form', array('name' => 'bytag', 'id' => 'bytag')); _('All'));
common_dropdown('tag', _('Tag'), $content, common_element_start('form', array('name' => 'bytag', 'id' => 'bytag'));
_('Choose a tag to narrow list'), FALSE, $tag); common_dropdown('tag', _('Tag'), $content,
common_submit('go', _('Go')); _('Choose a tag to narrow list'), FALSE, $tag);
common_element_end('form'); common_submit('go', _('Go'));
common_element_end('form');
}
} }
function show_top($profile) { function show_top($profile) {
@ -119,7 +121,7 @@ class GalleryAction extends Action {
} }
# XXX: memcached results # XXX: memcached results
# XXX: SQL injection on $tag # FIXME: SQL injection on $tag
$other->query('SELECT profile.* ' . $other->query('SELECT profile.* ' .
'FROM profile JOIN subscription ' . 'FROM profile JOIN subscription ' .