<?php
namespace App\Model;

use App\Modules\Ldap\Ldap;


class Depart{
    public string $name;
    public int $priority;
    public array $users;

    public function __construct(string $name){
	$this->name = $name;
	$this->users = [];	
    }
}

class CustomList{
    public string $name;
    public int $priority;
    public array $users;

    public function __construct(string $name){
	$this->name = $name;
	$this->users = [];	
    }
}


class User{

    public string $name;
    public Depart $depart;
    public string $employeetype;
    public int $priority;
    public array $phones;


    public static function GetByName($name, $config){
	$conn = new Ldap($config);
	$result = $conn->get_user($name);
	$d = $conn->search_depart_by_member($name);
	if ($d != []){
	    $depart = $d[0];
        };
	$user = new self;
	$user->name = $name;
	/* echo var_dump($depart); */
	$user->depart = new Depart($depart['name']);
	$user->employeetype = $result['employeetype'][0];
	if(isset($result['w'])) {
	    $user->priority = $result['w'];
	};
	foreach($result['mobile'] as $number){
	    $user->phones[] = new Number($number);
	}
	// echo var_dump($operator);
	return $user;
    }
}

?>
