added server info page

This commit is contained in:
Roland Gruber 2009-11-07 15:02:03 +00:00
parent 5733e93070
commit b68ce9b7fd
4 changed files with 218 additions and 3 deletions

View File

@ -0,0 +1,104 @@
<?php
/*
$Id$
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
Copyright (C) 2009 Roland Gruber
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/**
* This file includes the server information tool specification.
*
* @author Roland Gruber
* @package tools
*/
/**
* Server information
*
* @package tools
*/
class toolServerInformation implements LAMTool {
/**
* Returns the name of the tool.
*
* @return string name
*/
function getName() {
return _("Server information");
}
/**
* returns a description text for the tool.
*
* @return string description
*/
function getDescription() {
return _("Information about the LDAP server.");
}
/**
* Returns a link to the tool page (relative to templates/).
*
* @return string link
*/
function getLink() {
return "serverInfo.php";
}
/**
* Returns if the tool requires write access to LDAP.
*
* @return boolean true if write access is needed
*/
function getRequiresWriteAccess() {
return false;
}
/**
* Returns if the tool requires password change rights.
*
* @return boolean true if password change rights are needed
*/
function getRequiresPasswordChangeRights() {
return true;
}
/**
* Returns the link to the tool image (relative to graphics/)
*
* @return string image URL
*/
function getImageLink() {
return 'tree_info.png';
}
/**
* Returns the prefered position of this tool on the tools page.
* The position may be between 0 and 1000. 0 is the top position.
*
* @return int prefered position
*/
function getPosition() {
return 600;
}
}
?>

View File

@ -96,7 +96,7 @@ class toolTests implements LAMTool {
* @return int prefered position
*/
function getPosition() {
return 600;
return 1000;
}
}

View File

@ -0,0 +1,111 @@
<?php
/*
$Id$
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
Copyright (C) 2009 Roland Gruber
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
/**
* Provides a list of LAM tests.
*
* @author Roland Gruber
* @package tools
*/
/** security functions */
include_once("../lib/security.inc");
/** access to configuration options */
include_once("../lib/config.inc");
// start session
startSecureSession();
setlanguage();
$namingContexts = '';
$configcontext = '';
$supportedldapversion = '';
$supportedsaslmechanisms = '';
$subschemasubentry = '';
$result = @ldap_read($_SESSION['ldap']->server(), '', 'objectclass=*', array('+', '*'));
if ($result) {
$info = @ldap_get_entries($_SESSION['ldap']->server(), $result);
if ($info) {
$info = $info[0];
foreach ($info as $key => $value) {
if (is_array($info[$key]) && isset($info[$key]['count'])) {
unset($info[$key]['count']);
}
}
if (isset($info['namingcontexts'])) {
$namingContexts = implode(', ', $info['namingcontexts']);
}
if (isset($info['configcontext'])) {
$configcontext = $info['configcontext'][0];
}
if (isset($info['supportedldapversion'])) {
$supportedldapversion = $info['supportedldapversion'][0];
}
if (isset($info['supportedsaslmechanisms'])) {
$supportedsaslmechanisms = implode(', ', $info['supportedsaslmechanisms']);
}
if (isset($info['subschemasubentry'])) {
$subschemasubentry = $info['subschemasubentry'][0];
}
}
}
echo $_SESSION['header'];
echo "<title></title>\n";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/layout.css\">\n";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/type_user.css\">\n";
echo "</head>";
echo "<body>\n";
echo "<h1 align=\"center\">" . _("Server information") . "</h1>\n";
echo "<table class=\"userlist\" rules=\"none\">\n";
echo "<tr class=\"userlist\"><td style=\"padding:10px;\"><b>" . _("Managed suffix(es)") . "</b>&nbsp;&nbsp;</td>";
echo "<td style=\"padding:10px;\">" . $namingContexts . "</td></tr>";
echo "<tr class=\"userlist\"><td style=\"padding:10px;\"><b>" . _("LDAP version") . "</b>&nbsp;&nbsp;</td>";
echo "<td style=\"padding:10px;\">" . $supportedldapversion . "</td></tr>";
echo "<tr class=\"userlist\"><td style=\"padding:10px;\"><b>" . _("Config suffix") . "</b>&nbsp;&nbsp;</td>";
echo "<td style=\"padding:10px;\">" . $configcontext . "</td></tr>";
echo "<tr class=\"userlist\"><td style=\"padding:10px;\"><b>" . _("Schema suffix") . "</b>&nbsp;&nbsp;</td>";
echo "<td style=\"padding:10px;\">" . $subschemasubentry . "</td></tr>";
echo "<tr class=\"userlist\"><td style=\"padding:10px;\"><b>" . _("SASL mechanisms") . "</b>&nbsp;&nbsp;</td>";
echo "<td style=\"padding:10px;\">" . $supportedsaslmechanisms . "</td></tr>";
echo "</table>\n";
echo "</body>\n";
echo "</html>\n";
?>

View File

@ -3,7 +3,7 @@
$Id$
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
Copyright (C) 2003 - 2006 Roland Gruber
Copyright (C) 2003 - 2009 Roland Gruber
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -81,7 +81,7 @@ for ($i = 0; $i < sizeof($tools); $i++) {
echo "<tr class=\"userlist\">\n";
echo "<td>&nbsp;&nbsp;&nbsp;</td>\n";
echo "<td><br>";
echo "<a href=\"" . $tools[$i]->getLink() . "\" target=\"mainpart\"><img src=\"../graphics/" . $tools[$i]->getImageLink() . "\"> <b>" . $tools[$i]->getName() . "</b></a>";
echo "<a href=\"" . $tools[$i]->getLink() . "\" target=\"mainpart\"><img src=\"../graphics/" . $tools[$i]->getImageLink() . "\"> &nbsp;<b>" . $tools[$i]->getName() . "</b></a>";
echo "<br><br></td>\n";
echo "<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>\n";
echo "<td>";