/
home
/
techb158
/
immovalet.com
/
platform
/
core
/
acl
/
src
/
Models
/
/home/techb158/immovalet.com/platform/core/acl/src/Models
mkdir
upload
Name
Size
Mode
Actions
Activation.php
418
0644
edit
dl
rm
Role.php
1994
0644
edit
dl
rm
User.php
5667
0644
edit
dl
rm
UserMeta.php
1495
0644
edit
dl
rm
Edit:
/home/techb158/immovalet.com/platform/core/acl/src/Models/User.php
(5667B)
<?php namespace Botble\ACL\Models; use Botble\ACL\Notifications\ResetPasswordNotification; use Botble\ACL\Traits\PermissionTrait; use Botble\Base\Supports\Avatar; use Botble\Media\Models\MediaFile; use Exception; use Illuminate\Contracts\Routing\UrlGenerator; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use RvMedia; /** * @mixin \Eloquent */ class User extends Authenticatable { use PermissionTrait; use Notifiable; /** * {@inheritDoc} */ protected $table = 'users'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'username', 'email', 'first_name', 'last_name', 'password', 'avatar_id', 'permissions', ]; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * The date fields for the model.clear * * @var array */ protected $dates = [ 'created_at', 'updated_at', ]; /** * @var array */ protected $casts = [ 'permissions' => 'json', ]; /** * Always capitalize the first name when we retrieve it * @param string $value * @return string */ public function getFirstNameAttribute($value) { return ucfirst($value); } /** * Always capitalize the last name when we retrieve it * @param string $value * @return string */ public function getLastNameAttribute($value) { return ucfirst($value); } /** * @return string * @deprecated since v5.15 */ public function getFullName() { return $this->name; } /** * @return string */ public function getNameAttribute() { return ucfirst($this->first_name) . ' ' . ucfirst($this->last_name); } /** * @return BelongsTo */ public function avatar() { return $this->belongsTo(MediaFile::class)->withDefault(); } /** * @return UrlGenerator|string */ public function getAvatarUrlAttribute() { if ($this->avatar->url) { return RvMedia::url($this->avatar->url); } try { return (new Avatar)->create($this->name)->toBase64(); } catch (Exception $exception) { return RvMedia::getDefaultImage(); } } /** * @param string $value * @return array */ public function getPermissionsAttribute($value) { try { return json_decode($value, true) ?: []; } catch (Exception $exception) { return []; } } /** * Set mutator for the "permissions" attribute. * * @param array $permissions * @return void */ public function setPermissionsAttribute(array $permissions) { $this->attributes['permissions'] = $permissions ? json_encode($permissions) : ''; } /** * @return BelongsToMany */ public function roles() { return $this->belongsToMany(Role::class, 'role_users', 'user_id', 'role_id')->withTimestamps(); } /** * @return boolean */ public function isSuperUser() { return $this->super_user || $this->hasAccess(ACL_ROLE_SUPER_USER); } /** * @param string $permission * @return boolean */ public function hasPermission($permission) { if ($this->isSuperUser()) { return true; } return $this->hasAccess($permission); } /** * @param array $permissions * @return bool */ public function hasAnyPermission(array $permissions) { if ($this->isSuperUser()) { return true; } return $this->hasAnyAccess($permissions); } /** * @return array */ public function authorAttributes() { return [ 'name' => $this->name, 'email' => $this->email, 'avatar' => $this->avatar_url, ]; } /** * Send the password reset notification. * * @param string $token * @return void */ public function sendPasswordResetNotification($token) { $this->notify(new ResetPasswordNotification($token)); } /** * Returns the activations relationship. * * @return HasMany */ public function activations() { return $this->hasMany(Activation::class, 'user_id'); } /** * {@inheritDoc} */ public function inRole($role) { $roleId = null; if ($role instanceof Role) { $roleId = $role->getKey(); } foreach ($this->roles as $instance) { /** * @var Role $instance */ if ($role instanceof Role) { if ($instance->getKey() === $roleId) { return true; } } elseif ($instance->getKey() == $role || $instance->slug == $role) { return true; } } return false; } /** * {@inheritDoc} */ public function delete() { if ($this->exists) { $this->activations()->delete(); $this->roles()->detach(); } return parent::delete(); } }
Save
cmd:
run