This repository has been archived on 2024-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
sakura/libraries/ActionCode.php

58 lines
1.2 KiB
PHP
Raw Normal View History

<?php
/*
* Action code handler
*/
namespace Sakura;
/**
2015-12-09 20:21:08 +00:00
* Class ActionCode
* @package Sakura
*/
2015-12-09 20:21:08 +00:00
class ActionCode
{
// Generating an action code
2016-01-09 21:57:54 +00:00
public static function generate($action, $user = 0)
{
2016-01-09 21:57:54 +00:00
// Generate a code
$code = uniqid();
// Insert it
Database::insert('actioncodes', [
'code_action' => $action,
'user_id' => $user,
'action_code' => $code,
]);
// Return the code
return $code;
}
// Checking if a code is still valid
2016-01-09 21:57:54 +00:00
public static function validate($action, $code, $user = 0, $invalidate = true)
{
2016-01-09 21:57:54 +00:00
// Fetch the code from the db
$get = Database::count('actioncodes', [
'code_action' => [$action, '='],
'action_code' => [$code, '='],
'user_id' => [$user, '='],
]);
// Invalidate the code if requested
if ($invalidate) {
self::invalidate($code);
}
// Return the result
return $get[0] > 0;
}
// Make a code invalid
2016-01-09 21:57:54 +00:00
public static function invalidate($code)
{
2016-01-09 21:57:54 +00:00
Database::delete('actioncodes', [
'code_action' => [$code, '='],
]);
}
}