]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/QnA/actions/qnashowanswer.php
Merge remote-tracking branch 'upstream/master' into social-master
[quix0rs-gnu-social.git] / plugins / QnA / actions / qnashowanswer.php
index 24296a5af6354b046b0c9396e1df5b1033e0da89..ab432d97d9b5d61088c664827319bc3b18fc9c59 100644 (file)
@@ -57,42 +57,50 @@ class QnashowanswerAction extends ShownoticeAction
      */
     function prepare($argarray)
     {
-        OwnerDesignAction::prepare($argarray);
+        Action::prepare($argarray);
 
         $this->id = $this->trimmed('id');
 
-        $this->answer = QnA_Answer::staticGet('id', $this->id);
+        $this->answer = QnA_Answer::getKV('id', $this->id);
 
         if (empty($this->answer)) {
+            // TRANS: Client exception thrown when requesting a non-existing answer.
             throw new ClientException(_m('No such answer.'), 404);
         }
 
         $this->question = $this->answer->getQuestion();
 
         if (empty($this->question)) {
+            // TRANS: Client exception thrown when requesting an answer that has no connected question.
             throw new ClientException(_m('No question for this answer.'), 404);
         }
 
-        $this->notice = Notice::staticGet('uri', $this->answer->uri);
+        $this->notice = Notice::getKV('uri', $this->answer->uri);
 
         if (empty($this->notice)) {
-            // Did we used to have it, and it got deleted?
+            // TRANS: Did we used to have it, and it got deleted?
             throw new ClientException(_m('No such answer.'), 404);
         }
 
-        $this->user = User::staticGet('id', $this->answer->profile_id);
+        $this->user = User::getKV('id', $this->answer->profile_id);
 
         if (empty($this->user)) {
+            // TRANS: Client exception thrown when requesting answer data for a non-existing user.
             throw new ClientException(_m('No such user.'), 404);
         }
 
         $this->profile = $this->user->getProfile();
 
         if (empty($this->profile)) {
+            // TRANS: Client exception thrown when requesting answer data for a user without a profile.
             throw new ServerException(_m('User without a profile.'));
         }
 
-        $this->avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
+        try {
+            $this->avatar = $this->profile->getAvatar(AVATAR_PROFILE_SIZE);
+        } catch (Exception $e) {
+            $this->avatar = null;
+        }
 
         return true;
     }