M1n1 Shira0ka File Manager

Current Path : /home/bullgymbny/app/app/
Upload File :
Current File : /home/bullgymbny/app/app/Member.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Response;
use PHPUnit\Framework\Constraint\IsTrue;
use function Symfony\Component\String\length;

class Member extends Model
{
    protected $fillable = ['lastname', 'firstname', 'email', 'tel', 'photo', 'code', 'gym', 'crossfit', 'country', 'auto_inscription'];

    public function Subscriptions(){
        return $this->hasMany('App\Subscription');
    }
    public function Points(){
        return $this->hasMany('App\Point');
    }

    static public function generate_code() {
        $codes = Member::pluck('code')->toarray();
        do $rand=  str_pad(dechex(rand(1,65535)), 4, "0"); while(in_array($rand,$codes) and ‌‌strlen($rand) == 4);
        return $rand;
    }

    public function have_subscription(){
        $subscribe = Subscription::where('date_end', '>=', date('Y-m-d'))->where('member_id', $this->id)->get();
        if (count($subscribe) > 0) {
            return $subscribe;
        }
        return False;
    }

    public function subscription_state(){
        $subscribe = Subscription::where('date_end', '>=', date('Y-m-d'))->where('member_id', $this->id)->get();
        if (count($subscribe) > 0) {
            if ($subscribe[0]->date_end >= date('Y-m-d') ){
                if ($subscribe[0]->credit > 0) {
                    return 2;
                }
                return 1;
            }
        }
        return 0;
    }

    public function last_date_subscription(){
        $subscribe = Subscription::where('member_id', $this->id)->orderBy('date_end', 'DESC')->get();
        if (count($subscribe) > 0) {
            $date_start = date($subscribe[0]->date_start);
            $date_end = date($subscribe[0]->date_end);
            return date('d-m-Y',strtotime($date_start)) . '<br /><b>' . date('d-m-Y',strtotime($date_end)) . '</b>';
        }
        return '';
    }
    public function last_date_subscription_cost(){
        $subscribe = Subscription::where('member_id', $this->id)->orderBy('date_end', 'DESC')->get();
        if (count($subscribe) > 0) {
            return number_format($subscribe[0]->cost, 0, ',', ' ') . ' Rps';
        }
        return '';
    }
    public function last_date_subscription_credit(){
        $subscribe = Subscription::where('member_id', $this->id)->orderBy('date_end', 'DESC')->get();
        if (count($subscribe) > 0) {
            return number_format($subscribe[0]->credit, 0, ',', ' ') . ' Rps';
        }
        return '';
    }

    public function is_in(){
        $last_point = Point::where('member_id', $this->id)->orderBy('time', 'DESC')->limit(1)->get();
        if(count($last_point) > 0){
            $datetime = new \DateTime($last_point[0]->time);
            $now = new \DateTime(now());
            $ecart = $now->format('U') - ($datetime->format('U'));
            //dd($datetime);
            if ($ecart < 7200 and $ecart >= 0) {
                return $ecart;
            }
        }
        return false;
    }
}

GO Party By You