mirror of
https://github.com/flarum/framework.git
synced 2025-02-21 04:31:57 +08:00
Change mergeInto return signature; only merge posts if same user
This commit is contained in:
parent
515e61b77f
commit
8e1f6db85d
@ -13,16 +13,21 @@ class DiscussionRenamedPost extends ActivityPost
|
||||
* Merge the post into another post of the same type.
|
||||
*
|
||||
* @param \Flarum\Core\Models\DiscussionRenamedPost $previous
|
||||
* @return boolean true if the post was merged, false if it was deleted.
|
||||
* @return \Flarum\Core\Models\Model|null The final model, or null if the
|
||||
* previous post was deleted.
|
||||
*/
|
||||
protected function mergeInto(Model $previous)
|
||||
{
|
||||
if ($previous->content[0] == $this->content[1]) {
|
||||
return false;
|
||||
if ($this->user_id === $previous->user_id) {
|
||||
if ($previous->content[0] == $this->content[1]) {
|
||||
return;
|
||||
}
|
||||
|
||||
$previous->content = static::buildContent($previous->content[0], $this->content[1]);
|
||||
return $previous;
|
||||
}
|
||||
|
||||
$previous->content = static::buildContent($previous->content[0], $this->content[1]);
|
||||
return true;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -5,13 +5,13 @@ trait MergeableTrait
|
||||
public function saveAfter(Model $previous)
|
||||
{
|
||||
if ($previous instanceof static) {
|
||||
if ($this->mergeInto($previous)) {
|
||||
$previous->save();
|
||||
if ($merged = $this->mergeInto($previous)) {
|
||||
$merged->save();
|
||||
return $merged;
|
||||
} else {
|
||||
$previous->delete();
|
||||
return $previous;
|
||||
}
|
||||
|
||||
return $previous;
|
||||
}
|
||||
|
||||
$this->save();
|
||||
|
Loading…
x
Reference in New Issue
Block a user