|
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/peoplebee.in/___accounts-admin/app/Models/ |
Upload File : |
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;
use App\Models\Plan;
use App\Models\User;
class PurchaseOrder extends Model
{
use HasFactory;
protected $guarded = ['id'];
public function plan_details()
{
return $this->hasOne(Plan::class,'id','plan_id');
}
public function user_details()
{
return $this->hasOne(User::class,'id','user_id');
}
public function isPlanExpired($userId)
{
$admin = User::with('roles')->where('id',$userId)->whereHas('roles',function($query){
$query->where('name','admin');
})->first();
if($admin)
{
$purchaseOrder = $this->where([
['user_id','=', $userId],
['status','=','success']
])
->orWhere([
['user_id','=', $userId],
['status','=','paid']
])->first();
if ($purchaseOrder && $purchaseOrder->plan_date)
{
$plan = Plan::where('id',$purchaseOrder->plan_id)->first();
$date = Carbon::parse($purchaseOrder->plan_date);
$expiryDate = $date->addDays($plan->days);
return Carbon::parse($expiryDate)->isPast();
}
return true;
}
else
{
$n_user = User::where('id',$userId)->first();
$admin = User::where("id",$n_user->admin_id)->first();
if($admin)
{
$purchaseOrder = $this->where([
['user_id','=', $admin->id],
['status','=','success']
])
->orWhere([
['user_id','=', $admin->id],
['status','=','paid']
])->first();
if ($purchaseOrder && $purchaseOrder->plan_date)
{
$plan = Plan::where('id',$purchaseOrder->plan_id)->first();
$date = Carbon::parse($purchaseOrder->plan_date);
$expiryDate = $date->addDays($plan->days);
return Carbon::parse($expiryDate)->isPast();
}
return true;
}
}
}
}