replaced LDAP filtering by local search; renamed some variables
This commit is contained in:
		
							parent
							
								
									f6d7db5f07
								
							
						
					
					
						commit
						16d28bd336
					
				| 
						 | 
					@ -45,13 +45,15 @@ session_save_path("../../sess");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
setlanguage();
 | 
					setlanguage();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$scope = 'domain';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// get sorting column when register_globals is off
 | 
					// get sorting column when register_globals is off
 | 
				
			||||||
$sort = $_GET['sort'];
 | 
					$sort = $_GET['sort'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// copy HTTP-GET variables to HTTP-POST
 | 
					// copy HTTP-GET variables to HTTP-POST
 | 
				
			||||||
$_POST = $_POST + $_GET;
 | 
					$_POST = $_POST + $_GET;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$dom_info = $_SESSION['dom_info'];
 | 
					$info = $_SESSION[$scope . 'info'];
 | 
				
			||||||
$dom_units = $_SESSION['dom_units'];
 | 
					$dom_units = $_SESSION['dom_units'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// check if button was pressed and if we have to add/delete a domain
 | 
					// check if button was pressed and if we have to add/delete a domain
 | 
				
			||||||
| 
						 | 
					@ -104,8 +106,11 @@ if ($_POST['dom_suffix']) $dom_suffix = $_POST['dom_suffix'];  // new suffix sel
 | 
				
			||||||
elseif ($_SESSION['dom_suffix']) $dom_suffix = $_SESSION['dom_suffix'];  // old suffix from session
 | 
					elseif ($_SESSION['dom_suffix']) $dom_suffix = $_SESSION['dom_suffix'];  // old suffix from session
 | 
				
			||||||
else $dom_suffix = $_SESSION["config"]->get_DomainSuffix();  // default suffix
 | 
					else $dom_suffix = $_SESSION["config"]->get_DomainSuffix();  // default suffix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// first time page is shown
 | 
					$refresh = true;
 | 
				
			||||||
if (! $_GET['norefresh']) {
 | 
					if ($_GET['norefresh']) $refresh = false;
 | 
				
			||||||
 | 
					if ($_POST['refresh']) $refresh = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ($refresh) {
 | 
				
			||||||
	// configure search filter
 | 
						// configure search filter
 | 
				
			||||||
	$filter = "(objectClass=sambaDomain)";
 | 
						$filter = "(objectClass=sambaDomain)";
 | 
				
			||||||
	$attrs = $attr_array;
 | 
						$attrs = $attr_array;
 | 
				
			||||||
| 
						 | 
					@ -114,28 +119,28 @@ if (! $_GET['norefresh']) {
 | 
				
			||||||
		StatusMessage("WARN", _("LDAP sizelimit exceeded, not all entries are shown."), _("See README.openldap.txt to solve this problem."));
 | 
							StatusMessage("WARN", _("LDAP sizelimit exceeded, not all entries are shown."), _("See README.openldap.txt to solve this problem."));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if ($sr) {
 | 
						if ($sr) {
 | 
				
			||||||
		$dom_info = ldap_get_entries($_SESSION["ldap"]->server, $sr);
 | 
							$info = ldap_get_entries($_SESSION["ldap"]->server, $sr);
 | 
				
			||||||
		ldap_free_result($sr);
 | 
							ldap_free_result($sr);
 | 
				
			||||||
		if ($dom_info["count"] == 0) StatusMessage("WARN", "", _("No Samba Domains found!"));
 | 
							if ($info["count"] == 0) StatusMessage("WARN", "", _("No Samba domains found!"));
 | 
				
			||||||
		// delete first array entry which is "count"
 | 
							// delete first array entry which is "count"
 | 
				
			||||||
		unset($dom_info['count']);
 | 
							unset($info['count']);
 | 
				
			||||||
		// sort rows by sort column ($sort)
 | 
							// sort rows by sort column ($sort)
 | 
				
			||||||
		$dom_info = listSort($sort, $attr_array, $dom_info);
 | 
							$info = listSort($sort, $attr_array, $info);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	else StatusMessage("ERROR", _("LDAP Search failed! Please check your preferences."), _("No Samba Domains found!"));
 | 
						else StatusMessage("ERROR", _("LDAP Search failed! Please check your preferences."), _("No Samba domains found!"));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
// use search result from session
 | 
					// use search result from session
 | 
				
			||||||
else {
 | 
					else {
 | 
				
			||||||
	if (sizeof($dom_info) == 0) StatusMessage("WARN", "", _("No Samba Domains found!"));
 | 
						if (sizeof($info) == 0) StatusMessage("WARN", "", _("No Samba domains found!"));
 | 
				
			||||||
	// sort rows by sort column ($sort)
 | 
						// sort rows by sort column ($sort)
 | 
				
			||||||
	if ($dom_info) $dom_info = listSort($sort, $attr_array, $dom_info);
 | 
						if ($info) $info = listSort($sort, $attr_array, $info);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo ("<form action=\"listdomains.php\" method=\"post\">\n");
 | 
					echo ("<form action=\"listdomains.php?norefresh=true\" method=\"post\">\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// draw navigation bar if domain accounts were found
 | 
					// draw navigation bar if domain accounts were found
 | 
				
			||||||
if (sizeof($dom_info) > 0) {
 | 
					if (sizeof($info) > 0) {
 | 
				
			||||||
listDrawNavigationBar(sizeof($dom_info), $max_page_entries, $page, $sort, '', "domain", _("%s Samba domain(s) found"));
 | 
					listDrawNavigationBar(sizeof($info), $max_page_entries, $page, $sort, '', "domain", _("%s Samba domain(s) found"));
 | 
				
			||||||
echo ("<br>\n");
 | 
					echo ("<br>\n");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -155,25 +160,25 @@ echo "</tr>\n";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// calculate which rows to show
 | 
					// calculate which rows to show
 | 
				
			||||||
$table_begin = ($page - 1) * $max_page_entries;
 | 
					$table_begin = ($page - 1) * $max_page_entries;
 | 
				
			||||||
if (($page * $max_page_entries) > sizeof($dom_info)) $table_end = sizeof($dom_info);
 | 
					if (($page * $max_page_entries) > sizeof($info)) $table_end = sizeof($info);
 | 
				
			||||||
else $table_end = ($page * $max_page_entries);
 | 
					else $table_end = ($page * $max_page_entries);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// print domain list
 | 
					// print domain list
 | 
				
			||||||
for ($i = $table_begin; $i < $table_end; $i++) {
 | 
					for ($i = $table_begin; $i < $table_end; $i++) {
 | 
				
			||||||
	echo("<tr class=\"domainlist\" onMouseOver=\"domain_over(this, '" . $dom_info[$i]["dn"] . "')\"" .
 | 
						echo("<tr class=\"domainlist\" onMouseOver=\"domain_over(this, '" . $info[$i]["dn"] . "')\"" .
 | 
				
			||||||
								" onMouseOut=\"domain_out(this, '" . $dom_info[$i]["dn"] . "')\"" .
 | 
													" onMouseOut=\"domain_out(this, '" . $info[$i]["dn"] . "')\"" .
 | 
				
			||||||
								" onClick=\"domain_click(this, '" . $dom_info[$i]["dn"] . "')\"" .
 | 
													" onClick=\"domain_click(this, '" . $info[$i]["dn"] . "')\"" .
 | 
				
			||||||
								" onDblClick=\"parent.frames[1].location.href='../domain.php?action=edit&DN=" . $dom_info[$i]["dn"] . "'\">" .
 | 
													" onDblClick=\"parent.frames[1].location.href='../domain.php?action=edit&DN=" . $info[$i]["dn"] . "'\">" .
 | 
				
			||||||
								" <td height=22 align=\"center\"><input onClick=\"domain_click(this, '" . $dom_info[$i]["dn"] . "')\" type=\"checkbox\" name=\"" . $dom_info[$i]["dn"] . "\"></td>" .
 | 
													" <td height=22 align=\"center\"><input onClick=\"domain_click(this, '" . $info[$i]["dn"] . "')\" type=\"checkbox\" name=\"" . $info[$i]["dn"] . "\"></td>" .
 | 
				
			||||||
								" <td align='center'><a href=\"../domain.php?action=edit&DN='" . $dom_info[$i]["dn"] . "'\">" . _("Edit") . "</a></td>");
 | 
													" <td align='center'><a href=\"../domain.php?action=edit&DN='" . $info[$i]["dn"] . "'\">" . _("Edit") . "</a></td>");
 | 
				
			||||||
	for ($k = 0; $k < sizeof($attr_array); $k++) {
 | 
						for ($k = 0; $k < sizeof($attr_array); $k++) {
 | 
				
			||||||
		echo ("<td>");
 | 
							echo ("<td>");
 | 
				
			||||||
		// print all attribute entries seperated by "; "
 | 
							// print all attribute entries seperated by "; "
 | 
				
			||||||
		if (sizeof($dom_info[$i][strtolower($attr_array[$k])]) > 0) {
 | 
							if (sizeof($info[$i][strtolower($attr_array[$k])]) > 0) {
 | 
				
			||||||
			// delete first array entry which is "count"
 | 
								// delete first array entry which is "count"
 | 
				
			||||||
			if (is_array($dom_info[$i][strtolower($attr_array[$k])])) unset($dom_info[$i][strtolower($attr_array[$k])]['count']);
 | 
								if (is_array($info[$i][strtolower($attr_array[$k])])) unset($info[$i][strtolower($attr_array[$k])]['count']);
 | 
				
			||||||
			if (is_array($dom_info[$i][strtolower($attr_array[$k])])) echo implode("; ", $dom_info[$i][strtolower($attr_array[$k])]);
 | 
								if (is_array($info[$i][strtolower($attr_array[$k])])) echo implode("; ", $info[$i][strtolower($attr_array[$k])]);
 | 
				
			||||||
			else echo $dom_info[$i][strtolower($attr_array[$k])];
 | 
								else echo $info[$i][strtolower($attr_array[$k])];
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		echo ("</td>");
 | 
							echo ("</td>");
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -184,8 +189,8 @@ echo ("</table>");
 | 
				
			||||||
echo ("<br>");
 | 
					echo ("<br>");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// draw navigation bar if domain accounts were found
 | 
					// draw navigation bar if domain accounts were found
 | 
				
			||||||
if (sizeof($dom_info) > 0) {
 | 
					if (sizeof($info) > 0) {
 | 
				
			||||||
listDrawNavigationBar(sizeof($dom_info), $max_page_entries, $page, $sort, '', "domain", _("%s Samba domain(s) found"));
 | 
					listDrawNavigationBar(sizeof($info), $max_page_entries, $page, $sort, '', "domain", _("%s Samba domain(s) found"));
 | 
				
			||||||
echo ("<br>\n");
 | 
					echo ("<br>\n");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -211,7 +216,7 @@ if (sizeof($dom_units) > 1) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo ("<p align=\"left\">\n");
 | 
					echo ("<p align=\"left\">\n");
 | 
				
			||||||
echo ("<input type=\"submit\" name=\"new_domain\" value=\"" . _("New Domain") . "\">\n");
 | 
					echo ("<input type=\"submit\" name=\"new_domain\" value=\"" . _("New Domain") . "\">\n");
 | 
				
			||||||
if (sizeof($dom_info) > 0) echo ("<input type=\"submit\" name=\"del_domain\" value=\"" . _("Delete Domain(s)") . "\">\n");
 | 
					if (sizeof($info) > 0) echo ("<input type=\"submit\" name=\"del_domain\" value=\"" . _("Delete Domain(s)") . "\">\n");
 | 
				
			||||||
echo ("</p>\n");
 | 
					echo ("</p>\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo ("</form>\n");
 | 
					echo ("</form>\n");
 | 
				
			||||||
| 
						 | 
					@ -220,7 +225,7 @@ echo "</body></html>\n";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// save variables to session
 | 
					// save variables to session
 | 
				
			||||||
$_SESSION['dom_info'] = $dom_info;
 | 
					$_SESSION[$scope . 'info'] = $info;
 | 
				
			||||||
$_SESSION['dom_units'] = $dom_units;
 | 
					$_SESSION['dom_units'] = $dom_units;
 | 
				
			||||||
$_SESSION['dom_suffix'] = $dom_suffix;
 | 
					$_SESSION['dom_suffix'] = $dom_suffix;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -49,13 +49,15 @@ session_save_path("../../sess");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
setlanguage();
 | 
					setlanguage();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$scope = 'group';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// get sorting column when register_globals is off
 | 
					// get sorting column when register_globals is off
 | 
				
			||||||
$sort = $_GET['sort'];
 | 
					$sort = $_GET['sort'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// copy HTTP-GET variables to HTTP-POST
 | 
					// copy HTTP-GET variables to HTTP-POST
 | 
				
			||||||
$_POST = $_POST + $_GET;
 | 
					$_POST = $_POST + $_GET;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$grp_info = $_SESSION['grp_info'];
 | 
					$info = $_SESSION[$scope . 'info'];
 | 
				
			||||||
$grp_units = $_SESSION['grp_units'];
 | 
					$grp_units = $_SESSION['grp_units'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// check if button was pressed and if we have to add/delete a group
 | 
					// check if button was pressed and if we have to add/delete a group
 | 
				
			||||||
| 
						 | 
					@ -95,9 +97,9 @@ if ($_POST['new_group'] || $_POST['del_group'] || $_POST['pdf_group'] || $_POST[
 | 
				
			||||||
	// PDF for all groups
 | 
						// PDF for all groups
 | 
				
			||||||
	elseif ($_POST['pdf_all']){
 | 
						elseif ($_POST['pdf_all']){
 | 
				
			||||||
		$list = array();
 | 
							$list = array();
 | 
				
			||||||
		for ($i = 0; $i < sizeof($_SESSION['grp_info']); $i++) {
 | 
							for ($i = 0; $i < sizeof($_SESSION[$scope . 'info']); $i++) {
 | 
				
			||||||
			$_SESSION["accountPDF-$i"] = new accountContainer("group", "accountPDF-$i");
 | 
								$_SESSION["accountPDF-$i"] = new accountContainer("group", "accountPDF-$i");
 | 
				
			||||||
			$_SESSION["accountPDF-$i"]->load_account($_SESSION['grp_info'][$i]['dn']);
 | 
								$_SESSION["accountPDF-$i"]->load_account($_SESSION[$scope . 'info'][$i]['dn']);
 | 
				
			||||||
			$list[$i] = $_SESSION["accountPDF-$i"];
 | 
								$list[$i] = $_SESSION["accountPDF-$i"];
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if (sizeof($list) > 0) {
 | 
							if (sizeof($list) > 0) {
 | 
				
			||||||
| 
						 | 
					@ -152,58 +154,58 @@ if ($_POST['grp_suffix']) $grp_suffix = $_POST['grp_suffix'];  // new suffix sel
 | 
				
			||||||
elseif ($_SESSION['grp_suffix']) $grp_suffix = $_SESSION['grp_suffix'];  // old suffix from session
 | 
					elseif ($_SESSION['grp_suffix']) $grp_suffix = $_SESSION['grp_suffix'];  // old suffix from session
 | 
				
			||||||
else $grp_suffix = $_SESSION["config"]->get_GroupSuffix();  // default suffix
 | 
					else $grp_suffix = $_SESSION["config"]->get_GroupSuffix();  // default suffix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// generate search filter for sort links
 | 
					$refresh = true;
 | 
				
			||||||
$searchFilter = "";
 | 
					if ($_GET['norefresh']) $refresh = false;
 | 
				
			||||||
for ($k = 0; $k < sizeof($desc_array); $k++) {
 | 
					if ($_POST['refresh']) $refresh = true;
 | 
				
			||||||
	if (eregi("^([0-9a-z_\\*\\+\\-])+$", $_POST["filter" . strtolower($attr_array[$k])])) {
 | 
					 | 
				
			||||||
		$searchFilter = $searchFilter . "&filter" . strtolower($attr_array[$k]) . "=".
 | 
					 | 
				
			||||||
			$_POST["filter" . strtolower($attr_array[$k])];
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (! $_GET['norefresh']) {
 | 
					if ($refresh) {
 | 
				
			||||||
	// configure search filter
 | 
						// configure search filter
 | 
				
			||||||
	$module_filter = get_ldap_filter("group");  // basic filter is provided by modules
 | 
						$module_filter = get_ldap_filter("group");  // basic filter is provided by modules
 | 
				
			||||||
	$filter = "(&" . $module_filter;
 | 
						$filter = "(&" . $module_filter . ")";
 | 
				
			||||||
	for ($k = 0; $k < sizeof($desc_array); $k++) {
 | 
					 | 
				
			||||||
	if (eregi("^([0-9a-z_\\*\\+\\-])+$", $_POST["filter" . strtolower($attr_array[$k])]))
 | 
					 | 
				
			||||||
		$filter = $filter . "(" . strtolower($attr_array[$k]) . "=" .
 | 
					 | 
				
			||||||
		$_POST["filter" . strtolower($attr_array[$k])] . ")";
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
		$_POST["filter" . strtolower($attr_array[$k])] = "";
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	$filter = $filter . ")";
 | 
					 | 
				
			||||||
	$attrs = $attr_array;
 | 
						$attrs = $attr_array;
 | 
				
			||||||
	$sr = @ldap_search($_SESSION["ldap"]->server(), $grp_suffix, $filter, $attrs);
 | 
						$sr = @ldap_search($_SESSION["ldap"]->server(), $grp_suffix, $filter, $attrs);
 | 
				
			||||||
	if (ldap_errno($_SESSION["ldap"]->server()) == 4) {
 | 
						if (ldap_errno($_SESSION["ldap"]->server()) == 4) {
 | 
				
			||||||
		StatusMessage("WARN", _("LDAP sizelimit exceeded, not all entries are shown."), _("See README.openldap.txt to solve this problem."));
 | 
							StatusMessage("WARN", _("LDAP sizelimit exceeded, not all entries are shown."), _("See README.openldap.txt to solve this problem."));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if ($sr) {
 | 
						if ($sr) {
 | 
				
			||||||
		$grp_info = ldap_get_entries($_SESSION["ldap"]->server, $sr);
 | 
							$info = ldap_get_entries($_SESSION["ldap"]->server, $sr);
 | 
				
			||||||
		ldap_free_result($sr);
 | 
							ldap_free_result($sr);
 | 
				
			||||||
		if ($grp_info["count"] == 0) StatusMessage("WARN", "", _("No Groups found!"));
 | 
					 | 
				
			||||||
		// delete first array entry which is "count"
 | 
							// delete first array entry which is "count"
 | 
				
			||||||
		unset($grp_info['count']);
 | 
							unset($info['count']);
 | 
				
			||||||
		// sort rows by sort column ($sort)
 | 
							// save results
 | 
				
			||||||
		$grp_info = listSort($sort, $attr_array, $grp_info);
 | 
							$_SESSION[$scope . 'info'] = $info;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	else {
 | 
						else {
 | 
				
			||||||
		$grp_info = array();
 | 
							$info = array();
 | 
				
			||||||
		$_SESSION['grp_info'] = array();
 | 
							$_SESSION[$scope . 'info'] = array();
 | 
				
			||||||
		StatusMessage("ERROR", _("LDAP Search failed! Please check your preferences."), _("No Groups found!"));
 | 
							StatusMessage("ERROR", _("LDAP Search failed! Please check your preferences."), _("No groups found!"));
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
else {
 | 
					 | 
				
			||||||
	if (sizeof($grp_info) == 0) StatusMessage("WARN", "", _("No Groups found!"));
 | 
					 | 
				
			||||||
	// sort rows by sort column ($sort)
 | 
					 | 
				
			||||||
	if ($grp_info) $grp_info =listSort($sort, $attr_array, $grp_info);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo ("<form action=\"listgroups.php\" method=\"post\">\n");
 | 
					$filter = listBuildFilter($_POST, $attr_array);
 | 
				
			||||||
 | 
					$info = listFilterAccounts($info, $filter);
 | 
				
			||||||
 | 
					if (sizeof($info) == 0) StatusMessage("WARN", "", _("No groups found!"));
 | 
				
			||||||
 | 
					// sort rows by sort column ($sort)
 | 
				
			||||||
 | 
					if ($info) $info = listSort($sort, $attr_array, $info);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// build filter URL
 | 
				
			||||||
 | 
					$searchFilter = array();
 | 
				
			||||||
 | 
					$filterAttributes = array_keys($filter);
 | 
				
			||||||
 | 
					for ($i = 0; $i < sizeof($filterAttributes); $i++) {
 | 
				
			||||||
 | 
						$searchFilter[] = "filter" . $filterAttributes[$i] . "=" . $filter[$filterAttributes[$i]]['original'];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					if (sizeof($searchFilter) > 0) {
 | 
				
			||||||
 | 
						$searchFilter = "&" . implode("&", $searchFilter);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					else {
 | 
				
			||||||
 | 
						$searchFilter = "";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo ("<form action=\"listgroups.php?norefresh=true\" method=\"post\">\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// draw navigation bar if group accounts were found
 | 
					// draw navigation bar if group accounts were found
 | 
				
			||||||
if (sizeof($grp_info) > 0) {
 | 
					if (sizeof($info) > 0) {
 | 
				
			||||||
listDrawNavigationBar(sizeof($grp_info), $max_page_entries, $page, $sort, $searchFilter, "group", _("%s group(s) found"));
 | 
					listDrawNavigationBar(sizeof($info), $max_page_entries, $page, $sort, $searchFilter, "group", _("%s group(s) found"));
 | 
				
			||||||
echo ("<br>");
 | 
					echo ("<br>");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -212,53 +214,53 @@ listPrintTableHeader("group", $searchFilter, $desc_array, $attr_array, $_POST, $
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// calculate which rows to show
 | 
					// calculate which rows to show
 | 
				
			||||||
$table_begin = ($page - 1) * $max_page_entries;
 | 
					$table_begin = ($page - 1) * $max_page_entries;
 | 
				
			||||||
if (($page * $max_page_entries) > sizeof($grp_info)) $table_end = sizeof($grp_info);
 | 
					if (($page * $max_page_entries) > sizeof($info)) $table_end = sizeof($info);
 | 
				
			||||||
else $table_end = ($page * $max_page_entries);
 | 
					else $table_end = ($page * $max_page_entries);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (sizeof($grp_info) > 0) {
 | 
					if (sizeof($info) > 0) {
 | 
				
			||||||
	// print group list
 | 
						// print group list
 | 
				
			||||||
	for ($i = $table_begin; $i < $table_end; $i++) {
 | 
						for ($i = $table_begin; $i < $table_end; $i++) {
 | 
				
			||||||
		echo("<tr class=\"grouplist\" onMouseOver=\"group_over(this, '" . $grp_info[$i]["dn"] . "')\"" .
 | 
							echo("<tr class=\"grouplist\" onMouseOver=\"group_over(this, '" . $info[$i]["dn"] . "')\"" .
 | 
				
			||||||
									" onMouseOut=\"group_out(this, '" . $grp_info[$i]["dn"] . "')\"" .
 | 
														" onMouseOut=\"group_out(this, '" . $info[$i]["dn"] . "')\"" .
 | 
				
			||||||
									" onClick=\"group_click(this, '" . $grp_info[$i]["dn"] . "')\"" .
 | 
														" onClick=\"group_click(this, '" . $info[$i]["dn"] . "')\"" .
 | 
				
			||||||
									" onDblClick=\"parent.frames[1].location.href='../account/edit.php?type=group&DN=" . $grp_info[$i]["dn"] . "'\">");
 | 
														" onDblClick=\"parent.frames[1].location.href='../account/edit.php?type=group&DN=" . $info[$i]["dn"] . "'\">");
 | 
				
			||||||
		if ($_GET['selectall'] == "yes") {
 | 
							if ($_GET['selectall'] == "yes") {
 | 
				
			||||||
		echo " <td height=22 align=\"center\"><input onClick=\"group_click(this, '" . $grp_info[$i]["dn"] . "')\" type=\"checkbox\"" .
 | 
							echo " <td height=22 align=\"center\"><input onClick=\"group_click(this, '" . $info[$i]["dn"] . "')\" type=\"checkbox\"" .
 | 
				
			||||||
			" name=\"" . $grp_info[$i]["dn"] . "\" checked></td>";
 | 
								" name=\"" . $info[$i]["dn"] . "\" checked></td>";
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else {
 | 
							else {
 | 
				
			||||||
		echo " <td height=22 align=\"center\"><input onClick=\"group_click(this, '" . $grp_info[$i]["dn"] . "')\" type=\"checkbox\"" .
 | 
							echo " <td height=22 align=\"center\"><input onClick=\"group_click(this, '" . $info[$i]["dn"] . "')\" type=\"checkbox\"" .
 | 
				
			||||||
			" name=\"" . $grp_info[$i]["dn"] . "\"></td>";
 | 
								" name=\"" . $info[$i]["dn"] . "\"></td>";
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		echo (" <td align='center'><a href=\"../account/edit.php?type=group&DN='" . $grp_info[$i]["dn"] . "'\">" . _("Edit") . "</a></td>");
 | 
							echo (" <td align='center'><a href=\"../account/edit.php?type=group&DN='" . $info[$i]["dn"] . "'\">" . _("Edit") . "</a></td>");
 | 
				
			||||||
		for ($k = 0; $k < sizeof($attr_array); $k++) {
 | 
							for ($k = 0; $k < sizeof($attr_array); $k++) {
 | 
				
			||||||
			echo ("<td>");
 | 
								echo ("<td>");
 | 
				
			||||||
			// print all attribute entries seperated by "; "
 | 
								// print all attribute entries seperated by "; "
 | 
				
			||||||
			if (sizeof($grp_info[$i][strtolower($attr_array[$k])]) > 0) {
 | 
								if (sizeof($info[$i][strtolower($attr_array[$k])]) > 0) {
 | 
				
			||||||
				// delete first array entry which is "count"
 | 
									// delete first array entry which is "count"
 | 
				
			||||||
				if (is_array($grp_info[$i][strtolower($attr_array[$k])])) unset($grp_info[$i][strtolower($attr_array[$k])]['count']);
 | 
									if (is_array($info[$i][strtolower($attr_array[$k])])) unset($info[$i][strtolower($attr_array[$k])]['count']);
 | 
				
			||||||
				// generate links for group members
 | 
									// generate links for group members
 | 
				
			||||||
				if (strtolower($attr_array[$k]) == "memberuid") {
 | 
									if (strtolower($attr_array[$k]) == "memberuid") {
 | 
				
			||||||
					// sort array
 | 
										// sort array
 | 
				
			||||||
					sort($grp_info[$i][strtolower($attr_array[$k])]);
 | 
										sort($info[$i][strtolower($attr_array[$k])]);
 | 
				
			||||||
					// make a link for each member of the group
 | 
										// make a link for each member of the group
 | 
				
			||||||
					$linklist = array();
 | 
										$linklist = array();
 | 
				
			||||||
					for ($d = 0; $d < sizeof($grp_info[$i][strtolower($attr_array[$k])]); $d++) {
 | 
										for ($d = 0; $d < sizeof($info[$i][strtolower($attr_array[$k])]); $d++) {
 | 
				
			||||||
						$user = $grp_info[$i][strtolower($attr_array[$k])][$d]; // user name
 | 
											$user = $info[$i][strtolower($attr_array[$k])][$d]; // user name
 | 
				
			||||||
						$linklist[$d] = "<a href=\"userlink.php?user='" . $user . "' \">" . $user . "</a>";
 | 
											$linklist[$d] = "<a href=\"userlink.php?user='" . $user . "' \">" . $user . "</a>";
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
					echo implode("; ", $linklist);
 | 
										echo implode("; ", $linklist);
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				// print all other attributes
 | 
									// print all other attributes
 | 
				
			||||||
				else {
 | 
									else {
 | 
				
			||||||
					if (is_array($grp_info[$i][strtolower($attr_array[$k])])) {
 | 
										if (is_array($info[$i][strtolower($attr_array[$k])])) {
 | 
				
			||||||
						// delete "count" entry
 | 
											// delete "count" entry
 | 
				
			||||||
						unset($grp_info[$i][strtolower($attr_array[$k])]['count']);
 | 
											unset($info[$i][strtolower($attr_array[$k])]['count']);
 | 
				
			||||||
						// sort array
 | 
											// sort array
 | 
				
			||||||
						sort($grp_info[$i][strtolower($attr_array[$k])]);
 | 
											sort($info[$i][strtolower($attr_array[$k])]);
 | 
				
			||||||
						echo implode("; ", $grp_info[$i][strtolower($attr_array[$k])]);
 | 
											echo implode("; ", $info[$i][strtolower($attr_array[$k])]);
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
					else echo $grp_info[$i][strtolower($attr_array[$k])];
 | 
										else echo $info[$i][strtolower($attr_array[$k])];
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			echo ("</td>");
 | 
								echo ("</td>");
 | 
				
			||||||
| 
						 | 
					@ -278,8 +280,8 @@ echo ("</table>");
 | 
				
			||||||
echo ("<br>");
 | 
					echo ("<br>");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// draw navigation bar if group accounts were found
 | 
					// draw navigation bar if group accounts were found
 | 
				
			||||||
if (sizeof($grp_info) > 0) {
 | 
					if (sizeof($info) > 0) {
 | 
				
			||||||
listDrawNavigationBar(sizeof($grp_info), $max_page_entries, $page, $sort, $searchFilter, "group", _("%s group(s) found"));
 | 
					listDrawNavigationBar(sizeof($info), $max_page_entries, $page, $sort, $searchFilter, "group", _("%s group(s) found"));
 | 
				
			||||||
echo ("<br>\n");
 | 
					echo ("<br>\n");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -304,7 +306,7 @@ if (sizeof($grp_units) > 1) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo ("<input type=\"submit\" name=\"new_group\" value=\"" . _("New Group") . "\">\n");
 | 
					echo ("<input type=\"submit\" name=\"new_group\" value=\"" . _("New Group") . "\">\n");
 | 
				
			||||||
if (sizeof($grp_info) > 0) {
 | 
					if (sizeof($info) > 0) {
 | 
				
			||||||
	echo ("<input type=\"submit\" name=\"del_group\" value=\"" . _("Delete Group(s)") . "\">\n");
 | 
						echo ("<input type=\"submit\" name=\"del_group\" value=\"" . _("Delete Group(s)") . "\">\n");
 | 
				
			||||||
	echo ("<br><br><br>\n");
 | 
						echo ("<br><br><br>\n");
 | 
				
			||||||
	echo "<fieldset><legend><b>PDF</b></legend>\n";
 | 
						echo "<fieldset><legend><b>PDF</b></legend>\n";
 | 
				
			||||||
| 
						 | 
					@ -324,7 +326,6 @@ echo ("</form>\n");
 | 
				
			||||||
echo "</body></html>\n";
 | 
					echo "</body></html>\n";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// save variables to session
 | 
					// save variables to session
 | 
				
			||||||
$_SESSION['grp_info'] = $grp_info;
 | 
					 | 
				
			||||||
$_SESSION['grp_units'] = $grp_units;
 | 
					$_SESSION['grp_units'] = $grp_units;
 | 
				
			||||||
$_SESSION['grp_suffix'] = $grp_suffix;
 | 
					$_SESSION['grp_suffix'] = $grp_suffix;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -49,13 +49,15 @@ session_save_path("../../sess");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
setlanguage();
 | 
					setlanguage();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$scope = 'host';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// get sorting column when register_globals is off
 | 
					// get sorting column when register_globals is off
 | 
				
			||||||
$sort = $_GET['sort'];
 | 
					$sort = $_GET['sort'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// copy HTTP-GET variables to HTTP-POST
 | 
					// copy HTTP-GET variables to HTTP-POST
 | 
				
			||||||
$_POST = $_POST + $_GET;
 | 
					$_POST = $_POST + $_GET;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$hst_info = $_SESSION['hst_info'];
 | 
					$info = $_SESSION[$scope . 'info'];
 | 
				
			||||||
$hst_units = $_SESSION['hst_units'];
 | 
					$hst_units = $_SESSION['hst_units'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// check if button was pressed and if we have to add/delete a host
 | 
					// check if button was pressed and if we have to add/delete a host
 | 
				
			||||||
| 
						 | 
					@ -95,9 +97,9 @@ if ($_POST['new_host'] || $_POST['del_host'] || $_POST['pdf_host'] || $_POST['pd
 | 
				
			||||||
	// PDF for all hosts
 | 
						// PDF for all hosts
 | 
				
			||||||
	elseif ($_POST['pdf_all']){
 | 
						elseif ($_POST['pdf_all']){
 | 
				
			||||||
		$list = array();
 | 
							$list = array();
 | 
				
			||||||
		for ($i = 0; $i < sizeof($_SESSION['hst_info']); $i++) {
 | 
							for ($i = 0; $i < sizeof($_SESSION[$scope . 'info']); $i++) {
 | 
				
			||||||
			$_SESSION["accountPDF-$i"] = new accountContainer("host", "accountPDF-$i");
 | 
								$_SESSION["accountPDF-$i"] = new accountContainer("host", "accountPDF-$i");
 | 
				
			||||||
			$_SESSION["accountPDF-$i"]->load_account($_SESSION['hst_info'][$i]['dn']);
 | 
								$_SESSION["accountPDF-$i"]->load_account($_SESSION[$scope . 'info'][$i]['dn']);
 | 
				
			||||||
			$list[$i] = $_SESSION["accountPDF-$i"];
 | 
								$list[$i] = $_SESSION["accountPDF-$i"];
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if (sizeof($list) > 0) {
 | 
							if (sizeof($list) > 0) {
 | 
				
			||||||
| 
						 | 
					@ -152,58 +154,58 @@ if ($_POST['hst_suffix']) $hst_suffix = $_POST['hst_suffix'];  // new suffix sel
 | 
				
			||||||
elseif ($_SESSION['hst_suffix']) $hst_suffix = $_SESSION['hst_suffix'];  // old suffix from session
 | 
					elseif ($_SESSION['hst_suffix']) $hst_suffix = $_SESSION['hst_suffix'];  // old suffix from session
 | 
				
			||||||
else $hst_suffix = $_SESSION["config"]->get_HostSuffix();  // default suffix
 | 
					else $hst_suffix = $_SESSION["config"]->get_HostSuffix();  // default suffix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// generate search filter for sort links
 | 
					$refresh = true;
 | 
				
			||||||
$searchFilter = "";
 | 
					if ($_GET['norefresh']) $refresh = false;
 | 
				
			||||||
for ($k = 0; $k < sizeof($desc_array); $k++) {
 | 
					if ($_POST['refresh']) $refresh = true;
 | 
				
			||||||
	if (eregi("^([0-9a-z_\\*\\+\\-])+$", $_POST["filter" . strtolower($attr_array[$k])])) {
 | 
					 | 
				
			||||||
		$searchFilter = $searchFilter . "&filter" . strtolower($attr_array[$k]) . "=".
 | 
					 | 
				
			||||||
			$_POST["filter" . strtolower($attr_array[$k])];
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (! $_GET['norefresh']) {
 | 
					if ($refresh) {
 | 
				
			||||||
	// configure search filter
 | 
						// configure search filter
 | 
				
			||||||
	$module_filter = get_ldap_filter("host");  // basic filter is provided by modules
 | 
						$module_filter = get_ldap_filter("host");  // basic filter is provided by modules
 | 
				
			||||||
	$filter = "(&" . $module_filter;
 | 
						$filter = "(&" . $module_filter  . ")";
 | 
				
			||||||
	for ($k = 0; $k < sizeof($desc_array); $k++) {
 | 
					 | 
				
			||||||
	if (eregi("^([0-9a-z_\\*\\+\\-])+$", $_POST["filter" . strtolower($attr_array[$k])]))
 | 
					 | 
				
			||||||
		$filter = $filter . "(" . strtolower($attr_array[$k]) . "=" .
 | 
					 | 
				
			||||||
		$_POST["filter" . strtolower($attr_array[$k])] . ")";
 | 
					 | 
				
			||||||
	else
 | 
					 | 
				
			||||||
		$_POST["filter" . strtolower($attr_array[$k])] = "";
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	$filter = $filter . ")";
 | 
					 | 
				
			||||||
	$attrs = $attr_array;
 | 
						$attrs = $attr_array;
 | 
				
			||||||
	$sr = @ldap_search($_SESSION["ldap"]->server(), $hst_suffix, $filter, $attrs);
 | 
						$sr = @ldap_search($_SESSION["ldap"]->server(), $hst_suffix, $filter, $attrs);
 | 
				
			||||||
	if (ldap_errno($_SESSION["ldap"]->server()) == 4) {
 | 
						if (ldap_errno($_SESSION["ldap"]->server()) == 4) {
 | 
				
			||||||
		StatusMessage("WARN", _("LDAP sizelimit exceeded, not all entries are shown."), _("See README.openldap.txt to solve this problem."));
 | 
							StatusMessage("WARN", _("LDAP sizelimit exceeded, not all entries are shown."), _("See README.openldap.txt to solve this problem."));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if ($sr) {
 | 
						if ($sr) {
 | 
				
			||||||
		$hst_info = ldap_get_entries($_SESSION["ldap"]->server, $sr);
 | 
							$info = ldap_get_entries($_SESSION["ldap"]->server, $sr);
 | 
				
			||||||
		ldap_free_result($sr);
 | 
							ldap_free_result($sr);
 | 
				
			||||||
		if ($hst_info["count"] == 0) StatusMessage("WARN", "", _("No Samba Hosts found!"));
 | 
					 | 
				
			||||||
		// delete first array entry which is "count"
 | 
							// delete first array entry which is "count"
 | 
				
			||||||
		unset($hst_info['count']);
 | 
							unset($info['count']);
 | 
				
			||||||
		// sort rows by sort column ($sort)
 | 
							// save results
 | 
				
			||||||
		$hst_info = listSort($sort, $attr_array, $hst_info);
 | 
							$_SESSION[$scope . 'info'] = $info;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	else {
 | 
						else {
 | 
				
			||||||
		$hst_info = array();
 | 
							$info = array();
 | 
				
			||||||
		$_SESSION['hst_info'] = array();
 | 
							$_SESSION[$scope . 'info'] = array();
 | 
				
			||||||
		StatusMessage("ERROR", _("LDAP Search failed! Please check your preferences."), _("No Samba Hosts found!"));
 | 
							StatusMessage("ERROR", _("LDAP Search failed! Please check your preferences."), _("No hosts found!"));
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
else {
 | 
					 | 
				
			||||||
	if (sizeof($hst_info) == 0) StatusMessage("WARN", "", _("No Samba Hosts found!"));
 | 
					 | 
				
			||||||
	// sort rows by sort column ($sort)
 | 
					 | 
				
			||||||
	if ($hst_info) $hst_info = listSort($sort, $attr_array, $hst_info);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo ("<form action=\"listhosts.php\" method=\"post\">\n");
 | 
					$filter = listBuildFilter($_POST, $attr_array);
 | 
				
			||||||
 | 
					$info = listFilterAccounts($info, $filter);
 | 
				
			||||||
 | 
					if (sizeof($info) == 0) StatusMessage("WARN", "", _("No hosts found!"));
 | 
				
			||||||
 | 
					// sort rows by sort column ($sort)
 | 
				
			||||||
 | 
					if ($info) $info = listSort($sort, $attr_array, $info);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// build filter URL
 | 
				
			||||||
 | 
					$searchFilter = array();
 | 
				
			||||||
 | 
					$filterAttributes = array_keys($filter);
 | 
				
			||||||
 | 
					for ($i = 0; $i < sizeof($filterAttributes); $i++) {
 | 
				
			||||||
 | 
						$searchFilter[] = "filter" . $filterAttributes[$i] . "=" . $filter[$filterAttributes[$i]]['original'];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					if (sizeof($searchFilter) > 0) {
 | 
				
			||||||
 | 
						$searchFilter = "&" . implode("&", $searchFilter);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					else {
 | 
				
			||||||
 | 
						$searchFilter = "";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo ("<form action=\"listhosts.php?norefresh=true\" method=\"post\">\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// draw navigation bar if host accounts were found
 | 
					// draw navigation bar if host accounts were found
 | 
				
			||||||
if (sizeof($hst_info) > 0) {
 | 
					if (sizeof($info) > 0) {
 | 
				
			||||||
listDrawNavigationBar(sizeof($hst_info), $max_page_entries, $page, $sort, $searchFilter, "host", _("%s host(s) found"));
 | 
					listDrawNavigationBar(sizeof($info), $max_page_entries, $page, $sort, $searchFilter, "host", _("%s host(s) found"));
 | 
				
			||||||
echo ("<br>\n");
 | 
					echo ("<br>\n");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -212,37 +214,37 @@ listPrintTableHeader("host", $searchFilter, $desc_array, $attr_array, $_POST, $s
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// calculate which rows to show
 | 
					// calculate which rows to show
 | 
				
			||||||
$table_begin = ($page - 1) * $max_page_entries;
 | 
					$table_begin = ($page - 1) * $max_page_entries;
 | 
				
			||||||
if (($page * $max_page_entries) > sizeof($hst_info)) $table_end = sizeof($hst_info);
 | 
					if (($page * $max_page_entries) > sizeof($info)) $table_end = sizeof($info);
 | 
				
			||||||
else $table_end = ($page * $max_page_entries);
 | 
					else $table_end = ($page * $max_page_entries);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if (sizeof($hst_info) > 0) {
 | 
					if (sizeof($info) > 0) {
 | 
				
			||||||
	// print host list
 | 
						// print host list
 | 
				
			||||||
	for ($i = $table_begin; $i < $table_end; $i++) {
 | 
						for ($i = $table_begin; $i < $table_end; $i++) {
 | 
				
			||||||
		echo("<tr class=\"hostlist\" onMouseOver=\"host_over(this, '" . $hst_info[$i]["dn"] . "')\"" .
 | 
							echo("<tr class=\"hostlist\" onMouseOver=\"host_over(this, '" . $info[$i]["dn"] . "')\"" .
 | 
				
			||||||
									" onMouseOut=\"host_out(this, '" . $hst_info[$i]["dn"] . "')\"" .
 | 
														" onMouseOut=\"host_out(this, '" . $info[$i]["dn"] . "')\"" .
 | 
				
			||||||
									" onClick=\"host_click(this, '" . $hst_info[$i]["dn"] . "')\"" .
 | 
														" onClick=\"host_click(this, '" . $info[$i]["dn"] . "')\"" .
 | 
				
			||||||
									" onDblClick=\"parent.frames[1].location.href='../account/edit.php?type=host&DN=" . $hst_info[$i]["dn"] . "'\">");
 | 
														" onDblClick=\"parent.frames[1].location.href='../account/edit.php?type=host&DN=" . $info[$i]["dn"] . "'\">");
 | 
				
			||||||
		if ($_GET['selectall'] == "yes") {
 | 
							if ($_GET['selectall'] == "yes") {
 | 
				
			||||||
		echo " <td height=22 align=\"center\"><input onClick=\"host_click(this, '" . $hst_info[$i]["dn"] . "')\"" .
 | 
							echo " <td height=22 align=\"center\"><input onClick=\"host_click(this, '" . $info[$i]["dn"] . "')\"" .
 | 
				
			||||||
					" type=\"checkbox\" checked name=\"" . $hst_info[$i]["dn"] . "\"></td>";
 | 
										" type=\"checkbox\" checked name=\"" . $info[$i]["dn"] . "\"></td>";
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else {
 | 
							else {
 | 
				
			||||||
		echo " <td height=22 align=\"center\"><input onClick=\"host_click(this, '" . $hst_info[$i]["dn"] . "')\"" .
 | 
							echo " <td height=22 align=\"center\"><input onClick=\"host_click(this, '" . $info[$i]["dn"] . "')\"" .
 | 
				
			||||||
					" type=\"checkbox\" name=\"" . $hst_info[$i]["dn"] . "\"></td>";
 | 
										" type=\"checkbox\" name=\"" . $info[$i]["dn"] . "\"></td>";
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		echo (" <td align='center'><a href=\"../account/edit.php?type=host&DN='" . $hst_info[$i]["dn"] . "'\">" . _("Edit") . "</a></td>");
 | 
							echo (" <td align='center'><a href=\"../account/edit.php?type=host&DN='" . $info[$i]["dn"] . "'\">" . _("Edit") . "</a></td>");
 | 
				
			||||||
		for ($k = 0; $k < sizeof($attr_array); $k++) {
 | 
							for ($k = 0; $k < sizeof($attr_array); $k++) {
 | 
				
			||||||
			echo ("<td>");
 | 
								echo ("<td>");
 | 
				
			||||||
			// print all attribute entries seperated by "; "
 | 
								// print all attribute entries seperated by "; "
 | 
				
			||||||
			if (sizeof($hst_info[$i][strtolower($attr_array[$k])]) > 0) {
 | 
								if (sizeof($info[$i][strtolower($attr_array[$k])]) > 0) {
 | 
				
			||||||
				// delete "count" entry
 | 
									// delete "count" entry
 | 
				
			||||||
				unset($hst_info[$i][strtolower($attr_array[$k])]['count']);
 | 
									unset($info[$i][strtolower($attr_array[$k])]['count']);
 | 
				
			||||||
				if (is_array($hst_info[$i][strtolower($attr_array[$k])])) {
 | 
									if (is_array($info[$i][strtolower($attr_array[$k])])) {
 | 
				
			||||||
					// sort array
 | 
										// sort array
 | 
				
			||||||
					sort($hst_info[$i][strtolower($attr_array[$k])]);
 | 
										sort($info[$i][strtolower($attr_array[$k])]);
 | 
				
			||||||
					echo implode("; ", $hst_info[$i][strtolower($attr_array[$k])]);
 | 
										echo implode("; ", $info[$i][strtolower($attr_array[$k])]);
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				else echo $hst_info[$i][strtolower($attr_array[$k])];
 | 
									else echo $info[$i][strtolower($attr_array[$k])];
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			echo ("</td>");
 | 
								echo ("</td>");
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					@ -262,8 +264,8 @@ echo ("</table>");
 | 
				
			||||||
echo ("<br>");
 | 
					echo ("<br>");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// draw navigation bar if host accounts were found
 | 
					// draw navigation bar if host accounts were found
 | 
				
			||||||
if (sizeof($hst_info) > 0) {
 | 
					if (sizeof($info) > 0) {
 | 
				
			||||||
listDrawNavigationBar(sizeof($hst_info), $max_page_entries, $page, $sort, $searchFilter, "host", _("%s host(s) found"));
 | 
					listDrawNavigationBar(sizeof($info), $max_page_entries, $page, $sort, $searchFilter, "host", _("%s host(s) found"));
 | 
				
			||||||
echo ("<br>\n");
 | 
					echo ("<br>\n");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -289,7 +291,7 @@ echo ("<p> </p>\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// add/delete/PDF buttons
 | 
					// add/delete/PDF buttons
 | 
				
			||||||
echo ("<input type=\"submit\" name=\"new_host\" value=\"" . _("New Host") . "\">\n");
 | 
					echo ("<input type=\"submit\" name=\"new_host\" value=\"" . _("New Host") . "\">\n");
 | 
				
			||||||
if (sizeof($hst_info) > 0) {
 | 
					if (sizeof($info) > 0) {
 | 
				
			||||||
	echo ("<input type=\"submit\" name=\"del_host\" value=\"" . _("Delete Host(s)") . "\">\n");
 | 
						echo ("<input type=\"submit\" name=\"del_host\" value=\"" . _("Delete Host(s)") . "\">\n");
 | 
				
			||||||
	echo ("<br><br><br>\n");
 | 
						echo ("<br><br><br>\n");
 | 
				
			||||||
	echo "<fieldset><legend><b>PDF</b></legend>\n";
 | 
						echo "<fieldset><legend><b>PDF</b></legend>\n";
 | 
				
			||||||
| 
						 | 
					@ -309,7 +311,6 @@ echo ("</form>\n");
 | 
				
			||||||
echo "</body></html>\n";
 | 
					echo "</body></html>\n";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// save variables to session
 | 
					// save variables to session
 | 
				
			||||||
$_SESSION['hst_info'] = $hst_info;
 | 
					 | 
				
			||||||
$_SESSION['hst_units'] = $hst_units;
 | 
					$_SESSION['hst_units'] = $hst_units;
 | 
				
			||||||
$_SESSION['hst_suffix'] = $hst_suffix;
 | 
					$_SESSION['hst_suffix'] = $hst_suffix;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,6 +51,8 @@ session_save_path("../../sess");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
setlanguage();
 | 
					setlanguage();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$scope = 'user';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// copy HTTP-GET variables to HTTP-POST
 | 
					// copy HTTP-GET variables to HTTP-POST
 | 
				
			||||||
$_POST = $_POST + $_GET;
 | 
					$_POST = $_POST + $_GET;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -76,6 +78,7 @@ if ($trans_primary == "on" && !$_GET["norefresh"]) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$info = $_SESSION[$scope . 'info'];
 | 
				
			||||||
$usr_units = $_SESSION['usr_units'];
 | 
					$usr_units = $_SESSION['usr_units'];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// check if button was pressed and if we have to add/delete a user or create a PDF
 | 
					// check if button was pressed and if we have to add/delete a user or create a PDF
 | 
				
			||||||
| 
						 | 
					@ -119,9 +122,9 @@ if ($_POST['new_user'] || $_POST['del_user'] || $_POST['pdf_user'] || $_POST['pd
 | 
				
			||||||
	// PDF for all users
 | 
						// PDF for all users
 | 
				
			||||||
	elseif ($_POST['pdf_all']){
 | 
						elseif ($_POST['pdf_all']){
 | 
				
			||||||
		$list = array();
 | 
							$list = array();
 | 
				
			||||||
		for ($i = 0; $i < sizeof($_SESSION['userlist']); $i++) {
 | 
							for ($i = 0; $i < sizeof($_SESSION[$scope . 'info']); $i++) {
 | 
				
			||||||
			$_SESSION["accountPDF-$i"] = new accountContainer("user", "accountPDF-$i");
 | 
								$_SESSION["accountPDF-$i"] = new accountContainer("user", "accountPDF-$i");
 | 
				
			||||||
			$_SESSION["accountPDF-$i"]->load_account($_SESSION['usr_info'][$i]['dn']);
 | 
								$_SESSION["accountPDF-$i"]->load_account($_SESSION[$scope . 'info'][$i]['dn']);
 | 
				
			||||||
			$list[$i] = $_SESSION["accountPDF-$i"];
 | 
								$list[$i] = $_SESSION["accountPDF-$i"];
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if (sizeof($list) > 0) {
 | 
							if (sizeof($list) > 0) {
 | 
				
			||||||
| 
						 | 
					@ -182,61 +185,59 @@ elseif ($_SESSION['usr_suffix']) $usr_suffix = $_SESSION['usr_suffix'];  // old
 | 
				
			||||||
else $usr_suffix = $_SESSION["config"]->get_UserSuffix();  // default suffix
 | 
					else $usr_suffix = $_SESSION["config"]->get_UserSuffix();  // default suffix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// generate search filter for sort links
 | 
					 | 
				
			||||||
$searchFilter = "";
 | 
					 | 
				
			||||||
for ($k = 0; $k < sizeof($desc_array); $k++) {
 | 
					 | 
				
			||||||
	if (eregi("^([0-9a-z_\\*\\+\\-])+$", $_POST["filter" . strtolower($attr_array[$k])])) {
 | 
					 | 
				
			||||||
		$searchFilter = $searchFilter . "&filter" .
 | 
					 | 
				
			||||||
		  strtolower($attr_array[$k]) . "=".
 | 
					 | 
				
			||||||
		  $_POST["filter" . strtolower($attr_array[$k])];
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// configure search filter for LDAP
 | 
					// configure search filter for LDAP
 | 
				
			||||||
$module_filter = get_ldap_filter("user");  // basic filter is provided by modules
 | 
					$module_filter = get_ldap_filter("user");  // basic filter is provided by modules
 | 
				
			||||||
$filter = "(&" . $module_filter;  // users do not end with "$"
 | 
					$filter = "(&" . $module_filter . ")";
 | 
				
			||||||
for ($k = 0; $k < sizeof($desc_array); $k++) {
 | 
					 | 
				
			||||||
  if (eregi("^([0-9a-z_\\*\\+\\-])+$", $_POST["filter" . strtolower($attr_array[$k])]))
 | 
					 | 
				
			||||||
    $filter = $filter . "(" . strtolower($attr_array[$k]) . "=" .
 | 
					 | 
				
			||||||
      $_POST["filter" . strtolower($attr_array[$k])] . ")";
 | 
					 | 
				
			||||||
  else
 | 
					 | 
				
			||||||
    $_POST["filter" . strtolower($attr_array[$k])] = "";
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
$filter = $filter . ")";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
// read entries only from ldap server if not yet stored in session or if refresh
 | 
					$refresh = true;
 | 
				
			||||||
// button is pressed or if filter is applied
 | 
					if ($_GET['norefresh']) $refresh = false;
 | 
				
			||||||
if ($_SESSION["userlist"] && $_GET["norefresh"]) {
 | 
					if ($_POST['refresh']) $refresh = true;
 | 
				
			||||||
	$_SESSION["userlist"] = listSort($sort, $attr_array, $_SESSION["userlist"]);
 | 
					
 | 
				
			||||||
	$userinfo = $_SESSION["userlist"];
 | 
					if ($refresh) {
 | 
				
			||||||
}
 | 
					 | 
				
			||||||
else {
 | 
					 | 
				
			||||||
	$attrs = $attr_array;
 | 
						$attrs = $attr_array;
 | 
				
			||||||
	$sr = @ldap_search($_SESSION["ldap"]->server(), $usr_suffix, $filter, $attrs);
 | 
						$sr = @ldap_search($_SESSION["ldap"]->server(), $usr_suffix, $filter, $attrs);
 | 
				
			||||||
	if (ldap_errno($_SESSION["ldap"]->server()) == 4) {
 | 
						if (ldap_errno($_SESSION["ldap"]->server()) == 4) {
 | 
				
			||||||
		StatusMessage("WARN", _("LDAP sizelimit exceeded, not all entries are shown."), _("See README.openldap.txt to solve this problem."));
 | 
							StatusMessage("WARN", _("LDAP sizelimit exceeded, not all entries are shown."), _("See README.openldap.txt to solve this problem."));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if ($sr) {
 | 
						if ($sr) {
 | 
				
			||||||
		$userinfo = ldap_get_entries ($_SESSION["ldap"]->server, $sr);
 | 
							$info = ldap_get_entries ($_SESSION["ldap"]->server, $sr);
 | 
				
			||||||
		ldap_free_result ($sr);
 | 
							ldap_free_result ($sr);
 | 
				
			||||||
		if ($userinfo["count"] == 0) StatusMessage("WARN", "", _("No Users found!"));
 | 
					 | 
				
			||||||
		// delete first array entry which is "count"
 | 
							// delete first array entry which is "count"
 | 
				
			||||||
			unset($userinfo['count']);
 | 
							unset($info['count']);
 | 
				
			||||||
			$userinfo = listSort($sort, $attr_array, $userinfo);
 | 
							// save results
 | 
				
			||||||
			$_SESSION["userlist"] = $userinfo;
 | 
							$_SESSION[$scope . 'info'] = $info;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	else {
 | 
						else {
 | 
				
			||||||
		$_SESSION['userlist'] = array();
 | 
							$_SESSION[$scope . 'info'] = array();
 | 
				
			||||||
		$userinfo = array();
 | 
							$info = array();
 | 
				
			||||||
		StatusMessage("ERROR",
 | 
							StatusMessage("ERROR",
 | 
				
			||||||
			_("LDAP Search failed! Please check your preferences."),
 | 
								_("LDAP Search failed! Please check your preferences."),
 | 
				
			||||||
			_("No Users found!"));
 | 
								_("No users found!"));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$user_count = sizeof ($_SESSION["userlist"]);
 | 
					$filter = listBuildFilter($_POST, $attr_array);
 | 
				
			||||||
 | 
					$info = listFilterAccounts($info, $filter);
 | 
				
			||||||
 | 
					if (sizeof($info) == 0) StatusMessage("WARN", "", _("No users found!"));
 | 
				
			||||||
 | 
					// sort rows by sort column ($sort)
 | 
				
			||||||
 | 
					if ($info) $info = listSort($sort, $attr_array, $info);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo ("<form action=\"listusers.php\" method=\"post\">\n");
 | 
					// build filter URL
 | 
				
			||||||
 | 
					$searchFilter = array();
 | 
				
			||||||
 | 
					$filterAttributes = array_keys($filter);
 | 
				
			||||||
 | 
					for ($i = 0; $i < sizeof($filterAttributes); $i++) {
 | 
				
			||||||
 | 
						$searchFilter[] = "filter" . $filterAttributes[$i] . "=" . $filter[$filterAttributes[$i]]['original'];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					if (sizeof($searchFilter) > 0) {
 | 
				
			||||||
 | 
						$searchFilter = "&" . implode("&", $searchFilter);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					else {
 | 
				
			||||||
 | 
						$searchFilter = "";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$user_count = sizeof($info);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo ("<form action=\"listusers.php?norefresh=true\" method=\"post\">\n");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// display table only if users exist in LDAP
 | 
					// display table only if users exist in LDAP
 | 
				
			||||||
if ($user_count != 0) {
 | 
					if ($user_count != 0) {
 | 
				
			||||||
| 
						 | 
					@ -249,51 +250,55 @@ if ($user_count != 0) {
 | 
				
			||||||
// account table head
 | 
					// account table head
 | 
				
			||||||
listPrintTableHeader("user", $searchFilter . "&trans_primary=" . $trans_primary, $desc_array, $attr_array, $_POST, $sort);
 | 
					listPrintTableHeader("user", $searchFilter . "&trans_primary=" . $trans_primary, $desc_array, $attr_array, $_POST, $sort);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// calculate which rows to show
 | 
				
			||||||
 | 
					$table_begin = ($page - 1) * $max_page_entries;
 | 
				
			||||||
 | 
					if (($page * $max_page_entries) > sizeof($info)) $table_end = sizeof($info);
 | 
				
			||||||
 | 
					else $table_end = ($page * $max_page_entries);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ($user_count != 0) {
 | 
					if ($user_count != 0) {
 | 
				
			||||||
	// translate GIDs and resort array if selected
 | 
						// translate GIDs and resort array if selected
 | 
				
			||||||
	if ($trans_primary == "on") {
 | 
						if ($trans_primary == "on") {
 | 
				
			||||||
		// translate GIDs
 | 
							// translate GIDs
 | 
				
			||||||
		for ($i = 0; $i < sizeof($userinfo); $i++) {
 | 
							for ($i = 0; $i < sizeof($info); $i++) {
 | 
				
			||||||
			if ($trans_primary_hash[$userinfo[$i]['gidnumber'][0]]) {
 | 
								if ($trans_primary_hash[$info[$i]['gidnumber'][0]]) {
 | 
				
			||||||
				$userinfo[$i]['gidnumber'][0] = $trans_primary_hash[$userinfo[$i]['gidnumber'][0]];
 | 
									$info[$i]['gidnumber'][0] = $trans_primary_hash[$info[$i]['gidnumber'][0]];
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		// resort if needed
 | 
							// resort if needed
 | 
				
			||||||
		if ($sort == "gidnumber") {
 | 
							if ($sort == "gidnumber") {
 | 
				
			||||||
			$userinfo = listSort($sort, $attr_array, $userinfo);
 | 
								$info = listSort($sort, $attr_array, $info);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	// print user list
 | 
						// print user list
 | 
				
			||||||
	$userinfo = array_slice ($userinfo, ($page - 1) * $max_page_entries, $max_page_entries);
 | 
						for ($i = $table_begin; $i < $table_end; $i++) { // ignore last entry in array which is "count"
 | 
				
			||||||
	for ($i = 0; $i < sizeof ($userinfo); $i++) { // ignore last entry in array which is "count"
 | 
							echo("<tr class=\"userlist\"\nonMouseOver=\"user_over(this, '" . $info[$i]["dn"] . "')\"\n" .
 | 
				
			||||||
		echo("<tr class=\"userlist\"\nonMouseOver=\"user_over(this, '" . $userinfo[$i]["dn"] . "')\"\n" .
 | 
								"onMouseOut=\"user_out(this, '" . $info[$i]["dn"] . "')\"\n" .
 | 
				
			||||||
			"onMouseOut=\"user_out(this, '" . $userinfo[$i]["dn"] . "')\"\n" .
 | 
								"onClick=\"user_click(this, '" . $info[$i]["dn"] . "')\"\n" .
 | 
				
			||||||
			"onClick=\"user_click(this, '" . $userinfo[$i]["dn"] . "')\"\n" .
 | 
								"onDblClick=\"parent.frames[1].location.href='../account/edit.php?type=user&DN=" . $info[$i]["dn"] . "'\">\n");
 | 
				
			||||||
			"onDblClick=\"parent.frames[1].location.href='../account/edit.php?type=user&DN=" . $userinfo[$i]["dn"] . "'\">\n");
 | 
					 | 
				
			||||||
		// checkboxes if selectall = "yes"
 | 
							// checkboxes if selectall = "yes"
 | 
				
			||||||
		if ($_GET['selectall'] == "yes") {
 | 
							if ($_GET['selectall'] == "yes") {
 | 
				
			||||||
			echo "<td height=22 align=\"center\">\n<input onClick=\"user_click(this, '" . $userinfo[$i]["dn"] . "')\" type=\"checkbox\" name=\"" .
 | 
								echo "<td height=22 align=\"center\">\n<input onClick=\"user_click(this, '" . $info[$i]["dn"] . "')\" type=\"checkbox\" name=\"" .
 | 
				
			||||||
				$userinfo[$i]["dn"] . "\" value=\"" . $userinfo[$i]["dn"] . "\" checked>\n</td>\n";
 | 
									$info[$i]["dn"] . "\" value=\"" . $info[$i]["dn"] . "\" checked>\n</td>\n";
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		else {
 | 
							else {
 | 
				
			||||||
			echo "<td height=22 align=\"center\">\n<input onClick=\"user_click(this, '" . $userinfo[$i]["dn"] . "')\" type=\"checkbox\" name=\"" .
 | 
								echo "<td height=22 align=\"center\">\n<input onClick=\"user_click(this, '" . $info[$i]["dn"] . "')\" type=\"checkbox\" name=\"" .
 | 
				
			||||||
				$userinfo[$i]["dn"] . "\" value=\"" . $userinfo[$i]["dn"] . "\">\n</td>\n";
 | 
									$info[$i]["dn"] . "\" value=\"" . $info[$i]["dn"] . "\">\n</td>\n";
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		echo ("<td align='center'>\n<a href=\"../account/edit.php?type=user&DN='" . $userinfo[$i]["dn"] . "'\">" .
 | 
							echo ("<td align='center'>\n<a href=\"../account/edit.php?type=user&DN='" . $info[$i]["dn"] . "'\">" .
 | 
				
			||||||
			_("Edit") . "</a>\n</td>\n");
 | 
								_("Edit") . "</a>\n</td>\n");
 | 
				
			||||||
		for ($k = 0; $k < sizeof($attr_array); $k++) {
 | 
							for ($k = 0; $k < sizeof($attr_array); $k++) {
 | 
				
			||||||
			echo ("<td>\n");
 | 
								echo ("<td>\n");
 | 
				
			||||||
			// print attribute values
 | 
								// print attribute values
 | 
				
			||||||
			if (sizeof($userinfo[$i][strtolower($attr_array[$k])]) > 0) {
 | 
								if (sizeof($info[$i][strtolower($attr_array[$k])]) > 0) {
 | 
				
			||||||
				if (is_array($userinfo[$i][strtolower($attr_array[$k])])) {
 | 
									if (is_array($info[$i][strtolower($attr_array[$k])])) {
 | 
				
			||||||
					// delete first array entry which is "count"
 | 
										// delete first array entry which is "count"
 | 
				
			||||||
					unset($userinfo[$i][strtolower($attr_array[$k])]['count']);
 | 
										unset($info[$i][strtolower($attr_array[$k])]['count']);
 | 
				
			||||||
					// sort array
 | 
										// sort array
 | 
				
			||||||
					sort($userinfo[$i][strtolower($attr_array[$k])]);
 | 
										sort($info[$i][strtolower($attr_array[$k])]);
 | 
				
			||||||
					// print all attribute entries seperated by "; "
 | 
										// print all attribute entries seperated by "; "
 | 
				
			||||||
					echo implode("; ", $userinfo[$i][strtolower($attr_array[$k])]) . "\n";
 | 
										echo implode("; ", $info[$i][strtolower($attr_array[$k])]) . "\n";
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
				else echo $userinfo[$i][strtolower($attr_array[$k])] . "\n";
 | 
									else echo $info[$i][strtolower($attr_array[$k])] . "\n";
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		echo ("</td>\n");
 | 
							echo ("</td>\n");
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue