if (!defined('LACONICA')) { exit(1); }
-require_once(INSTALLDIR.'/lib/profilelist.php');
+require_once INSTALLDIR.'/lib/profilelist.php';
-class PeopletagAction extends Action {
+class PeopletagAction extends Action
+{
- function handle($args) {
+ 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->client_error(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();
# 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);
- common_element_start('div', 'instructions');
- common_element_start('p');
- common_text($instr);
- common_element_end('p');
- common_element_end('div');
- }
-
- function get_title() {
- return NULL;
- }
-
- function show_header($arr) {
- return;
+ function title()
+ {
+ return sprintf( _('Users self-tagged with %s - page %d'), $this->tag, $this->page);
}
+
}