[enh] adding Password Policy management
This commit is contained in:
parent
d65acdeed2
commit
2125150614
|
@ -0,0 +1,66 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Passowrd Policy Api of AlternC, used by alternc-api package
|
||||
*/
|
||||
class Alternc_Api_Object_Policy extends Alternc_Api_Legacyobject {
|
||||
|
||||
const ERR_NOT_FOUND = 11151603;
|
||||
|
||||
function __construct($service) {
|
||||
global $admin, $cuid;
|
||||
if (!($service instanceof Alternc_Api_Service)) {
|
||||
throw new \Exception("Bad argument: service is not an Alternc_Api_Service", self::ERR_INVALID_ARGUMENT);
|
||||
}
|
||||
// We store the global $cuid to AlternC legacy classes
|
||||
$this->cuid = $cuid = $service->token->uid;
|
||||
$this->isAdmin = $service->token->isAdmin;
|
||||
// We use the global $admin from AlternC legacy classes
|
||||
$this->admin = $admin;
|
||||
// Set the legacy rights:
|
||||
$this->admin->enabled = $this->isAdmin;
|
||||
}
|
||||
|
||||
/** API Method from legacy class method admin->editPolicy($policy,$minsize,$maxsize,$classcount,$allowlogin)
|
||||
* @param $options a hash with parameters transmitted to legacy call
|
||||
* mandatory parameters: policy minsize maxsize classcount allowlogin
|
||||
* @return Alternc_Api_Response TRUE if the password policy has been updated
|
||||
*/
|
||||
function update($options) {
|
||||
$mandatory = array("policy", "minsize", "maxsize", "classcount", "allowlogin");
|
||||
$missing = "";
|
||||
foreach ($mandatory as $key) {
|
||||
if (!isset($options[$key])) {
|
||||
$missing.=$key . " ";
|
||||
}
|
||||
}
|
||||
if ($missing) {
|
||||
return new Alternc_Api_Response(array("code" => self::ERR_INVALID_ARGUMENT, "message" => "Missing or invalid argument: " . $missing));
|
||||
}
|
||||
$result = $this->admin->editPolicy($options["policy"],
|
||||
$options["minsize"], $options["maxsize"], $options["classcount"], $options["allowlogin"]);
|
||||
if (!$result) {
|
||||
return $this->alterncLegacyErrorManager();
|
||||
} else {
|
||||
return new Alternc_Api_Response(array("content" => true));
|
||||
}
|
||||
}
|
||||
|
||||
/** API Method from legacy class method admin->listPasswordPolicies()
|
||||
* @param $options a hash with parameters transmitted to legacy call
|
||||
* no options is used.
|
||||
* @return Alternc_Api_Response An array with all password policies
|
||||
*/
|
||||
function find($options) {
|
||||
$result = $this->admin->listPasswordPolicies();
|
||||
|
||||
if (!$result) {
|
||||
return $this->alterncLegacyErrorManager();
|
||||
} else {
|
||||
return new Alternc_Api_Response(array("content" => $result));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// class Alternc_Api_Object_Account
|
Loading…
Reference in New Issue