/** * Function called when editing a group */ function _ppolicy_baseGroupEdit($ldapArr, $postArr) { if (!isset($ldapArr["cn"][0])) { return; } $default = getDefaultPPolicyName(); $f = new DivForModule(_T("Password policy management", "ppolicy"), "#FDF"); $f->push(new Table()); $ppolicyList = listPPolicy(); if (count($ppolicyList) > 1) { $ppolicyTpl = new SelectItem("ppolicyname"); foreach ($ppolicyList as $pp) { $name = $pp[1]['cn'][0]; if (isset($pp[1]['description'][0])) { $desc = $pp[1]['description'][0]; } else { $desc = $name; } if ($name == $default) { $name = ""; $desc = _T($desc, "ppolicy"); } $values[$desc] = $name; } $ppolicyTpl->setElements(array_keys($values)); $ppolicyTpl->setElementsVal(array_values($values)); $f->add(new TrFormElement(_T("Apply a password policy for all group users", "ppolicy"), $ppolicyTpl, array("tooltip" => _T("If not set the default password policy is enforced.", "ppolicy"))), array("value" => $ppolicyName)); } $f->pop(); $f->display(); }
if (isset($_GET["filter"])) { $filter = $_GET["filter"]; } else { $filter = ""; } $editActions = array(); $delActions = array(); $ppolicies = array(); foreach (listPPolicy($filter) as $dn => $entry) { $name = $entry[1]["cn"][0]; $desc = ''; if (isset($entry[1]["description"][0])) { $desc = $entry[1]["description"][0]; } # don't allow to remove the default password policy if ($name == getDefaultPPolicyName()) { $desc = _T($desc, "ppolicy"); $editActions[] = new ActionItem(_T("Edit password policy", "ppolicy"), "editppolicy", "edit", "ppolicy", "base", "users"); $delActions[] = new EmptyActionItem(); } else { $editActions[] = new ActionItem(_T("Edit password policy", "ppolicy"), "editppolicy", "edit", "ppolicy", "base", "users"); $delActions[] = new ActionPopupItem(_T("Delete password policy", "ppolicy"), "deleteppolicy", "delete", "ppolicy", "base", "users"); } $ppolicies[$name] = '(' . $desc . ')'; } $n = new ListInfos(array_keys($ppolicies), _T("Password policies", "ppolicy")); $n->setAdditionalInfo(array_values($ppolicies)); $n->setNavBar(new AjaxNavBar(count($ppolicies), $filter)); $n->setCssClass("groupName"); $n->addActionItemArray($editActions); $n->addActionItemArray($delActions);