]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/jsonsearchresultslist.php
Domain name regular expression into lib/framework.php
[quix0rs-gnu-social.git] / lib / jsonsearchresultslist.php
index 8bf3678d4fa12fc5fad55d875b55c8985b3e2fe4..80dc33e323ebca5e421b0ed9bb6aa9a9eefdf894 100644 (file)
@@ -184,7 +184,8 @@ class ResultItem
     var $id;
     var $from_user_id;
     var $iso_language_code;
-    var $source;
+    var $source = null;
+    var $source_link = null;
     var $profile_image_url;
     var $created_at;
 
@@ -217,7 +218,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();
             }
@@ -232,49 +233,54 @@ 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 = Profile_prefs::getConfigData($this->profile, 'site', 'language');
+        
+        // set source and source_link
+        $this->setSourceData();
 
-        $this->iso_language_code = $user->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);
     }
 
     /**
-     * Show the source of the notice
+     * Set the notice's source data (api/app name and URL)
      *
      * Either the name (and link) of the API client that posted the notice,
-     * or one of other other channels.
-     *
-     * @param string $source the source of the Notice
+     * or one of other other channels. Uses the local notice object.
      *
-     * @return string a fully rendered source of the Notice
+     * @return void
      */
-    function getSourceLink($source)
+    function setSourceData()
     {
-        // Gettext translations for the below source types are available.
-        $source_name = _($source);
+        $source = null;
+        $source_link = null;
+
         switch ($source) {
         case 'web':
         case 'xmpp':
         case 'mail':
         case 'omb':
         case 'api':
+            // Gettext translations for the below source types are available.
+            $source = _($this->notice->source);
             break;
+
         default:
-            $ns = Notice_source::staticGet($source);
-            if ($ns) {
-                $source_name = '<a href="' . $ns->url . '">' . $ns->name . '</a>';
+            $ns = Notice_source::getKV($this->notice->source);
+            if ($ns instanceof Notice_source) {
+                $source = $ns->code;
+                if (!empty($ns->url)) {
+                    $source_link = $ns->url;
+                    if (!empty($ns->name)) {
+                        $source = $ns->name;
+                    }
+                }
             }
             break;
         }
 
-        return $source_name;
+        $this->source = $source;
+        $this->source_link = $source_link;
     }
 }