MOON
Server: Apache
System: Linux e2e-78-16.ssdcloudindia.net 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
User: imensosw (1005)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: /home/imensosw/www/mpl.imenso.co/app/Models/Message.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Message extends Model
{
    protected $table = 'messages';

    public function thread()
    {
        return $this->belongsTo(\App\Models\MessageThread::class, 'thread_id');
    }

    public function author()
    {
        return $this->belongsTo(\App\Models\User::class, 'author_id');
    }

    public function getExtract()
    {
        $content = strip_tags($this->content);

        if (strlen($content) > 25) {
            $content = substr($content, 0, 25).'...';
        }

        return $content;
    }

    public static function addNew(MessageThread $thread, User $author, $content)
    {
        $message = new self;
        $message->thread_id = $thread->id;
        $message->author_id = $author->id;
        $message->content = $content;
        $message->save();
        $message->unhideThreadForAll();

        return $message;
    }

    public function unhideThreadForAll()
    {
        $this->thread->unhideThreadForAll();
    }

    public function unhideThreadForUser(User $user)
    {
        $this->thread->unhideThreadForUser($user);
    }
}