]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/showfavorites.php
Merge branch 'twitter-oauth' into 0.8.x
[quix0rs-gnu-social.git] / actions / showfavorites.php
index 4d434950548e14d00a0f0d738f225e90d62fb605..8b4926f012fb9ecfeb7626dda7dd8e13562c9baf 100644 (file)
@@ -45,7 +45,7 @@ require_once INSTALLDIR.'/lib/feedlist.php';
  * @link     http://laconi.ca/
  */
 
-class ShowfavoritesAction extends Action
+class ShowfavoritesAction extends OwnerDesignAction
 {
     /** User we're getting the faves of */
     var $user = null;
@@ -58,7 +58,7 @@ class ShowfavoritesAction extends Action
      * @return boolean true
      */
 
-    function isReadOnly()
+    function isReadOnly($args)
     {
         return true;
     }
@@ -74,9 +74,9 @@ class ShowfavoritesAction extends Action
     function title()
     {
         if ($this->page == 1) {
-            return sprintf(_("%s favorite notices"), $this->user->nickname);
+            return sprintf(_("%s's favorite notices"), $this->user->nickname);
         } else {
-            return sprintf(_("%s favorite notices, page %d"),
+            return sprintf(_("%s's favorite notices, page %d"),
                            $this->user->nickname,
                            $this->page);
         }
@@ -173,7 +173,7 @@ class ShowfavoritesAction extends Action
             }
         }
         else {
-            $message = sprintf(_('%s hasn\'t added any notices to his favorites yet. Why not [register an account](%%%%action.register%%%%) and then post something interesting they would add to thier favorites :)'), $this->user->nickname);
+            $message = sprintf(_('%s hasn\'t added any notices to his favorites yet. Why not [register an account](%%%%action.register%%%%) and then post something interesting they would add to their favorites :)'), $this->user->nickname);
         }
 
         $this->elementStart('div', 'guide');
@@ -191,10 +191,21 @@ class ShowfavoritesAction extends Action
 
     function showContent()
     {
-        $notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE,
-                                               NOTICES_PER_PAGE + 1);
+        $cur = common_current_user();
 
-        if (!$notice) {
+        if (!empty($cur) && $cur->id == $this->user->id) {
+
+            // Show imported/gateway notices as well as local if
+            // the user is looking at his own favorites
+
+            $notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE,
+                                                   NOTICES_PER_PAGE + 1, true);
+        } else {
+            $notice = $this->user->favoriteNotices(($this->page-1)*NOTICES_PER_PAGE,
+                                                   NOTICES_PER_PAGE + 1, false);
+        }
+
+        if (empty($notice)) {
             $this->serverError(_('Could not retrieve favorite notices.'));
             return;
         }