better error handling
This commit is contained in:
parent
e59f8d20f2
commit
0fabae9c2e
|
@ -816,7 +816,7 @@ class accountContainer {
|
||||||
$result = array();
|
$result = array();
|
||||||
if ($this->subpage=='') $this->subpage='attributes';
|
if ($this->subpage=='') $this->subpage='attributes';
|
||||||
if (isset($_POST['form_main_reset'])) {
|
if (isset($_POST['form_main_reset'])) {
|
||||||
$this->load_account($this->dn_orig);
|
$result = $this->load_account($this->dn_orig);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if ($this->current_page==0) {
|
if ($this->current_page==0) {
|
||||||
|
@ -1172,12 +1172,20 @@ class accountContainer {
|
||||||
* Loads an LDAP account with the given DN.
|
* Loads an LDAP account with the given DN.
|
||||||
*
|
*
|
||||||
* @param string $dn the DN of the account
|
* @param string $dn the DN of the account
|
||||||
|
* @return array error messages
|
||||||
*/
|
*/
|
||||||
function load_account($dn) {
|
function load_account($dn) {
|
||||||
|
$this->module = array();
|
||||||
$modules = $_SESSION['config']->get_AccountModules($this->type);
|
$modules = $_SESSION['config']->get_AccountModules($this->type);
|
||||||
$search = substr($dn, 0, strpos($dn, ','));
|
$search = substr($dn, 0, strpos($dn, ','));
|
||||||
$result = ldap_search($_SESSION['ldap']->server(), $dn, $search);
|
$result = @ldap_search($_SESSION['ldap']->server(), $dn, $search);
|
||||||
$entry = ldap_first_entry($_SESSION['ldap']->server(), $result);
|
if (!$result) {
|
||||||
|
return array(array("ERROR", _("Unable to load LDAP entry: ") . $dn, ldap_error($_SESSION['ldap']->server())));
|
||||||
|
}
|
||||||
|
$entry = @ldap_first_entry($_SESSION['ldap']->server(), $result);
|
||||||
|
if (!$entry) {
|
||||||
|
return array(array("ERROR", _("Unable to load LDAP entry: ") . $dn, ldap_error($_SESSION['ldap']->server())));
|
||||||
|
}
|
||||||
$this->dn = substr($dn, strpos($dn, ',')+1);
|
$this->dn = substr($dn, strpos($dn, ',')+1);
|
||||||
$this->dn_orig = $dn;
|
$this->dn_orig = $dn;
|
||||||
// extract RDN
|
// extract RDN
|
||||||
|
@ -1215,7 +1223,7 @@ class accountContainer {
|
||||||
|
|
||||||
// sort module buttons
|
// sort module buttons
|
||||||
$this->sortModules();
|
$this->sortModules();
|
||||||
return 0;
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -62,7 +62,19 @@ if (isset($_GET['DN'])) {
|
||||||
if ($_GET['type'] == $type) $type = str_replace("'", '',$_GET['type']);
|
if ($_GET['type'] == $type) $type = str_replace("'", '',$_GET['type']);
|
||||||
if ($_GET['DN'] == $DN) $DN = str_replace("'", '',$_GET['DN']);
|
if ($_GET['DN'] == $DN) $DN = str_replace("'", '',$_GET['DN']);
|
||||||
$_SESSION['account'] = new accountContainer($type, 'account');
|
$_SESSION['account'] = new accountContainer($type, 'account');
|
||||||
$_SESSION['account']->load_account($DN);
|
$result = $_SESSION['account']->load_account($DN);
|
||||||
|
if (sizeof($result) > 0) {
|
||||||
|
echo $_SESSION['header'];
|
||||||
|
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/layout.css\">\n";
|
||||||
|
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/type_" . $type . ".css\">\n";
|
||||||
|
echo "</head><body>\n";
|
||||||
|
for ($i=0; $i<sizeof($result); $i++) {
|
||||||
|
call_user_func_array("StatusMessage", $result[$i]);
|
||||||
|
}
|
||||||
|
echo "</body>\n";
|
||||||
|
echo "</html>\n";
|
||||||
|
die();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// new account
|
// new account
|
||||||
else if (count($_POST)==0) {
|
else if (count($_POST)==0) {
|
||||||
|
|
Loading…
Reference in New Issue