added tooltips, removed link taborder

This commit is contained in:
Roland Gruber 2009-02-07 19:25:22 +00:00
parent 772302aec9
commit 1000f6c1fe
8 changed files with 1369 additions and 47 deletions

View File

@ -4,7 +4,7 @@ $Id$
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
Copyright (C) 2003 - 2006 Michael Duergner Copyright (C) 2003 - 2006 Michael Duergner
2003 - 2007 Roland Gruber 2003 - 2009 Roland Gruber
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -31,8 +31,6 @@ $Id$
* @package Help * @package Help
*/ */
setlanguage();
// generate help entry for translated list attributes // generate help entry for translated list attributes
$types = getTypes(); $types = getTypes();
$entry206Example = ""; $entry206Example = "";

View File

@ -3,7 +3,7 @@
$Id$ $Id$
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
Copyright (C) 2003 - 2008 Roland Gruber Copyright (C) 2003 - 2009 Roland Gruber
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -736,6 +736,7 @@ class lamList {
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/type_" . $this->type . ".css\">\n"; echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/type_" . $this->type . ".css\">\n";
echo "</head><body>\n"; echo "</head><body>\n";
echo "<script type=\"text/javascript\" src=\"list.js\"></script>\n"; echo "<script type=\"text/javascript\" src=\"list.js\"></script>\n";
echo "<script type=\"text/javascript\" src=\"../wz_tooltip.js\"></script>\n";
} }
/** /**
@ -888,9 +889,8 @@ class lamList {
echo "<tr class=\"" . $this->type . "list\"><td>\n"; echo "<tr class=\"" . $this->type . "list\"><td>\n";
$tabindex = 0; $tabindex = 0;
$tabindexLink = 0;
for ($i = 0; $i < sizeof($this->configOptions); $i++) { for ($i = 0; $i < sizeof($this->configOptions); $i++) {
parseHtml('main', $this->configOptions[$i]->getMetaHTML(), array(), true, $tabindex, $tabindexLink, $this->type); parseHtml('', $this->configOptions[$i]->getMetaHTML(), array(), true, $tabindex, $this->type);
} }
echo "<br>"; echo "<br>";

View File

@ -3,7 +3,7 @@
$Id$ $Id$
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
Copyright (C) 2003 - 2007 Roland Gruber Copyright (C) 2003 - 2009 Roland Gruber
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -337,6 +337,12 @@ function checkConfigOptions($scopes, $options) {
* @return array help entry * @return array help entry
*/ */
function getHelp($module,$helpID,$scope='') { function getHelp($module,$helpID,$scope='') {
if (!isset($module) || ($module == '') || ($module == 'main')) {
$helpPath = "../help/help.inc";
if (is_file("../../help/help.inc")) $helpPath = "../../help/help.inc";
include_once($helpPath);
return $helpArray[$helpID];
}
$moduleObject = new $module((($scope != '') ? $scope : 'none')); $moduleObject = new $module((($scope != '') ? $scope : 'none'));
return $moduleObject->get_help($helpID); return $moduleObject->get_help($helpID);
} }
@ -670,11 +676,10 @@ function getRequiredExtensions() {
* @param array $values List of values which override the defaults in $input (name => value) * @param array $values List of values which override the defaults in $input (name => value)
* @param boolean $restricted If true then no buttons will be displayed * @param boolean $restricted If true then no buttons will be displayed
* @param integer $tabindex Start value of tabulator index for input fields * @param integer $tabindex Start value of tabulator index for input fields
* @param integer $tabindexLink Start value of tabulator index for links
* @param string $scope Account type * @param string $scope Account type
* @return array List of input field names and their type (name => type) * @return array List of input field names and their type (name => type)
*/ */
function parseHtml($module, $input, $values, $restricted, &$tabindex, &$tabindexLink, $scope) { function parseHtml($module, $input, $values, $restricted, &$tabindex, $scope) {
$ret = array(); $ret = array();
if (is_array($input)) { if (is_array($input)) {
echo "<table>\n"; echo "<table>\n";
@ -761,7 +766,7 @@ function parseHtml($module, $input, $values, $restricted, &$tabindex, &$tabindex
case 'fieldset': case 'fieldset':
echo "<fieldset class=\"" . $scope . "edit\">\n"; echo "<fieldset class=\"" . $scope . "edit\">\n";
if ($input[$i][$j]['legend']!='') echo "<legend>" . $input[$i][$j]['legend'] . "</legend>\n"; if ($input[$i][$j]['legend']!='') echo "<legend>" . $input[$i][$j]['legend'] . "</legend>\n";
$retTemp = parseHtml($module, $input[$i][$j]['value'], $values, $restricted, $tabindex, $tabindexLink, $scope); $retTemp = parseHtml($module, $input[$i][$j]['value'], $values, $restricted, $tabindex, $scope);
$ret = array_merge($ret, $retTemp); $ret = array_merge($ret, $retTemp);
echo "</fieldset>\n"; echo "</fieldset>\n";
break; break;
@ -829,17 +834,13 @@ function parseHtml($module, $input, $values, $restricted, &$tabindex, &$tabindex
break; break;
// sub table // sub table
case 'table': case 'table':
$retTemp = parseHtml($module, $input[$i][$j]['value'], $values, $restricted, $tabindex, $tabindexLink, $scope); $retTemp = parseHtml($module, $input[$i][$j]['value'], $values, $restricted, $tabindex, $scope);
$ret = array_merge($ret, $retTemp); $ret = array_merge($ret, $retTemp);
break; break;
// help link // help link
case 'help': case 'help':
$helpPath = "../"; $helpEntry = getHelp($module, $input[$i][$j]['value'], $scope);
if (is_file("./help.php")) $helpPath = ""; printHelpLink($helpEntry, $input[$i][$j]['value'], $module, $scope);
echo "<a href=\"" . $helpPath . "help.php?module=$module&amp;HelpNumber=". $input[$i][$j]['value'] . "&amp;scope=" . $scope . "\" target=\"help\" tabindex=$tabindexLink>";
echo "<img src=\"../$helpPath/graphics/help.png\" alt=\"" . _('Help') . "\" title=\"" . _('Help') . "\">";
echo "</a>\n";
$tabindexLink++;
break; break;
// status message // status message
case 'message': case 'message':
@ -868,6 +869,30 @@ function parseHtml($module, $input, $values, $restricted, &$tabindex, &$tabindex
return $ret; return $ret;
} }
/**
* Prints a LAM help link.
*
* @param array $entry help entry
* @param String $number help number
* @param String $module module name
* @param String $scope account scope
*/
function printHelpLink($entry, $number, $module='', $scope='') {
$helpPath = "../";
if (is_file("./help.php")) $helpPath = "";
$title = $entry['Headline'];
$message = $entry['Text'];
// if help message contains special characters then point to help page
if (!(strpos($message, '"') === false) || !(strpos($message, "'") === false) || !(strpos($message, "\n") === false)) {
$message = _('Please click on the icon to view the help text.');
}
echo "<a href=\"" . $helpPath . "help.php?module=$module&amp;HelpNumber=". $number . "&amp;scope=" . $scope . "\" ";
echo "target=\"help\" ";
echo "onmouseover=\"Tip('" . $message . "', TITLE, '" . $title . "')\" onmouseout=\"UnTip()\">";
echo "<img src=\"../$helpPath/graphics/help.png\" alt=\"" . _('Help') . "\" title=\"" . _('Help') . "\">";
echo "</a>";
}
/** /**
* This class includes all modules and attributes of an account. * This class includes all modules and attributes of an account.
@ -1137,8 +1162,7 @@ class accountContainer {
$return = call_user_func(array($this->module[$this->order[$this->current_page]], 'display_html_'.$this->subpage)); $return = call_user_func(array($this->module[$this->order[$this->current_page]], 'display_html_'.$this->subpage));
$y = 5000; $y = 5000;
$z = 10000; parseHtml($this->order[$this->current_page], $return, array(), false, $y, $this->type);
parseHtml($this->order[$this->current_page], $return, array(), false, $y, $z, $this->type);
// Display rest of html-page // Display rest of html-page
echo "<br>*" . _('required'); echo "<br>*" . _('required');
echo "</td></tr></table>\n"; echo "</td></tr></table>\n";
@ -1190,6 +1214,7 @@ class accountContainer {
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/layout.css\">\n"; echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/layout.css\">\n";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/type_" . $this->type . ".css\">\n"; echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/type_" . $this->type . ".css\">\n";
echo "</head><body>\n"; echo "</head><body>\n";
echo "<script type=\"text/javascript\" src=\"../wz_tooltip.js\"></script>\n";
echo "<form enctype=\"multipart/form-data\" action=\"edit.php\" method=\"post\">\n"; echo "<form enctype=\"multipart/form-data\" action=\"edit.php\" method=\"post\">\n";
} }

View File

@ -3,7 +3,7 @@
$Id$ $Id$
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
Copyright (C) 2003 - 2007 Roland Gruber Copyright (C) 2003 - 2009 Roland Gruber
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -114,7 +114,6 @@ if (!isset($_SESSION['conf_typeSettings'])) $_SESSION['conf_typeSettings'] = $co
// index for tab order // index for tab order
$tabindex = 1; $tabindex = 1;
$tabindexLink = 1000;
echo $_SESSION['header']; echo $_SESSION['header'];
@ -123,6 +122,7 @@ echo ("<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/layout.css\
echo "<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"../../graphics/favicon.ico\">\n"; echo "<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"../../graphics/favicon.ico\">\n";
echo ("</head>\n"); echo ("</head>\n");
echo ("<body>\n"); echo ("<body>\n");
echo "<script type=\"text/javascript\" src=\"../wz_tooltip.js\"></script>\n";
echo ("<p align=\"center\"><a href=\"http://lam.sourceforge.net\" target=\"new_window\">". echo ("<p align=\"center\"><a href=\"http://lam.sourceforge.net\" target=\"new_window\">".
"<img src=\"../../graphics/banner.jpg\" border=1 alt=\"LDAP Account Manager\"></a></p>\n<hr>\n<p>&nbsp;</p>\n"); "<img src=\"../../graphics/banner.jpg\" border=1 alt=\"LDAP Account Manager\"></a></p>\n<hr>\n<p>&nbsp;</p>\n");
@ -283,7 +283,7 @@ for ($i = 0; $i < sizeof($modules); $i++) {
$icon = '<img align="middle" src="../../graphics/' . $iconImage . '" alt="' . $iconImage . '"> '; $icon = '<img align="middle" src="../../graphics/' . $iconImage . '" alt="' . $iconImage . '"> ';
} }
echo "<legend>$icon<b>" . getModuleAlias($modules[$i], "none") . "</b></legend><br>\n"; echo "<legend>$icon<b>" . getModuleAlias($modules[$i], "none") . "</b></legend><br>\n";
$configTypes = parseHtml($modules[$i], $options[$modules[$i]], $old_options, true, $tabindex, $tabindexLink, 'config'); $configTypes = parseHtml($modules[$i], $options[$modules[$i]], $old_options, true, $tabindex, 'config');
$_SESSION['conf_types'] = array_merge($configTypes, $_SESSION['conf_types']); $_SESSION['conf_types'] = array_merge($configTypes, $_SESSION['conf_types']);
echo "</fieldset>\n"; echo "</fieldset>\n";
echo "<br>"; echo "<br>";

View File

@ -4,7 +4,7 @@
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
Copyright (C) 2003 - 2006 Tilo Lutz Copyright (C) 2003 - 2006 Tilo Lutz
Copyright (C) 2007 - 2008 Roland Gruber Copyright (C) 2007 - 2009 Roland Gruber
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -81,6 +81,7 @@ if (isset($_GET['type']) && isset($_SESSION['delete_dn'])) {
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/layout.css\">\n"; echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/layout.css\">\n";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/type_" . $_GET['type'] . ".css\">\n"; echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"../style/type_" . $_GET['type'] . ".css\">\n";
echo "</head><body>\n"; echo "</head><body>\n";
echo "<script type=\"text/javascript\" src=\"wz_tooltip.js\"></script>\n";
echo "<form action=\"delete.php\" method=\"post\">\n"; echo "<form action=\"delete.php\" method=\"post\">\n";
echo "<fieldset class=\"".$_GET['type']."edit\"><legend><b>"; echo "<fieldset class=\"".$_GET['type']."edit\"><legend><b>";
echo _('Please confirm:'); echo _('Please confirm:');
@ -106,10 +107,9 @@ if (isset($_GET['type']) && isset($_SESSION['delete_dn'])) {
$modules = $_SESSION['config']->get_AccountModules($_GET['type']); $modules = $_SESSION['config']->get_AccountModules($_GET['type']);
$values = array(); $values = array();
$tabindex = 100; $tabindex = 100;
$tabindexLink = 1000;
foreach ($modules as $module) { foreach ($modules as $module) {
$module = new $module($_GET['type']); $module = new $module($_GET['type']);
parseHtml(get_class($module), $module->display_html_delete(), $values, true, $tabindex, $tabindexLink, $_GET['type']); parseHtml(get_class($module), $module->display_html_delete(), $values, true, $tabindex, $_GET['type']);
} }
echo "</table>\n"; echo "</table>\n";
echo "<br>\n"; echo "<br>\n";

View File

@ -4,7 +4,7 @@ $Id$
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
Copyright (C) 2003 - 2006 Michael Duergner Copyright (C) 2003 - 2006 Michael Duergner
2008 Roland Gruber 2008 - 2009 Roland Gruber
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -44,35 +44,33 @@ session_save_path("../sess");
/** status messages */ /** status messages */
include_once("../lib/status.inc"); include_once("../lib/status.inc");
setlanguage();
/** help data */ /** help data */
include_once("../help/help.inc"); // Include help/help.inc which provides $helpArray where the help pages are stored include_once("../help/help.inc"); // Include help/help.inc which provides $helpArray where the help pages are stored
setlanguage();
/** /**
* Print HTML header of the help page. * Print HTML header of the help page.
*/ */
function echoHTMLHead() function echoHTMLHead() {
{ echo $_SESSION['header'];
echo $_SESSION['header']; ?>
?> <title>LDAP Account Manager Help Center</title>
<title>LDAP Account Manager Help Center</title> <link rel="stylesheet" type="text/css" href="../style/layout.css">
<link rel="stylesheet" type="text/css" href="../style/layout.css"> </head>
</head> <body>
<body> <?php
<?php
} }
/** /**
* Print HTML footer of the help page. * Print HTML footer of the help page.
*/ */
function echoHTMLFoot() function echoHTMLFoot() {
{ ?>
?> </body>
</body> </html>
</html> <?php
<?php
} }
/** /**
@ -106,7 +104,7 @@ if(!isset($_GET['HelpNumber']))
$helpEntry = array(); $helpEntry = array();
// module help // module help
if(isset($_GET['module']) && !($_GET['module'] == 'main')) { if(isset($_GET['module']) && !($_GET['module'] == 'main') && !($_GET['module'] == '')) {
include_once("../lib/modules.inc"); include_once("../lib/modules.inc");
if(isset($_GET['scope'])) { if(isset($_GET['scope'])) {
$helpEntry = getHelp($_GET['module'],$_GET['HelpNumber'],$_GET['scope']); $helpEntry = getHelp($_GET['module'],$_GET['HelpNumber'],$_GET['scope']);

View File

@ -3,7 +3,7 @@
$Id$ $Id$
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam) This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
Copyright (C) 2003 - 2006 Roland Gruber Copyright (C) 2003 - 2009 Roland Gruber
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
@ -71,6 +71,7 @@ echo $_SESSION['header'];
echo "<title>Profile editor</title>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/layout.css\">\n"; echo "<title>Profile editor</title>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/layout.css\">\n";
echo "\n<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/type_" . $_GET['type'] . ".css\">\n"; echo "\n<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/type_" . $_GET['type'] . ".css\">\n";
echo "</head><body><br>\n"; echo "</head><body><br>\n";
echo "<script type=\"text/javascript\" src=\"../wz_tooltip.js\"></script>\n";
// save button was presed // save button was presed
if (isset($_POST['save'])) { if (isset($_POST['save'])) {
@ -226,7 +227,6 @@ $_SESSION['profile_types']['ldap_rdn'] = 'select';
// index for tab order (1 is LDAP suffix) // index for tab order (1 is LDAP suffix)
$tabindex = 2; $tabindex = 2;
$tabindexLink = 1000; // links are at the end
// display module options // display module options
$modules = array_keys($options); $modules = array_keys($options);
@ -241,7 +241,7 @@ for ($m = 0; $m < sizeof($modules); $m++) {
$icon = '<img align="middle" src="../../graphics/' . $iconImage . '" alt="' . $iconImage . '"> '; $icon = '<img align="middle" src="../../graphics/' . $iconImage . '" alt="' . $iconImage . '"> ';
} }
echo "<legend>$icon<b>" . getModuleAlias($modules[$m], $type) . "</b></legend>\n"; echo "<legend>$icon<b>" . getModuleAlias($modules[$m], $type) . "</b></legend>\n";
$profileTypes = parseHtml($modules[$m], $options[$modules[$m]], $old_options, true, $tabindex, $tabindexLink, $type); $profileTypes = parseHtml($modules[$m], $options[$modules[$m]], $old_options, true, $tabindex, $type);
$_SESSION['profile_types'] = array_merge($profileTypes, $_SESSION['profile_types']); $_SESSION['profile_types'] = array_merge($profileTypes, $_SESSION['profile_types']);
echo "</fieldset>\n"; echo "</fieldset>\n";
echo "<br>"; echo "<br>";

1301
lam/templates/wz_tooltip.js Normal file

File diff suppressed because it is too large Load Diff