73 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/php
 | 
						|
<?php
 | 
						|
require __DIR__.'/../../vendor/autoload.php';
 | 
						|
 | 
						|
use nur\ldap\app\LdapApplication;
 | 
						|
use nur\ldap\LdapObject;
 | 
						|
 | 
						|
LdapApplication::run(new class extends LdapApplication {
 | 
						|
  const ARGS = [
 | 
						|
    "merge" => parent::ARGS,
 | 
						|
    ["-a", "--action", "args" => 1],
 | 
						|
  ];
 | 
						|
 | 
						|
  protected $action;
 | 
						|
  protected $args;
 | 
						|
 | 
						|
  function main() {
 | 
						|
    if ($this->config === null) $this->config = __DIR__.'/admin.ldapconf';
 | 
						|
    $conn = $this->getConn();
 | 
						|
 | 
						|
    switch ($this->action) {
 | 
						|
    case "search": # sélection
 | 
						|
    case "s": # sélection
 | 
						|
      $pouet = $conn->first("", ["filter" => ["uid" => "pouet"]]);
 | 
						|
      if ($pouet !== null) {
 | 
						|
        Txx("trouvé", $pouet->array());
 | 
						|
      } else {
 | 
						|
        Txx("pas trouvé");
 | 
						|
      }
 | 
						|
      break;
 | 
						|
    case "create": # création
 | 
						|
    case "c": # création
 | 
						|
      $pouet = new LdapObject();
 | 
						|
      $pouet->merge([
 | 
						|
        "objectClass" => [
 | 
						|
          "top",
 | 
						|
          "account",
 | 
						|
          "simpleSecurityObject",
 | 
						|
        ],
 | 
						|
        "uid" => "pouet",
 | 
						|
        "userPassword" => "plouf",
 | 
						|
      ]);
 | 
						|
      $pouet->initDn("dc=univ-reunion,dc=fr", "uid", $conn);
 | 
						|
      $pouet->update(null, $conn);
 | 
						|
      Txx("créé");
 | 
						|
      break;
 | 
						|
    case "modify": # modification
 | 
						|
    case "m": # modification
 | 
						|
      $pouet = $conn->first("uid=pouet");
 | 
						|
      if ($pouet !== null) {
 | 
						|
        $pouet["userPassword"] = "pass".random_int(1, 1000);
 | 
						|
        Txx("userPassword: $pouet[userPassword]");
 | 
						|
        $pouet->update(null, $conn);
 | 
						|
        Txx("mis à jour");
 | 
						|
      } else {
 | 
						|
        Txx("pas trouvé");
 | 
						|
      }
 | 
						|
      break;
 | 
						|
    case "delete": # suppression
 | 
						|
    case "d": # suppression
 | 
						|
      $pouet = $conn->first("uid=pouet");
 | 
						|
      if ($pouet !== null) {
 | 
						|
        Txx("trouvé", $pouet->array());
 | 
						|
        $pouet->delete(null, $conn);
 | 
						|
        Txx("supprimé");
 | 
						|
      } else {
 | 
						|
        Txx("pas trouvé");
 | 
						|
      }
 | 
						|
      break;
 | 
						|
    }
 | 
						|
  }
 | 
						|
});
 |