HEX
Server: LiteSpeed
System: Linux srv1.dhviews.com 5.14.0-570.23.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jun 24 11:27:16 EDT 2025 x86_64
User: bdedition (1723)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //opt/cpvendor/bin/users
#!/usr/local/emps/bin/php
<?php

$ret['data'] = [];
$ret['metadata']['result'] = 'ok';

include_once(__DIR__.'/inc.php');

// Get the parameters for data
$args = getopt('o:', ['owner:', 'package-name:', 'package-owner:', 'username:', 'unix-id:', 'fields:']);

$owner = $args['owner'];
$owner = empty($args['o']) ? $args['owner'] : $args['o'];

$users = cl_user_list();

foreach($users as $user => $v){
	
	$v = @json_decode(file_get_contents($globals['users_path'].'/'.$user.'/info'), true);
	
	if(empty($v)){
		continue;
	}
	
	if(!empty($owner) && $v['owner'] != $owner){
		continue;
	}
	
	$info = posix_getpwnam($user);
	
	$u = [];
	$u['id'] = $info['uid'];
	$u['username'] = $user;
	$u['owner'] = empty($v['owner']) ? 'root' : $v['owner'];
	$u['domain'] = $v['domain'];
	$u['email'] = $v['email'];
	//$u['locale_code'] = 'EN_us';
	$u['package'] = NULL;
	
	if(!empty($v['plan'])){
		$u['package']['name'] = $v['plan'];
		$u['package']['owner'] = $u['owner'];
	}
	
	if(!empty($owner) && $u['owner'] != $owner){
		continue;
	}
	
	if(!empty($args['package-name']) && $args['package-name'] != $u['package']['name']){
		continue;
	}
	
	if(!empty($args['package-owner']) && $args['package-owner'] != $u['package']['owner']){
		continue;
	}
	
	if(!empty($args['username']) && $args['username'] != $u['username']){
		continue;
	}
	
	if(!empty($args['unix-id']) && $args['unix-id'] != $u['id']){
		continue;
	}
	
	if(!empty($args['fields'])){
		$fields = explode(',', $args['fields']);
		
		foreach($u as $uk => $uv){
			
			if(!in_array($uk, $fields)){
				//echo $uk;
				unset($u[$uk]);
			}
		}
		
	}
	
	$ret['data'][] = $u;
	
}

echo json_encode($ret, JSON_PRETTY_PRINT)."\n";