fixed issue with tool visibility

This commit is contained in:
Roland Gruber 2017-07-16 20:48:46 +02:00
parent d06035f1ce
commit b99aa5729d
5 changed files with 20 additions and 8 deletions

View File

@ -1,3 +1,8 @@
July 2017 6.0.1
- Fixed bugs:
-> Configuration file fills up with empty values
-> Tool visibility settings
26.06.2017 6.0
- Support multiple configurations for same account type
- PHP 7.1 compatibility

View File

@ -4,7 +4,7 @@ namespace LAM\TOOLS\SERVER_INFO;
$Id$
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
Copyright (C) 2009 - 2016 Roland Gruber
Copyright (C) 2009 - 2017 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
@ -78,7 +78,7 @@ class toolServerInformation implements \LAMTool {
* @return boolean true if password change rights are needed
*/
function getRequiresPasswordChangeRights() {
return true;
return false;
}
/**

View File

@ -496,11 +496,12 @@ for ($r = 0; $r < (sizeof($tools) / 4); $r++) {
}
$tool = $tools[($r * 4) + $c];
$toolClass = get_class($tool);
$toolName = substr($toolClass, strrpos($toolClass, '\\') + 1);
$selected = false;
if (isset($toolSettings['tool_hide_' . $toolClass]) && ($toolSettings['tool_hide_' . $toolClass] === 'true')) {
if (isset($toolSettings['tool_hide_' . $toolName]) && ($toolSettings['tool_hide_' . $toolName] === 'true')) {
$selected = true;
}
$toolSettingsContent->addElement(new htmlTableExtendedInputCheckbox('tool_hide_' . $toolClass, $selected, $tool->getName(), null, false));
$toolSettingsContent->addElement(new htmlTableExtendedInputCheckbox('tool_hide_' . $toolName, $selected, $tool->getName(), null, false));
$toolSettingsContent->addElement(new htmlSpacer('10px', null));
}
$toolSettingsContent->addNewLine();
@ -761,7 +762,9 @@ function checkInput() {
$tools = getTools();
$toolSettings = array();
for ($i = 0; $i < sizeof($tools); $i++) {
$toolConfigID = 'tool_hide_' . $tools[$i];
$toolClass = $tools[$i];
$toolName = substr($toolClass, strrpos($toolClass, '\\') + 1);
$toolConfigID = 'tool_hide_' . $toolName;
if ((isset($_POST[$toolConfigID])) && ($_POST[$toolConfigID] == 'on')) {
$toolSettings[$toolConfigID] = 'true';
}

View File

@ -86,7 +86,8 @@ $toolSettings = $_SESSION['config']->getToolSettings();
// sort tools
$toSort = array();
for ($i = 0; $i < sizeof($availableTools); $i++) {
$myTool = new $availableTools[$i]();
$toolClass = $availableTools[$i];
$myTool = new $toolClass();
if ($myTool->getRequiresWriteAccess() && !checkIfWriteAccessIsAllowed()) {
continue;
}
@ -98,7 +99,8 @@ for ($i = 0; $i < sizeof($availableTools); $i++) {
continue;
}
// check if hidden by config
if (isset($toolSettings['tool_hide_' . get_class($myTool)]) && ($toolSettings['tool_hide_' . get_class($myTool)] == 'true')) {
$toolName = substr($toolClass, strrpos($toolClass, '\\') + 1);
if (isset($toolSettings['tool_hide_' . $toolName]) && ($toolSettings['tool_hide_' . $toolName] == 'true')) {
continue;
}
$toSort[$availableTools[$i]] = $myTool->getPosition();

View File

@ -77,7 +77,9 @@ for ($i = 0; $i < sizeof($tools); $i++) {
continue;
}
// check if hidden by config
if (isset($toolSettings['tool_hide_' . get_class($tools[$i])]) && ($toolSettings['tool_hide_' . get_class($tools[$i])] == 'true')) {
$className = get_class($tools[$i]);
$toolName = substr($className, strrpos($className, '\\') + 1);
if (isset($toolSettings['tool_hide_' . $toolName]) && ($toolSettings['tool_hide_' . $toolName] == 'true')) {
continue;
}
// add tool