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;
 | |
|     }
 | |
|   }
 | |
| });
 |