Work on registration of existing systems to users
This commit is contained in:
@@ -7,6 +7,7 @@ use Exception;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Facades\Crypt;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
@@ -369,6 +370,41 @@ class Address extends Model
|
||||
return ($o && $o->system->active) ? $o : NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create an activation code for this address
|
||||
*
|
||||
* @param User $uo
|
||||
* @return string
|
||||
*/
|
||||
public function set_activation(User $uo): string
|
||||
{
|
||||
return sprintf('%x:%s',
|
||||
$this->id,
|
||||
substr(md5(sprintf('%d:%x',$uo->id,timew($this->updated_at))),0,10)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check the user's activation code for this address is correct
|
||||
*
|
||||
* @param User $uo
|
||||
* @param string $code
|
||||
* @return bool
|
||||
*/
|
||||
public function check_activation(User $uo,string $code): bool
|
||||
{
|
||||
try {
|
||||
Log::info(sprintf('%s:Checking Activation code [%s] invalid for user [%d]',self::LOGKEY,$code,$uo->id));
|
||||
|
||||
return ($code == $this->set_activation($uo));
|
||||
|
||||
} catch (\Exception $e) {
|
||||
Log::error(sprintf('%s:! Activation code [%s] invalid for user [%d]',self::LOGKEY,$code,$uo->id));
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Netmail waiting to be sent to this system
|
||||
*
|
||||
|
Reference in New Issue
Block a user