Файловый менеджер - Редактировать - /home/clickysoft/public_html/charliapp-v2.clickysoft.net/app/Models/User.php
Назад
<?php namespace App\Models; use \DateTimeInterface; use Carbon\Carbon; use Hash; use Illuminate\Auth\Notifications\ResetPassword; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; use Spatie\MediaLibrary\MediaCollections\Models\Media; use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable implements HasMedia, MustVerifyEmail { use Notifiable; use InteractsWithMedia; use HasFactory; use HasApiTokens; public const STATUS_RADIO = [ '0' => 'Disable', '1' => 'Enable', ]; public $table = 'users'; protected $appends = [ 'profile_image', 'profile_image_url', ]; protected $hidden = [ 'remember_token', 'password', ]; protected $dates = [ 'email_verified_at', 'created_at', 'updated_at', 'deleted_at', ]; protected $fillable = [ 'name', 'email', 'email_verified_at', 'password', 'password_reset_code', 'password_last_changed', 'remember_token', 'package_id', 'subscription_date', 'subscription_device_type', 'subscription_amount', 'phone_number', 'status', 'created_at', 'updated_at', 'deleted_at', ]; /** * The attributes that should be cast to native types. * * @var array */ protected $casts = [ 'email_verified_at' => 'datetime', ]; public function checkIfUserExists($user_id){ $user = User::whereId($user_id)->first(); return $user; } public function getIsAdminAttribute() { return $this->roles()->where('id', 1)->exists(); } public function registerMediaConversions(Media $media = null): void { $this->addMediaConversion('thumb')->fit('crop', 50, 50); $this->addMediaConversion('preview')->fit('crop', 120, 120); } public function getEmailVerifiedAtAttribute($value) { return $value ? Carbon::createFromFormat('Y-m-d H:i:s', $value)->format(config('panel.date_format') . ' ' . config('panel.time_format')) : null; } public function setEmailVerifiedAtAttribute($value) { // dd(config('panel.date_format') . ' ' . config('panel.time_format')); //$this->attributes['email_verified_at'] = $value ? new \DateTime() : null; $this->attributes['email_verified_at'] = $value ? Carbon::createFromFormat('Y-m-d H:i:s', $value)->format('Y-m-d H:i:s') : null; } public function setPasswordAttribute($input) { if ($input) { $this->attributes['password'] = app('hash')->needsRehash($input) ? Hash::make($input) : $input; } } public function sendPasswordResetNotification($token) { try { $this->notify(new ResetPassword($token)); } catch (\Exception $e) { \Log::info($e->getMessage()); } } public function roles() { return $this->belongsToMany(Role::class); } public function package() { return $this->belongsTo(Package::class); } public function getProfileImageAttribute() { return $this->getMedia('profile_image')->last(); } public function getProfileImageUrlAttribute() { $media = $this->getMedia('profile_image')->last(); return $media ? $media->getUrl() : null; } public function image() { return $this->belongsTo(UserGallery::class,'id','user_id'); } public function collaborations() { return $this->morphToMany(Collaboratable::class, 'collaboratable', 'collaborations') ->withPivot('role') ->withTimestamps(); } public function comments() { return $this->belongsTo(Comment::class); } protected function serializeDate(DateTimeInterface $date) { return $date->format('Y-m-d H:i:s'); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.29 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка