84 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Zotlabs\Module\Admin;
 | |
| 
 | |
| 
 | |
| 
 | |
| class Account_edit {
 | |
| 
 | |
| 	function post() {
 | |
| 
 | |
| 		$account_id = $_REQUEST['aid'];
 | |
| 
 | |
| 		if(! $account_id)
 | |
| 			return;
 | |
| 
 | |
| 		$pass1 = trim($_REQUEST['pass1']);
 | |
| 		$pass2 = trim($_REQUEST['pass2']);
 | |
| 		if($pass1 && $pass2 && ($pass1 === $pass2)) {
 | |
| 			$salt = random_string(32);
 | |
| 			$password_encoded = hash('whirlpool', $salt . $pass1);
 | |
| 			$r = q("update account set account_salt = '%s', account_password = '%s', 
 | |
| 				account_password_changed = '%s' where account_id = %d",
 | |
| 				dbesc($salt),
 | |
| 				dbesc($password_encoded),
 | |
| 				dbesc(datetime_convert()),
 | |
| 				intval($account_id)
 | |
| 			);
 | |
| 			if($r)
 | |
| 				info( sprintf( t('Password changed for account %d.'), $account_id). EOL);
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 		$service_class = trim($_REQUEST['service_class']);
 | |
| 		$account_level = intval(trim($_REQUEST['account_level']));
 | |
| 		$account_language = trim($_REQUEST['account_language']);
 | |
| 
 | |
| 		$r = q("update account set account_service_class = '%s', account_level = %d, account_language = '%s' 
 | |
| 			where account_id = %d",
 | |
| 			dbesc($service_class),
 | |
| 			intval($account_level),
 | |
| 			dbesc($account_language),
 | |
| 			intval($account_id)
 | |
| 		);
 | |
| 
 | |
| 		if($r)
 | |
| 			info( t('Account settings updated.') . EOL);
 | |
| 
 | |
| 		goaway(z_root() . '/admin/accounts');
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	function get() {
 | |
| 		if(argc() > 2)
 | |
| 			$account_id = argv(2);
 | |
| 
 | |
| 		$x = q("select * from account where account_id = %d limit 1",
 | |
| 			intval($account_id)
 | |
| 		);
 | |
| 
 | |
| 		if(! $x) {
 | |
| 			notice ( t('Account not found.') . EOL);
 | |
| 			return '';
 | |
| 		}
 | |
| 
 | |
| 
 | |
| 		$a = replace_macros(get_markup_template('admin_account_edit.tpl'), [
 | |
| 			'$account' => $x[0],
 | |
| 			'$title' => t('Account Edit'),
 | |
| 			'$pass1' => [ 'pass1', t('New Password'), ' ','' ],
 | |
| 			'$pass2' => [ 'pass2', t('New Password again'), ' ','' ],
 | |
| 			'$account_level' => [ 'account_level', t('Technical skill level'), $x[0]['account_level'], '', \Zotlabs\Lib\Techlevels::levels() ],
 | |
| 			'$account_language' => [ 'account_language' , t('Account language (for emails)'), $x[0]['account_language'], '', language_list() ],
 | |
| 			'$service_class' => [ 'service_class', t('Service class'), $x[0]['account_service_class'], '' ],
 | |
| 			'$submit' => t('Submit'),
 | |
| 			]
 | |
| 		);
 | |
| 
 | |
| 		return $a;
 | |
| 
 | |
| 
 | |
| 	}
 | |
| 
 | |
| 
 | |
| } |