54 lines
1.3 KiB
PHP
54 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Auth\Authenticatable;
|
|
use Laravel\Lumen\Auth\Authorizable;
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
|
|
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;
|
|
|
|
class User extends Model implements AuthenticatableContract, AuthorizableContract
|
|
{
|
|
use Authenticatable, Authorizable;
|
|
|
|
/**
|
|
* The attributes that are mass assignable.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $fillable = [
|
|
'username',
|
|
];
|
|
|
|
/**
|
|
* The attributes excluded from the model's JSON form.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $hidden = [
|
|
'password',
|
|
];
|
|
|
|
public function getMail() {
|
|
$mail = Mail::query()
|
|
->where("user_id", "=", $this->id)
|
|
->where("primary", "=", 1)
|
|
->where("status", "=", "valide")
|
|
->first();
|
|
|
|
if(is_null($mail)) {
|
|
return null;
|
|
}
|
|
return $mail->mail;
|
|
}
|
|
|
|
public function createMailResetToken() {
|
|
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
|
$randstring = '';
|
|
for ($i = 0; $i < 20; $i++) {
|
|
$randstring .= $characters[rand(0, strlen($characters)-1)];
|
|
}
|
|
$this->password_recovery_code = $randstring;
|
|
}
|
|
}
|