mirror of
				https://github.com/slawkens/myaac.git
				synced 2025-10-31 07:56:23 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.1 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
 | |
|  */
 | |
| 
 | |
| const IGNORE_SET_LAST_VISIT = true;
 | |
| 
 | |
| // 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();
 | |
| }
 | 
