49 lines
1.1 KiB
PHP
49 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class SiteUri extends Model
|
|
{
|
|
use HasFactory;
|
|
|
|
protected $fillable = [
|
|
'uri',
|
|
];
|
|
|
|
/* RELATIONS */
|
|
|
|
public function site()
|
|
{
|
|
return $this->belongsTo(Site::class);
|
|
}
|
|
|
|
/* ATTRIBUTES */
|
|
|
|
public function getActiveAttribute(bool $value): bool
|
|
{
|
|
return ($value && (strlen($this->redirect) > 0)) || $this->site->redirect;
|
|
}
|
|
|
|
public function getDelayAttribute(int $value=NULL): int
|
|
{
|
|
return $this->active && $value ? $value : $this->site->delay;
|
|
}
|
|
|
|
public function getMessageAttribute(string $value=NULL): string
|
|
{
|
|
return $this->active && $value ? $value : $this->site->message;
|
|
}
|
|
|
|
public function getPermanentAttribute(bool $value): bool
|
|
{
|
|
return $value || $this->site->permanent;
|
|
}
|
|
|
|
public function getRedirectAttribute(string $value=NULL): string
|
|
{
|
|
return ($x=($this->getRawOriginal('active') && $value ? $value : $this->site->redirect)) ? $x.(request()->getRequestUri() != '/' ? request()->getRequestUri() : '') : '';
|
|
}
|
|
} |