mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-26 17:29:21 +02:00
55 lines
1.0 KiB
PHP
55 lines
1.0 KiB
PHP
<?php
|
|
/**
|
|
* Account Number Generator
|
|
* Returns json with result
|
|
*
|
|
* @package MyAAC
|
|
* @author Slawkens <slawkens@gmail.com>
|
|
* @copyright 2021 MyAAC
|
|
* @link https://my-aac.org
|
|
*/
|
|
|
|
// we need some functions
|
|
require '../common.php';
|
|
require SYSTEM . 'functions.php';
|
|
require SYSTEM . 'init.php';
|
|
|
|
if (config('account_login_by_email') || USE_ACCOUNT_NAME) {
|
|
return;
|
|
}
|
|
|
|
$hasNumberColumn = $db->hasColumn('accounts', 'number');
|
|
do {
|
|
$length = ACCOUNT_NUMBER_LENGTH;
|
|
$min = 10 ** ($length - 1);
|
|
$max = 10 ** $length - 1;
|
|
|
|
try {
|
|
$number = random_int($min, $max);
|
|
} catch (Exception $e) {
|
|
error_('');
|
|
}
|
|
|
|
$query = $db->query('SELECT `id` FROM `accounts` WHERE `' . ($hasNumberColumn ? 'number' : 'id') . '` = ' . $db->quote($number));
|
|
} while($query->rowCount() >= 1);
|
|
|
|
success_($number);
|
|
|
|
/**
|
|
* Output message & exit.
|
|
*
|
|
* @param string $desc Description
|
|
*/
|
|
function success_($desc) {
|
|
echo json_encode([
|
|
'success' => $desc
|
|
]);
|
|
exit();
|
|
}
|
|
function error_($desc) {
|
|
echo json_encode([
|
|
'error' => $desc
|
|
]);
|
|
exit();
|
|
}
|