#!/usr/bin/php 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; } } });