geParent() method will fail if the parent notice does not exist in the notice table. See https://quitter.no/notice/709400

This commit is contained in:
abjectio 2015-10-14 18:50:39 +02:00
parent 2c8536dbf0
commit 626333a59e

View File

@ -2775,10 +2775,24 @@ class Notice extends Managed_DataObject
public function getParent() public function getParent()
{ {
$reply_to_id = NULL;
if (empty($this->reply_to)) { if (empty($this->reply_to)) {
throw new NoParentNoticeException($this); throw new NoParentNoticeException($this);
} }
return self::getByID($this->reply_to);
//The reply_to ID in the table Notice could exist with a number
//however, the replied to notice might not exist in the database.
//Thus we need to catch the exception and throw the NoParentNoticeException else
//the timeline will not display correctly.
try {
$reply_to_id = self::getByID($this->reply_to);
} catch(Exception e$){
throw new NoParentNoticeException($this);
}
return $reply_to_id;
} }
/** /**