M1n1 Shira0ka File Manager
<?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