]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/jsonsearchresultslist.php
No more needed (for this fix) but maybe later. So I always only comment them out.
[quix0rs-gnu-social.git] / lib / jsonsearchresultslist.php
index 7ff32f829f76b50dea9a54ae9f993b11a8269f71..0f764a72be47e32905b195f99645bbc5cac90589 100644 (file)
  *
  * @category  Search
  * @package   StatusNet
- * @author    Zach Copley <zach@controlyourself.ca>
+ * @author    Zach Copley <zach@status.net>
  * @copyright 2009 StatusNet, Inc.
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link      http://status.net/
  */
 
-if (!defined('LACONICA')) {
+if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
@@ -36,7 +36,7 @@ if (!defined('LACONICA')) {
  *
  * @category Search
  * @package  StatusNet
- * @author   Zach Copley <zach@controlyourself.ca>
+ * @author   Zach Copley <zach@status.net>
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  *
@@ -101,12 +101,22 @@ class JSONSearchResultsList
                 $this->max_id = (int)$this->notice->id;
             }
 
+            if ($this->since_id && $this->notice->id <= $this->since_id) {
+                break;
+            }
+
             if ($cnt > $this->rpp) {
                 break;
             }
 
-            $item = new ResultItem($this->notice);
-            array_push($this->results, $item);
+            $profile = $this->notice->getProfile();
+
+            // Don't show notices from deleted users
+
+            if (!empty($profile)) {
+                $item = new ResultItem($this->notice);
+                array_push($this->results, $item);
+            }
         }
 
         $time_end           = microtime(true);
@@ -148,7 +158,7 @@ class JSONSearchResultsList
  *
  * @category UI
  * @package  StatusNet
- * @author   Zach Copley <zach@controlyourself.ca>
+ * @author   Zach Copley <zach@status.net>
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  * @see      JSONSearchResultsList
@@ -207,7 +217,7 @@ class ResultItem
         $replier_profile = null;
 
         if ($this->notice->reply_to) {
-            $reply = Notice::staticGet(intval($this->notice->reply_to));
+            $reply = Notice::getKV(intval($this->notice->reply_to));
             if ($reply) {
                 $replier_profile = $reply->getProfile();
             }
@@ -222,16 +232,11 @@ class ResultItem
         $this->id           = $this->notice->id;
         $this->from_user_id = $this->profile->id;
 
-        $user = User::staticGet('id', $this->profile->id);
-
-        $this->iso_language_code = $user->language;
-
+        $this->iso_language_code = Profile_prefs::getConfigData($this->profile, 'site', 'language');
+        
         $this->source = $this->getSourceLink($this->notice->source);
 
-        $avatar = $this->profile->getAvatar(AVATAR_STREAM_SIZE);
-
-        $this->profile_image_url = ($avatar) ?
-            $avatar->displayUrl() : Avatar::defaultImage(AVATAR_STREAM_SIZE);
+        $this->profile_image_url = $this->profile->avatarUrl(AVATAR_STREAM_SIZE);
 
         $this->created_at = common_date_rfc2822($this->notice->created);
     }
@@ -246,9 +251,9 @@ class ResultItem
      *
      * @return string a fully rendered source of the Notice
      */
-
     function getSourceLink($source)
     {
+        // Gettext translations for the below source types are available.
         $source_name = _($source);
         switch ($source) {
         case 'web':
@@ -258,8 +263,8 @@ class ResultItem
         case 'api':
             break;
         default:
-            $ns = Notice_source::staticGet($source);
-            if ($ns) {
+            $ns = Notice_source::getKV($source);
+            if ($ns instanceof Notice_source) {
                 $source_name = '<a href="' . $ns->url . '">' . $ns->name . '</a>';
             }
             break;
@@ -267,5 +272,4 @@ class ResultItem
 
         return $source_name;
     }
-
 }