]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
pagination works for flagged profiles
authorEvan Prodromou <evan@status.net>
Sun, 27 Dec 2009 19:47:54 +0000 (11:47 -0800)
committerEvan Prodromou <evan@status.net>
Sun, 27 Dec 2009 19:47:54 +0000 (11:47 -0800)
plugins/UserFlag/adminprofileflag.php

index 5d6acf0863c4cb94ec28575e9afc735b30f95294..b0888a31d72a32a9e861dbf5a51dc5ce1de8506c 100644 (file)
@@ -43,7 +43,8 @@ if (!defined('STATUSNET')) {
 
 class AdminprofileflagAction extends Action
 {
-    var $page = null;
+    var $page     = null;
+    var $profiles = null;
 
     /**
      * Take arguments for running
@@ -90,14 +91,14 @@ class AdminprofileflagAction extends Action
             return false;
         }
 
-        $page = $this->int('page');
+        $this->page = $this->trimmed('page');
 
-        if (empty($page)) {
+        if (empty($this->page)) {
             $this->page = 1;
-        } else {
-            $this->page = $page;
         }
 
+        $this->profiles = $this->getProfiles();
+
         return true;
     }
 
@@ -128,11 +129,12 @@ class AdminprofileflagAction extends Action
 
     function showContent()
     {
-        $profile = $this->getProfiles();
+        $pl = new FlaggedProfileList($this->profiles, $this);
 
-        $pl = new FlaggedProfileList($profile, $this);
+        $cnt = $pl->show();
 
-        $pl->show();
+        $this->pagination($this->page > 1, $cnt > PROFILES_PER_PAGE,
+                          $this->page, 'adminprofileflag');
     }
 
     function getProfiles()
@@ -146,7 +148,12 @@ class AdminprofileflagAction extends Action
         $ufp->whereAdd('cleared is NULL');
 
         $ufp->groupBy('profile_id');
-        $ufp->orderBy('flag_count DESC');
+        $ufp->orderBy('flag_count DESC, profile_id DESC');
+
+        $offset = ($this->page-1) * PROFILES_PER_PAGE;
+        $limit =  PROFILES_PER_PAGE + 1;
+
+        $ufp->limit($offset, $limit);
 
         $profiles = array();