|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/lecturebazaar.com/app/Models/ |
Upload File : |
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Astrotomic\Translatable\Contracts\Translatable as TranslatableContract;
use Astrotomic\Translatable\Translatable;
use Illuminate\Http\Request;
class FloatingBar extends Model implements TranslatableContract
{
use Translatable;
protected $table = 'floating_bars';
public $timestamps = false;
protected $dateFormat = 'U';
protected $guarded = ['id'];
public $translatedAttributes = ['title', 'description', 'btn_text'];
public function getTitleAttribute()
{
return getTranslateAttributeValue($this, 'title');
}
public function getDescriptionAttribute()
{
return getTranslateAttributeValue($this, 'description');
}
public function getBtnTextAttribute()
{
return getTranslateAttributeValue($this, 'btn_text');
}
public static function getFloatingBar(Request $request)
{
$testPreview = !empty($request->get('preview_floating_bar'));
$time = time();
$query = FloatingBar::query();
$query->where(function ($query) use ($time) {
$query->whereNull('start_at');
$query->orWhere('start_at', '<', $time);
});
$query->where(function ($query) use ($time) {
$query->whereNull('end_at');
$query->orWhere('end_at', '>', $time);
});
if (!$testPreview) {
$query->where('enable', true);
}
return $query->first();
}
}