]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/peopletag.php
trac750 update Facebook status when posting to Identi.ca from Facebook
[quix0rs-gnu-social.git] / actions / peopletag.php
index f03a3c8af463bb548f0abe213e9d64caed0d10f9..3578c53fdf0d8d7f473b79ab382ba5253768d90e 100644 (file)
 
 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();
 
@@ -65,39 +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);
-        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);
     }
+    
 }