mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Add action open close top dropdown menu
This commit is contained in:
parent
d8223bfe98
commit
ef241f70e7
|
|
@ -1722,6 +1722,9 @@ function top_menu($head, $title = '', $target = '', $disablejs = 0, $disablehead
|
|||
|
||||
|
||||
function top_menu_user(user $user, $langs){
|
||||
global $langs, $conf, $db, $hookmanager, $user;
|
||||
global $dolibarr_main_authentication, $dolibarr_main_demo;
|
||||
global $menumanager;
|
||||
|
||||
$userImage = $userDropDownImage = '';
|
||||
if (! empty($user->photo))
|
||||
|
|
@ -1730,10 +1733,70 @@ function top_menu_user(user $user, $langs){
|
|||
$userDropDownImage = Form::showphoto('userphoto', $user, 0, 0, 0, 'dropdown-user-image', 'small', 0, 1);
|
||||
}
|
||||
|
||||
// login infos
|
||||
$dropdownBody = '';
|
||||
if (!empty($user->admin)){
|
||||
$dropdownBody.= '<br><b>' . $langs->trans("Administrator").'</b>: '.yn($user->admin);
|
||||
}
|
||||
|
||||
if (! empty($user->socid) ) // Add thirdparty for external users
|
||||
{
|
||||
$thirdpartystatic = new Societe($db);
|
||||
$thirdpartystatic->fetch($user->socid);
|
||||
$companylink = ' '.$thirdpartystatic->getNomUrl(2); // picto only of company
|
||||
$company=' ('.$langs->trans("Company").': '.$thirdpartystatic->name.')';
|
||||
}
|
||||
$type=($user->socid?$langs->trans("External").$company:$langs->trans("Internal"));
|
||||
$dropdownBody.= '<br><b>' . $langs->trans("Type") . ':</b> ' . $type;
|
||||
$dropdownBody.= '<br><b>' . $langs->trans("Status").'</b>: '.$user->getLibStatut(0);
|
||||
|
||||
|
||||
$dropdownBody.= '<div id="toplogin-moreinfo" >';
|
||||
$dropdownBody.= '<br><u>'.$langs->trans("Connection").'</u>';
|
||||
$dropdownBody.= '<br><b>'.$langs->trans("IPAddress").'</b>: '.$_SERVER["REMOTE_ADDR"];
|
||||
if (! empty($conf->global->MAIN_MODULE_MULTICOMPANY)) $dropdownBody.= '<br><b>'.$langs->trans("ConnectedOnMultiCompany").':</b> '.$conf->entity.' (user entity '.$user->entity.')';
|
||||
$dropdownBody.= '<br><b>'.$langs->trans("AuthenticationMode").':</b> '.$_SESSION["dol_authmode"].(empty($dolibarr_main_demo)?'':' (demo)');
|
||||
$dropdownBody.= '<br><b>'.$langs->trans("ConnectedSince").':</b> '.dol_print_date($user->datelastlogin, "dayhour", 'tzuser');
|
||||
$dropdownBody.= '<br><b>'.$langs->trans("PreviousConnexion").':</b> '.dol_print_date($user->datepreviouslogin, "dayhour", 'tzuser');
|
||||
$dropdownBody.= '<br><b>'.$langs->trans("CurrentTheme").':</b> '.$conf->theme;
|
||||
$dropdownBody.= '<br><b>'.$langs->trans("CurrentMenuManager").':</b> '.$menumanager->name;
|
||||
$s=picto_from_langcode($langs->getDefaultLang());
|
||||
$dropdownBody.= '<br><b>'.$langs->trans("CurrentUserLanguage").':</b> '.($s?$s.' ':'').$langs->getDefaultLang();
|
||||
$dropdownBody.= '<br><b>'.$langs->trans("Browser").':</b> '.$conf->browser->name.($conf->browser->version?' '.$conf->browser->version:'').' ('.$_SERVER['HTTP_USER_AGENT'].')';
|
||||
$dropdownBody.= '<br><b>'.$langs->trans("Layout").':</b> '.$conf->browser->layout;
|
||||
$dropdownBody.= '<br><b>'.$langs->trans("Screen").':</b> '.$_SESSION['dol_screenwidth'].' x '.$_SESSION['dol_screenheight'];
|
||||
if ($conf->browser->layout == 'phone') $dropdownBody.= '<br><b>'.$langs->trans("Phone").':</b> '.$langs->trans("Yes");
|
||||
if (! empty($_SESSION["disablemodules"])) $dropdownBody.= '<br><b>'.$langs->trans("DisabledModules").':</b> <br>'.join(', ', explode(',', $_SESSION["disablemodules"]));
|
||||
|
||||
|
||||
// Execute hook
|
||||
$parameters=array('user'=>$user, 'langs' => $langs);
|
||||
$result=$hookmanager->executeHooks('printTopRightMenuLoginDropdownBody', $parameters); // Note that $action and $object may have been modified by some hooks
|
||||
if (is_numeric($result))
|
||||
{
|
||||
if ($result == 0){
|
||||
$dropdownBody.= $hookmanager->resPrint; // add
|
||||
}
|
||||
else{
|
||||
$dropdownBody = $hookmanager->resPrint; // replace
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
$logoutLink ='<a accesskey="l" href="'.DOL_URL_ROOT.'/user/logout.php" class="button-top-menu-dropdown" >'.$langs->trans("Logout").'</a>';
|
||||
$profilLink ='<a accesskey="l" href="'.DOL_URL_ROOT.'/user/card.php?id='.$user->id.'" class="button-top-menu-dropdown" >'.$langs->trans("Card").'</a>';
|
||||
|
||||
|
||||
$profilName = $user->getFullName($langs).' ('.$user->login.')';
|
||||
|
||||
if($user->admin){
|
||||
$profilName = '<i class="far fa-star" title="'.$langs->trans("Administrator").'" ></i> '.$profilName;
|
||||
}
|
||||
|
||||
$btnUser = '
|
||||
<div class="userimg atoplogin dropdown user user-menu open">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<div id="topmenu-login-dropdown" class="userimg atoplogin dropdown user user-menu">
|
||||
<a href="'.DOL_URL_ROOT.'/user/card.php?id='.$user->id.'" class="dropdown-toggle" data-toggle="dropdown">
|
||||
'.$userImage.'
|
||||
<span class="hidden-xs">'.($user->firstname ? $user->firstname : $user->login).'</span>
|
||||
</a>
|
||||
|
|
@ -1741,41 +1804,42 @@ function top_menu_user(user $user, $langs){
|
|||
<!-- User image -->
|
||||
<div class="user-header">
|
||||
'.$userDropDownImage.'
|
||||
|
||||
|
||||
<p>
|
||||
'.$user->getFullName($langs).'
|
||||
<small>'.dol_print_date($user->date_creation).'</small>
|
||||
'.$profilName.'
|
||||
<br/><small>'.dol_print_date(time()).$user->date_creation.'</small>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Menu Body -->
|
||||
<div class="user-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-4 text-center">
|
||||
<a href="#">btn01</a>
|
||||
</div>
|
||||
<div class="col-xs-4 text-center">
|
||||
<a href="#">btn02</a>
|
||||
</div>
|
||||
<div class="col-xs-4 text-center">
|
||||
<a href="#">btn03</a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.row -->
|
||||
</div>
|
||||
<div class="user-body">'.$dropdownBody.'</div>
|
||||
|
||||
<!-- Menu Footer-->
|
||||
<div class="user-footer">
|
||||
<div class="pull-left">
|
||||
<a href="#" class="btn btn-default btn-flat">Profile</a>
|
||||
'.$profilLink.'
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<a href="#" class="btn btn-default btn-flat">Sign out</a>
|
||||
'.$logoutLink.'
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(document).on("click", function(event) {
|
||||
if (!$(event.target).closest("#topmenu-login-dropdown").length) {
|
||||
// Hide the menus.
|
||||
$("#topmenu-login-dropdown").removeClass("open");
|
||||
}
|
||||
});
|
||||
|
||||
$("#topmenu-login-dropdown .dropdown-toggle").on("click", function(event) {
|
||||
event.preventDefault();
|
||||
$("#topmenu-login-dropdown").toggleClass("open");
|
||||
});
|
||||
|
||||
</script>
|
||||
';
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ if (! defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?>
|
|||
.open>.dropdown-menu {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.dropdown-menu {
|
||||
box-shadow: none;
|
||||
border-color: #eee;
|
||||
|
|
@ -42,15 +43,22 @@ if (! defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?>
|
|||
* MENU Dropdown
|
||||
*/
|
||||
|
||||
.tmenu .open.dropdown, .login_block .open.dropdown{
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.tmenu .dropdown-menu, .login_block .dropdown-menu {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
left: auto;
|
||||
line-height:1.3em;
|
||||
}
|
||||
.tmenu .dropdown-menu, .login_block .dropdown-menu .user-body {
|
||||
border-bottom-right-radius: 4px;
|
||||
border-bottom-left-radius: 4px;
|
||||
}
|
||||
.user-body {
|
||||
color: #333;
|
||||
}
|
||||
.side-nav-vert .user-menu .dropdown-menu {
|
||||
border-top-right-radius: 0;
|
||||
border-top-left-radius: 0;
|
||||
|
|
@ -70,17 +78,6 @@ if (! defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?>
|
|||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.dropdown-menu > li.user-header > img {
|
||||
z-index: 5;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
border: 3px solid;
|
||||
border-color: transparent;
|
||||
border-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
|
||||
|
||||
.dropdown-user-image {
|
||||
border-radius: 50%;
|
||||
vertical-align: middle;
|
||||
|
|
@ -98,4 +95,52 @@ if (! defined('ISLOADEDBYSTEELSHEET')) die('Must be call by steelsheet'); ?>
|
|||
background: rgb(<?php echo $colorbackhmenu1 ?>);
|
||||
}
|
||||
|
||||
.dropdown-menu > .user-footer {
|
||||
background-color: #f9f9f9;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.dropdown-menu > .user-footer:after {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.dropdown-menu > .user-body {
|
||||
padding: 15px;
|
||||
border-bottom: 1px solid #f4f4f4;
|
||||
border-top: 1px solid #dddddd;
|
||||
}
|
||||
|
||||
|
||||
.button-top-menu-dropdown {
|
||||
display: inline-block;
|
||||
padding: 6px 12px;
|
||||
margin-bottom: 0;
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 1.42857143;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: middle;
|
||||
-ms-touch-action: manipulation;
|
||||
touch-action: manipulation;
|
||||
cursor: pointer;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
background-image: none;
|
||||
border: 1px solid transparent;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.dropdown-menu > .user-footer .button-top-menu-dropdown {
|
||||
color: #666666;
|
||||
border-radius: 0;
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none;
|
||||
border-width: 1px;
|
||||
background-color: #f4f4f4;
|
||||
border-color: #ddd;
|
||||
}
|
||||
|
||||
|
|
@ -362,6 +362,9 @@ th .button {
|
|||
textarea.centpercent {
|
||||
width: 96%;
|
||||
}
|
||||
.small, small {
|
||||
font-size: 85%;
|
||||
}
|
||||
.center {
|
||||
text-align: center;
|
||||
margin: 0px auto;
|
||||
|
|
@ -375,6 +378,12 @@ textarea.centpercent {
|
|||
.justify {
|
||||
text-align: justify;
|
||||
}
|
||||
.pull-left {
|
||||
float: left!important;
|
||||
}
|
||||
.pull-right {
|
||||
float: right!important;
|
||||
}
|
||||
.nowrap {
|
||||
white-space: <?php print ($dol_optimize_smallscreen?'normal':'nowrap'); ?>;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user