responsive account edit page
This commit is contained in:
parent
5f32b829b6
commit
34ffbb4f36
|
@ -1055,16 +1055,16 @@ class accountContainer {
|
||||||
}
|
}
|
||||||
echo "<tr class=\"" . $this->type->getScope() . "-bright\" valign=\"top\"><td style=\"padding: 15px;\">";
|
echo "<tr class=\"" . $this->type->getScope() . "-bright\" valign=\"top\"><td style=\"padding: 15px;\">";
|
||||||
// print title bar
|
// print title bar
|
||||||
echo '<div class="titleBar ui-corner-top">';
|
$titleBarContainer = new htmlResponsiveRow();
|
||||||
echo '<table width="100%"><tr>';
|
$titleBarContainer->setCSSClasses(array('maxrow'));
|
||||||
echo '<td><div class="titleBarTitle">';
|
$titleBarTitleText = new htmlOutputText($this->titleBarTitle, false);
|
||||||
echo $this->titleBarTitle;
|
$titleBarContainer->add(new htmlDiv(null, $titleBarTitleText, array('titleBarTitle', 'text-left')), 12);
|
||||||
echo '</div></td>';
|
$titleBarContainer->addVerticalSpacer('0.5rem');
|
||||||
echo '<td align="right">';
|
$titleBarSubtitleText = new htmlOutputText($this->titleBarSubtitle, false);
|
||||||
$group = new htmlGroup();
|
$titleBarContainer->add(new htmlDiv(null, $titleBarSubtitleText, array('titleBarSubtitle', 'text-left')), 12);
|
||||||
|
$titleBarContainer->addVerticalSpacer('1rem');
|
||||||
|
$titleBarSuffixRdn = new htmlResponsiveRow();
|
||||||
// suffix
|
// suffix
|
||||||
$group->addElement(new htmlOutputText(_('Suffix')));
|
|
||||||
$group->addElement(new htmlSpacer('2px', null));
|
|
||||||
$suffixList = array();
|
$suffixList = array();
|
||||||
foreach ($this->getOUs() as $suffix) {
|
foreach ($this->getOUs() as $suffix) {
|
||||||
$suffixList[getAbstractDN($suffix)] = $suffix;
|
$suffixList[getAbstractDN($suffix)] = $suffix;
|
||||||
|
@ -1073,26 +1073,29 @@ class accountContainer {
|
||||||
$suffixList[getAbstractDN($this->dnSuffix)] = $this->dnSuffix;
|
$suffixList[getAbstractDN($this->dnSuffix)] = $this->dnSuffix;
|
||||||
}
|
}
|
||||||
$selectedSuffix = array($this->dnSuffix);
|
$selectedSuffix = array($this->dnSuffix);
|
||||||
|
$suffixGroup = new htmlGroup();
|
||||||
|
$suffixGroup->addElement(new htmlOutputText(_('Suffix')));
|
||||||
$suffixSelect = new htmlSelect('accountContainerSuffix', $suffixList, $selectedSuffix);
|
$suffixSelect = new htmlSelect('accountContainerSuffix', $suffixList, $selectedSuffix);
|
||||||
$suffixSelect->setHasDescriptiveElements(true);
|
$suffixSelect->setHasDescriptiveElements(true);
|
||||||
$suffixSelect->setRightToLeftTextDirection(true);
|
$suffixSelect->setRightToLeftTextDirection(true);
|
||||||
$group->addElement($suffixSelect);
|
$suffixSelect->setCSSClasses(array('auto-width'));
|
||||||
$group->addElement(new htmlSpacer('10px', null));
|
$suffixGroup->addElement($suffixSelect);
|
||||||
|
$suffixGroup->addElement(new htmlHelpLink('361'));
|
||||||
|
$titleBarSuffixRdn->add($suffixGroup, 12, 6, 6, 'nowrap maxrow');
|
||||||
// RDN selection
|
// RDN selection
|
||||||
$group->addElement(new htmlOutputText(_('RDN identifier')));
|
$rdnGroup = new htmlGroup();
|
||||||
$group->addElement(new htmlSpacer('2px', null));
|
$rdnGroup->addElement(new htmlOutputText(_('RDN identifier')));
|
||||||
$rdnlist = getRDNAttributes($this->type->getId());
|
$rdnlist = getRDNAttributes($this->type->getId());
|
||||||
$group->addElement(new htmlSelect('accountContainerRDN', $rdnlist, array($this->rdn)));
|
$rdnSelect = new htmlSelect('accountContainerRDN', $rdnlist, array($this->rdn));
|
||||||
$group->addElement(new htmlHelpLink('301'));
|
$rdnSelect->setCSSClasses(array('auto-width'));
|
||||||
parseHtml(null, $group, array(), true, $tabindex, $this->type->getScope());
|
$rdnGroup->addElement($rdnSelect);
|
||||||
echo '</td>';
|
$rdnGroup->addElement(new htmlHelpLink('301'), 1);
|
||||||
echo '</tr></table>';
|
$titleBarSuffixRdn->add($rdnGroup, 12, 6, 6, 'nowrap maxrow');
|
||||||
if ($this->titleBarSubtitle != null) {
|
$titleBarContainer->add($titleBarSuffixRdn, 12);
|
||||||
echo '<div class="titleBarSubtitle">';
|
|
||||||
echo $this->titleBarSubtitle;
|
$titleBarDiv = new htmlDiv(null, $titleBarContainer, array('titleBar', 'ui-corner-top'));
|
||||||
echo '</div>';
|
parseHtml(null, $titleBarDiv, array(), false, $tabindex, $this->type->getScope());
|
||||||
}
|
|
||||||
echo '</div>';
|
|
||||||
echo '<div id="lamVerticalTabs" class="ui-tabs ui-widget ui-widget-content ui-corner-bottom ui-helper-clearfix">';
|
echo '<div id="lamVerticalTabs" class="ui-tabs ui-widget ui-widget-content ui-corner-bottom ui-helper-clearfix">';
|
||||||
echo '<table>';
|
echo '<table>';
|
||||||
echo '<tr><td>';
|
echo '<tr><td>';
|
||||||
|
@ -1298,7 +1301,8 @@ class accountContainer {
|
||||||
* @param int $tabindex tabindex for GUI elements
|
* @param int $tabindex tabindex for GUI elements
|
||||||
*/
|
*/
|
||||||
private function printCommonControls(&$tabindex) {
|
private function printCommonControls(&$tabindex) {
|
||||||
$table = new htmlTable('100%');
|
$row = new htmlResponsiveRow();
|
||||||
|
$row->setCSSClasses(array('maxrow'));
|
||||||
$leftButtonGroup = new htmlGroup();
|
$leftButtonGroup = new htmlGroup();
|
||||||
$leftButtonGroup->alignment = htmlElement::ALIGN_LEFT;
|
$leftButtonGroup->alignment = htmlElement::ALIGN_LEFT;
|
||||||
// save button
|
// save button
|
||||||
|
@ -1322,14 +1326,15 @@ class accountContainer {
|
||||||
. getSecurityTokenName() . '\',\'' . getSecurityTokenValue() . '\');');
|
. getSecurityTokenName() . '\',\'' . getSecurityTokenValue() . '\');');
|
||||||
$leftButtonGroup->addElement($passwordButton);
|
$leftButtonGroup->addElement($passwordButton);
|
||||||
}
|
}
|
||||||
$table->addElement($leftButtonGroup);
|
$row->add($leftButtonGroup, 12, 7);
|
||||||
|
|
||||||
$rightGroup = new htmlGroup();
|
$rightGroup = new htmlGroup();
|
||||||
$rightGroup->alignment = htmlElement::ALIGN_RIGHT;
|
|
||||||
// profile selection
|
// profile selection
|
||||||
$profilelist = \LAM\PROFILES\getAccountProfiles($this->type->getId());
|
$profilelist = \LAM\PROFILES\getAccountProfiles($this->type->getId());
|
||||||
if (sizeof($profilelist) > 0) {
|
if (sizeof($profilelist) > 0) {
|
||||||
$rightGroup->addElement(new htmlSelect('accountContainerSelectLoadProfile', $profilelist, array($this->lastLoadedProfile)));
|
$profilesSelect = new htmlSelect('accountContainerSelectLoadProfile', $profilelist, array($this->lastLoadedProfile));
|
||||||
|
$profilesSelect->setCSSClasses(array('auto-width'));
|
||||||
|
$rightGroup->addElement($profilesSelect);
|
||||||
$profileButton = new htmlButton('accountContainerLoadProfile', _('Load profile'));
|
$profileButton = new htmlButton('accountContainerLoadProfile', _('Load profile'));
|
||||||
$profileButton->setIconClass('loadProfileButton');
|
$profileButton->setIconClass('loadProfileButton');
|
||||||
if (!$this->isNewAccount) {
|
if (!$this->isNewAccount) {
|
||||||
|
@ -1340,9 +1345,9 @@ class accountContainer {
|
||||||
$rightGroup->addElement(new htmlSpacer('1px', null));
|
$rightGroup->addElement(new htmlSpacer('1px', null));
|
||||||
$rightGroup->addElement(new htmlHelpLink('401'));
|
$rightGroup->addElement(new htmlHelpLink('401'));
|
||||||
}
|
}
|
||||||
$table->addElement($rightGroup);
|
$row->add($rightGroup, 12, 5, 5, 'text-right');
|
||||||
|
|
||||||
parseHtml(null, $table, array(), false, $tabindex, $this->type->getScope());
|
parseHtml(null, $row, array(), false, $tabindex, $this->type->getScope());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1366,7 +1371,7 @@ class accountContainer {
|
||||||
if (!empty($_POST)) {
|
if (!empty($_POST)) {
|
||||||
validateSecurityToken();
|
validateSecurityToken();
|
||||||
}
|
}
|
||||||
include '../main_header.php';
|
include '../../lib/adminHeader.inc';
|
||||||
echo '<script type="text/javascript">
|
echo '<script type="text/javascript">
|
||||||
jQuery(document).ready(function() {
|
jQuery(document).ready(function() {
|
||||||
jQuery("#inputForm").validationEngine();
|
jQuery("#inputForm").validationEngine();
|
||||||
|
@ -1382,7 +1387,7 @@ class accountContainer {
|
||||||
*/
|
*/
|
||||||
private function printPageFooter() {
|
private function printPageFooter() {
|
||||||
echo "</form>\n";
|
echo "</form>\n";
|
||||||
include '../main_footer.php';
|
include '../../lib/adminFooter.inc';
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
/*
|
/*
|
||||||
|
|
||||||
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
||||||
Copyright (C) 2005 - 2018 Roland Gruber
|
Copyright (C) 2005 - 2019 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
|
||||||
|
@ -413,7 +413,7 @@ class user extends baseType {
|
||||||
&& (!$ppolicyAvailable || $ppolicyLocked)
|
&& (!$ppolicyAvailable || $ppolicyLocked)
|
||||||
&& (!$windowsAvailable || $windowsLocked || $windowsPasswordLocked);
|
&& (!$windowsAvailable || $windowsLocked || $windowsPasswordLocked);
|
||||||
|
|
||||||
$container = new htmlTable();
|
$container = new htmlResponsiveRow();
|
||||||
|
|
||||||
// show radio buttons for lock/unlock
|
// show radio buttons for lock/unlock
|
||||||
$radioDisabled = true;
|
$radioDisabled = true;
|
||||||
|
@ -436,16 +436,16 @@ class user extends baseType {
|
||||||
if (!$radioDisabled) {
|
if (!$radioDisabled) {
|
||||||
$radio = new htmlRadio('lam_accountStatusAction', array(_('Lock') => 'lock', _('Unlock') => 'unlock'), $selectedRadio);
|
$radio = new htmlRadio('lam_accountStatusAction', array(_('Lock') => 'lock', _('Unlock') => 'unlock'), $selectedRadio);
|
||||||
$radio->setOnchangeEvent($onchange);
|
$radio->setOnchangeEvent($onchange);
|
||||||
$container->addElement($radio, true);
|
$container->add($radio, 12);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$radio = new htmlRadio('lam_accountStatusActionDisabled', array(_('Lock') => 'lock', _('Unlock') => 'unlock'), $selectedRadio);
|
$radio = new htmlRadio('lam_accountStatusActionDisabled', array(_('Lock') => 'lock', _('Unlock') => 'unlock'), $selectedRadio);
|
||||||
$radio->setIsEnabled(false);
|
$radio->setIsEnabled(false);
|
||||||
$container->addElement($radio, true);
|
$container->add($radio, 12);
|
||||||
$container->addElement(new htmlHiddenInput('lam_accountStatusAction', $selectedRadio), true);
|
$container->add(new htmlHiddenInput('lam_accountStatusAction', $selectedRadio), 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
$container->addElement(new htmlHiddenInput('lam_accountStatusResult', 'cancel'), true);
|
$container->add(new htmlHiddenInput('lam_accountStatusResult', 'cancel'), 12);
|
||||||
|
|
||||||
// locking part
|
// locking part
|
||||||
if (!$fullyLocked) {
|
if (!$fullyLocked) {
|
||||||
|
@ -484,7 +484,7 @@ class user extends baseType {
|
||||||
if ($fullyLocked || $partiallyLocked) {
|
if ($fullyLocked || $partiallyLocked) {
|
||||||
$lockDiv->setCSSClasses(array('hidden'));
|
$lockDiv->setCSSClasses(array('hidden'));
|
||||||
}
|
}
|
||||||
$container->addElement($lockDiv, true);
|
$container->add($lockDiv, 12);
|
||||||
}
|
}
|
||||||
// unlocking part
|
// unlocking part
|
||||||
if ($partiallyLocked) {
|
if ($partiallyLocked) {
|
||||||
|
@ -527,7 +527,7 @@ class user extends baseType {
|
||||||
if (!$fullyLocked && !$partiallyLocked) {
|
if (!$fullyLocked && !$partiallyLocked) {
|
||||||
$unlockDiv->setCSSClasses(array('hidden'));
|
$unlockDiv->setCSSClasses(array('hidden'));
|
||||||
}
|
}
|
||||||
$container->addElement($unlockDiv, true);
|
$container->add($unlockDiv, 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
$div = new htmlDiv('lam_accountStatusDialog', $container);
|
$div = new htmlDiv('lam_accountStatusDialog', $container);
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
||||||
Copyright (C) 2003 Leonhard Walchshaeusl
|
Copyright (C) 2003 Leonhard Walchshaeusl
|
||||||
Copyright (C) 2005 - 2018 Roland Gruber
|
Copyright (C) 2005 - 2019 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
|
||||||
|
@ -536,7 +536,7 @@ tr.account {
|
||||||
}
|
}
|
||||||
|
|
||||||
#lamVerticalTabs .ui-tabs-nav li {
|
#lamVerticalTabs .ui-tabs-nav li {
|
||||||
margin: 0 -1px .2em 0;
|
margin: 0 -1px .2em 1 !important;
|
||||||
clear: left;
|
clear: left;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-right-width: 0 !important;
|
border-right-width: 0 !important;
|
||||||
|
@ -551,7 +551,8 @@ tr.account {
|
||||||
|
|
||||||
#lamVerticalTabs .ui-tabs-nav {
|
#lamVerticalTabs .ui-tabs-nav {
|
||||||
float: left;
|
float: left;
|
||||||
padding: .2em .1em .2em .2em !IMPORTANT;
|
padding: .2em 0em .2em .2em !IMPORTANT;
|
||||||
|
border-right: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#lamVerticalTabs .ui-tabs-panel {
|
#lamVerticalTabs .ui-tabs-panel {
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
|
|
||||||
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
||||||
Copyright (C) 2017 - 2018 Roland Gruber
|
Copyright (C) 2017 - 2019 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
|
||||||
|
@ -74,6 +74,10 @@ table.padding5 td {
|
||||||
max-width: none;
|
max-width: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
select.auto-width {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
|
||||||
table.responsive-table {
|
table.responsive-table {
|
||||||
margin-top: 1rem;
|
margin-top: 1rem;
|
||||||
table-layout: fixed;
|
table-layout: fixed;
|
||||||
|
|
|
@ -764,10 +764,10 @@ window.lam.gui = window.lam.gui || {};
|
||||||
* Resizes input fields etc. when they are marked as equally high.
|
* Resizes input fields etc. when they are marked as equally high.
|
||||||
*/
|
*/
|
||||||
window.lam.gui.equalHeight = function() {
|
window.lam.gui.equalHeight = function() {
|
||||||
var maxHeight = 0;
|
var maxHeight = 20;
|
||||||
jQuery('.lamEqualHeightTabContent').each(function() {
|
jQuery('.lamEqualHeightTabContent').each(function() {
|
||||||
if (jQuery(this).height() > maxHeight) {
|
if (jQuery(this).height() > maxHeight) {
|
||||||
maxHeight = jQuery(this).height();
|
maxHeight = jQuery(this).height() + 20;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
jQuery('.lamEqualHeightTabContent').each(function() {
|
jQuery('.lamEqualHeightTabContent').each(function() {
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
<?php
|
|
||||||
/*
|
|
||||||
$Id$
|
|
||||||
|
|
||||||
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
|
||||||
Copyright (C) 2010 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
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Footer part of page which closes the tab content area etc.
|
|
||||||
*
|
|
||||||
* @package main
|
|
||||||
* @author Roland Gruber
|
|
||||||
*/
|
|
||||||
?>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,224 +0,0 @@
|
||||||
<?php
|
|
||||||
namespace LAM\HEADER;
|
|
||||||
/*
|
|
||||||
|
|
||||||
This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
|
|
||||||
Copyright (C) 2003 - 2018 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
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Head part of page which includes links to lists etc.
|
|
||||||
*
|
|
||||||
* @package main
|
|
||||||
* @author Roland Gruber
|
|
||||||
*/
|
|
||||||
|
|
||||||
$headerPrefix = "";
|
|
||||||
if (is_file("../login.php")) $headerPrefix = "../";
|
|
||||||
elseif (is_file("../../login.php")) $headerPrefix = "../../";
|
|
||||||
|
|
||||||
/** tool definitions */
|
|
||||||
include_once(__DIR__ . "/../lib/tools.inc");
|
|
||||||
|
|
||||||
$pro = '';
|
|
||||||
if (isLAMProVersion()) {
|
|
||||||
$pro = ' Pro';
|
|
||||||
}
|
|
||||||
|
|
||||||
// HTML header and title
|
|
||||||
echo $_SESSION['header'];
|
|
||||||
echo "<link rel=\"shortcut icon\" type=\"image/x-icon\" href=\"" . $headerPrefix . "../graphics/favicon.ico\">\n";
|
|
||||||
echo "<link rel=\"icon\" href=\"" . $headerPrefix . "../graphics/logo136.png\">\n";
|
|
||||||
echo "<title>LDAP Account Manager" . $pro . " (" . str_replace(array('ldap://', 'ldaps://'), array('', ''), $_SESSION['config']->get_ServerURL()) . ")</title>\n";
|
|
||||||
|
|
||||||
// include all CSS files
|
|
||||||
$cssDirName = dirname(__FILE__) . '/../style';
|
|
||||||
$cssDir = dir($cssDirName);
|
|
||||||
$cssFiles = array();
|
|
||||||
$cssEntry = $cssDir->read();
|
|
||||||
while ($cssEntry !== false) {
|
|
||||||
if (substr($cssEntry, strlen($cssEntry) - 4, 4) == '.css') {
|
|
||||||
$cssFiles[] = $cssEntry;
|
|
||||||
}
|
|
||||||
$cssEntry = $cssDir->read();
|
|
||||||
}
|
|
||||||
sort($cssFiles);
|
|
||||||
foreach ($cssFiles as $cssEntry) {
|
|
||||||
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"" . $headerPrefix . "../style/" . $cssEntry . "\">\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</head><body>\n";
|
|
||||||
|
|
||||||
// include all JavaScript files
|
|
||||||
$jsDirName = dirname(__FILE__) . '/lib';
|
|
||||||
$jsDir = dir($jsDirName);
|
|
||||||
$jsFiles = array();
|
|
||||||
while ($jsEntry = $jsDir->read()) {
|
|
||||||
if ((substr($jsEntry, strlen($jsEntry) - 3, 3) != '.js') && (substr($jsEntry, strlen($jsEntry) - 4, 4) != '.php')) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
$jsFiles[] = $jsEntry;
|
|
||||||
}
|
|
||||||
sort($jsFiles);
|
|
||||||
foreach ($jsFiles as $jsEntry) {
|
|
||||||
echo "<script type=\"text/javascript\" src=\"" . $headerPrefix . "lib/" . $jsEntry . "\"></script>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
// get tool list
|
|
||||||
$availableTools = getTools();
|
|
||||||
$toolSettings = $_SESSION['config']->getToolSettings();
|
|
||||||
// sort tools
|
|
||||||
$toSort = array();
|
|
||||||
foreach ($availableTools as $toolClass) {
|
|
||||||
$myTool = new $toolClass();
|
|
||||||
if ($myTool->getRequiresWriteAccess() && !checkIfWriteAccessIsAllowed()) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if ($myTool->getRequiresPasswordChangeRights() && !checkIfPasswordChangeIsAllowed()) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// check visibility
|
|
||||||
if (!$myTool->isVisible()) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// check if hidden by config
|
|
||||||
$toolName = substr($toolClass, strrpos($toolClass, '\\') + 1);
|
|
||||||
if (isset($toolSettings['tool_hide_' . $toolName]) && ($toolSettings['tool_hide_' . $toolName] == 'true')) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
$toSort[$toolClass] = $myTool->getPosition();
|
|
||||||
}
|
|
||||||
asort($toSort);
|
|
||||||
$tools = array();
|
|
||||||
foreach ($toSort as $key => $value) {
|
|
||||||
$tools[] = new $key();
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
<table border=0 width="100%" class="lamHeader ui-corner-all">
|
|
||||||
<tr>
|
|
||||||
<td align="left" height="30" class="nowrap">
|
|
||||||
<a class="lamLogo" href="http://www.ldap-account-manager.org/" target="new_window">
|
|
||||||
LDAP Account Manager
|
|
||||||
<?php
|
|
||||||
echo $pro . " - " . LAMVersion();
|
|
||||||
?>
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td align="left" height="30" class="nowrap">
|
|
||||||
<?php
|
|
||||||
$userData = $_SESSION['ldap']->decrypt_login();
|
|
||||||
echo ' <small title="' . $userData[0] . '">';
|
|
||||||
printf('(' . _('Logged in as: %s') . ')', extractRDNValue($userData[0]));
|
|
||||||
$userData = null;
|
|
||||||
echo '</small>';
|
|
||||||
?>
|
|
||||||
</td>
|
|
||||||
<td align="right" height=30 width="100%">
|
|
||||||
<ul id="dropmenu" class="dropmenu">
|
|
||||||
<li><a href="<?php echo $headerPrefix; ?>logout.php" target="_top"><img class="align-middle" height="16" width="16" alt="logout" src="<?php echo $headerPrefix; ?>../graphics/exit.png"> <?php echo _("Logout") ?></a></li>
|
|
||||||
<?php
|
|
||||||
if (is_dir(dirname(__FILE__) . '/../docs/manual')) {
|
|
||||||
?>
|
|
||||||
<li>
|
|
||||||
<a target="_blank" href="<?php echo $headerPrefix; ?>../docs/manual/index.html"><img class="align-middle" width="16" height="16" alt="help" src="<?php echo $headerPrefix; ?>../graphics/help.png"> <?php echo _("Help") ?> </a>
|
|
||||||
</li>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
if (sizeof($tools) > 0) {
|
|
||||||
?>
|
|
||||||
<li>
|
|
||||||
<a href="<?php echo $headerPrefix; ?>tools.php"><img class="align-middle" height="16" width="16" alt="tools" src="<?php echo $headerPrefix; ?>../graphics/tools.png"> <?php echo _("Tools") ?></a>
|
|
||||||
<ul>
|
|
||||||
<?php
|
|
||||||
foreach ($tools as $tool) {
|
|
||||||
$subTools = $tool->getSubTools();
|
|
||||||
echo '<li title="' . $tool->getDescription() . '">';
|
|
||||||
$link = $headerPrefix . $tool->getLink();
|
|
||||||
echo '<a href="' . $link . "\">\n";
|
|
||||||
echo '<img height="16" width="16" alt="" src="' . $headerPrefix . '../graphics/' . $tool->getImageLink() . '"> ' . $tool->getName();
|
|
||||||
echo "</a>\n";
|
|
||||||
if (sizeof($subTools) > 0) {
|
|
||||||
echo "<ul>\n";
|
|
||||||
foreach ($subTools as $subTool) {
|
|
||||||
echo "<li title=\"" . $subTool->description . "\">\n";
|
|
||||||
echo "<a href=\"" . $headerPrefix . $subTool->link . "\">\n";
|
|
||||||
echo '<img width=16 height=16 alt="" src="' . $headerPrefix . '../graphics/' . $subTool->image . '"> ' . $subTool->name;
|
|
||||||
echo "</a>\n";
|
|
||||||
echo "</li>\n";
|
|
||||||
}
|
|
||||||
echo "</ul>\n";
|
|
||||||
}
|
|
||||||
echo "</li>\n";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
if ($_SESSION['config']->get_Suffix('tree') != "") {
|
|
||||||
?>
|
|
||||||
<li>
|
|
||||||
<a href="<?php echo $headerPrefix; ?>tree/treeViewContainer.php"><img class="align-middle" height="16" width="16" alt="tree" src="<?php echo $headerPrefix; ?>../graphics/process.png"> <?php echo _("Tree view") ?></a>
|
|
||||||
</li>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</ul>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
jQuery(document).ready(function() {
|
|
||||||
jQuery('#dropmenu').dropmenu({
|
|
||||||
effect : 'slide',
|
|
||||||
nbsp : true,
|
|
||||||
timeout : 350,
|
|
||||||
speed : 'fast'
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<br>
|
|
||||||
<div class="ui-tabs ui-corner-all ui-widget ui-widget-content">
|
|
||||||
<ul class="ui-tabs-nav ui-corner-all ui-helper-reset ui-helper-clearfix ui-widget-header">
|
|
||||||
<?php
|
|
||||||
printTypeTabs($headerPrefix);
|
|
||||||
?>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<?php
|
|
||||||
|
|
||||||
function printTypeTabs($headerPrefix) {
|
|
||||||
$typeManager = new \LAM\TYPES\TypeManager();
|
|
||||||
$types = $typeManager->getConfiguredTypes();
|
|
||||||
foreach ($types as $type) {
|
|
||||||
if ($type->isHidden()) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
$link = '<a class="ui-tabs-anchor" href="' . $headerPrefix . 'lists/list.php?type=' . $type->getId() .
|
|
||||||
'" onmouseover="jQuery(this).addClass(\'tabs-hover\');" onmouseout="jQuery(this).removeClass(\'tabs-hover\');">' .
|
|
||||||
'<img height="16" width="16" alt="' . $type->getId() . '" src="' . $headerPrefix . '../graphics/' . $type->getIcon() . '"> ' .
|
|
||||||
$type->getAlias() . '</a>';
|
|
||||||
echo '<li id="tab_' . $type->getId() . '" class="ui-tabs-tab ui-corner-top ui-state-default ui-tab">';
|
|
||||||
echo $link;
|
|
||||||
echo "</li>\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue