diff options
Diffstat (limited to 'actions')
-rw-r--r-- | actions/peopletag.php | 85 |
1 files changed, 34 insertions, 51 deletions
diff --git a/actions/peopletag.php b/actions/peopletag.php index 7bcfcb93e..3578c53fd 100644 --- a/actions/peopletag.php +++ b/actions/peopletag.php @@ -19,40 +19,37 @@ if (!defined('LACONICA')) { exit(1); } -require_once(INSTALLDIR.'/lib/profilelist.php'); +require_once INSTALLDIR.'/lib/profilelist.php'; class PeopletagAction extends Action { + var $tag = null; + var $page = null; + function handle($args) { + parent::handle($args); + + parent::prepare($args); - parent::handle($args); + $this->tag = $this->trimmed('tag'); - $tag = $this->trimmed('tag'); - - if (!common_valid_profile_tag($tag)) { - $this->clientError(sprintf(_('Not a valid people tag: %s'), $tag)); + if (!common_valid_profile_tag($this->tag)) { + $this->clientError(sprintf(_('Not a valid people tag: %s'), $this->tag)); return; } - $page = $this->trimmed('page'); - - if (!$page) { - $page = 1; + $this->page = $this->trimmed('page'); + + if (!$this->page) { + $this->page = 1; } - # Looks like we're good; show the header - - common_show_header(sprintf(_('Users self-tagged with %s - page %d'), $tag, $page), - null, $tag, array($this, 'show_top')); - - $this->show_people($tag, $page); - - common_show_footer(); + $this->showPage(); } - - function show_people($tag, $page) + + function showContent() { $profile = new Profile(); @@ -68,42 +65,28 @@ class PeopletagAction extends Action # XXX: memcached this - $profile->query(sprintf('SELECT profile.* ' . - 'FROM profile JOIN profile_tag ' . - 'ON profile.id = profile_tag.tagger ' . - 'WHERE profile_tag.tagger = profile_tag.tagged ' . - 'AND tag = "%s" ' . - 'ORDER BY profile_tag.modified DESC ' . - $lim, $tag)); - - $pl = new ProfileList($profile); - $cnt = $pl->show_list(); + $qry = 'SELECT profile.* ' . + 'FROM profile JOIN profile_tag ' . + 'ON profile.id = profile_tag.tagger ' . + 'WHERE profile_tag.tagger = profile_tag.tagged ' . + 'AND tag = "%s" ' . + 'ORDER BY profile_tag.modified DESC'; - common_pagination($page > 1, + $profile->query(sprintf($qry, $this->tag, $lim)); + + $pl = new ProfileList($profile, null, $this); + $cnt = $pl->show(); + + $this->pagination($this->page > 1, $cnt > PROFILES_PER_PAGE, - $page, + $this->page, $this->trimmed('action'), - array('tag' => $tag)); + array('tag' => $this->tag)); } - function show_top($tag) - { - $instr = sprintf(_('These are users who have tagged themselves "%s" ' . - 'to show a common interest, characteristic, hobby or job.'), $tag); - $this->elementStart('div', 'instructions'); - $this->elementStart('p'); - $this->text($instr); - $this->elementEnd('p'); - $this->elementEnd('div'); - } - - function get_title() + function title() { - return null; - } - - function show_header($arr) - { - return; + return sprintf( _('Users self-tagged with %s - page %d'), $this->tag, $this->page); } + } |