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)
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
it under the terms of the GNU General Public License as published by
@ -31,8 +31,6 @@ $Id$
* @package Help
*/
setlanguage();
// generate help entry for translated list attributes
$types = getTypes();
$entry206Example = "";

View File

@ -3,7 +3,7 @@
$Id$
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
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 "</head><body>\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";
$tabindex = 0;
$tabindexLink = 0;
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>";

View File

@ -3,7 +3,7 @@
$Id$
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
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
*/
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'));
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 boolean $restricted If true then no buttons will be displayed
* @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
* @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();
if (is_array($input)) {
echo "<table>\n";
@ -761,7 +766,7 @@ function parseHtml($module, $input, $values, $restricted, &$tabindex, &$tabindex
case 'fieldset':
echo "<fieldset class=\"" . $scope . "edit\">\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);
echo "</fieldset>\n";
break;
@ -829,17 +834,13 @@ function parseHtml($module, $input, $values, $restricted, &$tabindex, &$tabindex
break;
// sub 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);
break;
// help link
case 'help':
$helpPath = "../";
if (is_file("./help.php")) $helpPath = "";
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++;
$helpEntry = getHelp($module, $input[$i][$j]['value'], $scope);
printHelpLink($helpEntry, $input[$i][$j]['value'], $module, $scope);
break;
// status message
case 'message':
@ -868,6 +869,30 @@ function parseHtml($module, $input, $values, $restricted, &$tabindex, &$tabindex
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.
@ -1137,8 +1162,7 @@ class accountContainer {
$return = call_user_func(array($this->module[$this->order[$this->current_page]], 'display_html_'.$this->subpage));
$y = 5000;
$z = 10000;
parseHtml($this->order[$this->current_page], $return, array(), false, $y, $z, $this->type);
parseHtml($this->order[$this->current_page], $return, array(), false, $y, $this->type);
// Display rest of html-page
echo "<br>*" . _('required');
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/type_" . $this->type . ".css\">\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";
}

View File

@ -3,7 +3,7 @@
$Id$
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
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
$tabindex = 1;
$tabindexLink = 1000;
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 ("</head>\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\">".
"<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 . '"> ';
}
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']);
echo "</fieldset>\n";
echo "<br>";

View File

@ -4,7 +4,7 @@
This code is part of LDAP Account Manager (http://www.sourceforge.net/projects/lam)
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
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/type_" . $_GET['type'] . ".css\">\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 "<fieldset class=\"".$_GET['type']."edit\"><legend><b>";
echo _('Please confirm:');
@ -106,10 +107,9 @@ if (isset($_GET['type']) && isset($_SESSION['delete_dn'])) {
$modules = $_SESSION['config']->get_AccountModules($_GET['type']);
$values = array();
$tabindex = 100;
$tabindexLink = 1000;
foreach ($modules as $module) {
$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 "<br>\n";

View File

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

View File

@ -3,7 +3,7 @@
$Id$
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
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 "\n<link rel=\"stylesheet\" type=\"text/css\" href=\"../../style/type_" . $_GET['type'] . ".css\">\n";
echo "</head><body><br>\n";
echo "<script type=\"text/javascript\" src=\"../wz_tooltip.js\"></script>\n";
// save button was presed
if (isset($_POST['save'])) {
@ -226,7 +227,6 @@ $_SESSION['profile_types']['ldap_rdn'] = 'select';
// index for tab order (1 is LDAP suffix)
$tabindex = 2;
$tabindexLink = 1000; // links are at the end
// display module 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 . '"> ';
}
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']);
echo "</fieldset>\n";
echo "<br>";

1301
lam/templates/wz_tooltip.js Normal file

File diff suppressed because it is too large Load Diff