From ce68219e6a01dcc8bf9b71571d683d10762b3e31 Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Sat, 4 Nov 2017 19:27:02 +0100 Subject: [PATCH] refactoring --- lam/templates/initsuff.php | 35 +++++++++-------- lam/templates/main.php | 6 ++- lam/templates/main_header.php | 23 ++++++------ lam/templates/ou_edit.php | 4 +- lam/templates/pdfedit/pdfmain.php | 4 -- lam/templates/pdfedit/pdfpage.php | 10 ++--- lam/templates/profedit/profilemain.php | 52 ++++++++++++-------------- 7 files changed, 65 insertions(+), 69 deletions(-) diff --git a/lam/templates/initsuff.php b/lam/templates/initsuff.php index b90e2259..fcdba617 100644 --- a/lam/templates/initsuff.php +++ b/lam/templates/initsuff.php @@ -55,7 +55,6 @@ if (!empty($_POST)) { if (isset($_POST['add_suff']) || isset($_POST['cancel'])) { if (isset($_POST['add_suff'])) { $failedDNs = array(); - $error = array(); $newSuffixes = $_POST['new_suff']; $newSuffixes = str_replace("\\", "", $newSuffixes); $newSuffixes = str_replace("'", "", $newSuffixes); @@ -63,9 +62,14 @@ if (isset($_POST['add_suff']) || isset($_POST['cancel'])) { // add entries foreach ($newSuffixes as $newSuffix) { // check if entry is already present - $info = ldap_read($_SESSION['ldap']->server(), escapeDN($newSuffix), "objectclass=*", array('dn'), 0, 0, 0, LDAP_DEREF_NEVER); - $res = ldap_get_entries($_SESSION['ldap']->server(), $info); - if ($res) continue; + $info = @ldap_read($_SESSION['ldap']->server(), escapeDN($newSuffix), "objectclass=*", array('dn'), 0, 0, 0, LDAP_DEREF_NEVER); + $res = false; + if ($info !== false) { + $res = ldap_get_entries($_SESSION['ldap']->server(), $info); + } + if ($res) { + continue; + } $suff = $newSuffix; // generate DN and attributes $tmp = explode(",", $suff); @@ -78,8 +82,7 @@ if (isset($_POST['add_suff']) || isset($_POST['cancel'])) { $attr['objectClass'] = 'organization'; $dn = $suff; if (!@ldap_add($_SESSION['ldap']->server(), $dn, $attr)) { - $failedDNs[] = $suff; - $error[] = ldap_error($_SESSION['ldap']->server()); + $failedDNs[$suff] = ldap_error($_SESSION['ldap']->server()); continue; } } @@ -108,8 +111,11 @@ if (isset($_POST['add_suff']) || isset($_POST['cancel'])) { $subsuffCount = sizeof($subsuffs); for ($k = $subsuffCount - 1; $k >= 0; $k--) { // check if subsuffix is present - $info = ldap_read($_SESSION['ldap']->server(), escapeDN($subsuffs[$k]), "objectclass=*", array('dn'), 0, 0, 0, LDAP_DEREF_NEVER); - $res = ldap_get_entries($_SESSION['ldap']->server(), $info); + $info = @ldap_read($_SESSION['ldap']->server(), escapeDN($subsuffs[$k]), "objectclass=*", array('dn'), 0, 0, 0, LDAP_DEREF_NEVER); + $res = false; + if ($info !== false) { + $res = ldap_get_entries($_SESSION['ldap']->server(), $info); + } if (!$res) { $suffarray = explode(",", $subsuffs[$k]); $headarray = explode("=", $suffarray[0]); @@ -119,8 +125,7 @@ if (isset($_POST['add_suff']) || isset($_POST['cancel'])) { $attr['ou'] = $headarray[1]; $dn = $subsuffs[$k]; if (!@ldap_add($_SESSION['ldap']->server(), $dn, $attr)) { - $failedDNs[] = $suff; - $error[] = ldap_error($_SESSION['ldap']->server()); + $failedDNs[$suff] = ldap_error($_SESSION['ldap']->server()); break; } } @@ -134,8 +139,7 @@ if (isset($_POST['add_suff']) || isset($_POST['cancel'])) { } $dn = $subsuffs[$k]; if (!@ldap_add($_SESSION['ldap']->server(), $dn, $attr)) { - $failedDNs[] = $suff; - $error[] = ldap_error($_SESSION['ldap']->server()); + $failedDNs[$suff] = ldap_error($_SESSION['ldap']->server()); break; } } @@ -143,8 +147,7 @@ if (isset($_POST['add_suff']) || isset($_POST['cancel'])) { } } else { - $failedDNs[] = $suff; - $error[] = ldap_error($_SESSION['ldap']->server()); + $failedDNs[$suff] = ldap_error($_SESSION['ldap']->server()); } } } @@ -155,8 +158,8 @@ if (isset($_POST['add_suff']) || isset($_POST['cancel'])) { if (isset($_POST['add_suff'])) { if (sizeof($failedDNs) > 0) { // print error messages - for ($i = 0; $i < sizeof($failedDNs); $i++) { - StatusMessage("ERROR", _("Failed to create entry!") . "
" . htmlspecialchars($error[$i]), htmlspecialchars($failedDNs[$i])); + foreach ($failedDNs as $suffix => $error) { + StatusMessage("ERROR", _("Failed to create entry!") . "
" . htmlspecialchars($error), htmlspecialchars($suffix)); } include 'main_footer.php'; } diff --git a/lam/templates/main.php b/lam/templates/main.php index e594859f..4da6b94a 100644 --- a/lam/templates/main.php +++ b/lam/templates/main.php @@ -50,7 +50,11 @@ $new_suffs = array(); $typeManager = new \LAM\TYPES\TypeManager(); $types = $typeManager->getConfiguredTypes(); foreach ($types as $type) { - $info = ldap_read($_SESSION['ldap']->server(), escapeDN($type->getSuffix()), "(objectClass=*)", array('objectClass'), 0, 0, 0, LDAP_DEREF_NEVER); + $info = @ldap_read($_SESSION['ldap']->server(), escapeDN($type->getSuffix()), "(objectClass=*)", array('objectClass'), 0, 0, 0, LDAP_DEREF_NEVER); + if (($info === false) && !in_array($type->getSuffix(), $new_suffs)) { + $new_suffs[] = $type->getSuffix(); + continue; + } $res = ldap_get_entries($_SESSION['ldap']->server(), $info); if (!$res && !in_array($type->getSuffix(), $new_suffs)) { $new_suffs[] = $type->getSuffix(); diff --git a/lam/templates/main_header.php b/lam/templates/main_header.php index 0cad6a14..d0a32abb 100644 --- a/lam/templates/main_header.php +++ b/lam/templates/main_header.php @@ -85,8 +85,7 @@ $availableTools = getTools(); $toolSettings = $_SESSION['config']->getToolSettings(); // sort tools $toSort = array(); -for ($i = 0; $i < sizeof($availableTools); $i++) { - $toolClass = $availableTools[$i]; +foreach ($availableTools as $toolClass) { $myTool = new $toolClass(); if ($myTool->getRequiresWriteAccess() && !checkIfWriteAccessIsAllowed()) { continue; @@ -103,7 +102,7 @@ for ($i = 0; $i < sizeof($availableTools); $i++) { if (isset($toolSettings['tool_hide_' . $toolName]) && ($toolSettings['tool_hide_' . $toolName] == 'true')) { continue; } - $toSort[$availableTools[$i]] = $myTool->getPosition(); + $toSort[$toolClass] = $myTool->getPosition(); } asort($toSort); $tools = array(); @@ -148,19 +147,19 @@ foreach ($toSort as $key => $value) { tools