61 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env php
 | |
| <?php
 | |
| 
 | |
| if(!file_exists('include/cli_startup.php')) {
 | |
| 	echo 'Run admins from the top level Hubzilla web directory, as util/admins <args>' . PHP_EOL;
 | |
| 	exit(1);
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| require_once('include/cli_startup.php');
 | |
| 
 | |
| cli_startup();
 | |
| 
 | |
| $helpArgs = getopt('h', array('help'));
 | |
| if (count($helpArgs) === 1) {
 | |
| 	echo <<<'EndOfOutput'
 | |
| adds, removes, or lists admins
 | |
| 
 | |
| Usage: util/admins
 | |
|        util/admins list
 | |
|        util/admins add <account_id>
 | |
|        util/admins remove <account_id>
 | |
| 
 | |
| EndOfOutput;
 | |
| 	return;
 | |
| }
 | |
| 
 | |
| if($argc == 1) {
 | |
| 	$r = q("select account_id, account_roles, account_email from account");
 | |
| 	if($r) {
 | |
| 		foreach($r as $rr) {
 | |
| 			echo sprintf('%4u %s %s', $rr['account_id'], $rr['account_email'],(($rr['account_roles'] & 4096) ? '*' : '')) . PHP_EOL;
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| if($argc > 1 && $argv[1] === 'list') {
 | |
| 	$r = q("select account_id, account_roles, account_email from account where (account_roles & 4096) > 0");
 | |
| 	if($r) {
 | |
| 		foreach($r as $rr) {
 | |
| 			echo sprintf('%4u %s %s', $rr['account_id'], $rr['account_email'],(($rr['account_roles'] & 4096) ? '*' : '')) . PHP_EOL;
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| 
 | |
| if($argc > 2 && $argv[1] === 'add' && intval($argv[2])) {
 | |
| 	$r = q("update account set account_roles = (account_roles | 4096) where account_id = %d",
 | |
| 		intval($argv[2])
 | |
| 	);
 | |
| }
 | |
| 
 | |
| if($argc > 2 && $argv[1] === 'remove' && intval($argv[2])) {
 | |
| 	$r = q("update account set account_roles = (account_roles - 4096) where account_id = %d and (account_roles & 4096) > 0",
 | |
| 		intval($argv[2])
 | |
| 	);
 | |
| }
 |