From 3af27d17abd31478ae9d6949e4f140e34f21ce22 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 5 Aug 2012 21:14:17 +0200 Subject: [PATCH] Add param to force to hide menu from login page --- htdocs/core/tpl/login.tpl.php | 2 + htdocs/main.inc.php | 522 +++++++++++++++++----------------- 2 files changed, 268 insertions(+), 256 deletions(-) diff --git a/htdocs/core/tpl/login.tpl.php b/htdocs/core/tpl/login.tpl.php index 277194635f5..61d398b1b48 100644 --- a/htdocs/core/tpl/login.tpl.php +++ b/htdocs/core/tpl/login.tpl.php @@ -69,6 +69,8 @@ $(document).ready(function () { + + diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index ecc7f13edf9..0386b5135fe 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -547,6 +547,8 @@ if (! defined('NOLOGIN')) $_SESSION["dol_screenheight"]=isset($dol_screenheight)?$dol_screenheight:''; $_SESSION["dol_company"]=$conf->global->MAIN_INFO_SOCIETE_NOM; $_SESSION["dol_entity"]=$conf->entity; + if (GETPOST('dol_hide_topmenu')) $_SESSION['dol_hide_topmenu']=1; + if (GETPOST('dol_hide_leftmenu')) $_SESSION['dol_hide_leftmenu']=1; dol_syslog("This is a new started user session. _SESSION['dol_login']=".$_SESSION["dol_login"].' Session id='.session_id()); $db->begin(); @@ -788,8 +790,12 @@ if (! function_exists("llxHeader")) function llxHeader($head = '', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='') { top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss); // Show html headers - top_menu($head, $title, $target, $disablejs, $disablehead, $arrayofjs, $arrayofcss, $morequerystring); - if (empty($conf->global->MAIN_HIDE_LEFT_MENU)) { + if (empty($conf->global->MAIN_HIDE_TOP_MENU)) + { + top_menu($head, $title, $target, $disablejs, $disablehead, $arrayofjs, $arrayofcss, $morequerystring); + } + if (empty($conf->global->MAIN_HIDE_LEFT_MENU)) + { left_menu('', $help_url, '', '', 1, $title); } main_area($title); @@ -1217,104 +1223,107 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print '
'."\n"; - print '
'."\n"; - - // Show menu - $menutop = new MenuTop($db); - $menutop->atarget=$target; - $menutop->showmenu(); // This contains a \n - - print "
\n"; - - // Link to login card - $loginhtmltext=''; $logintext=''; - if ($user->societe_id) + if (empty($_SESSION['dol_hide_topmenu'])) { - $thirdpartystatic=new Societe($db); - $thirdpartystatic->fetch($user->societe_id); - $companylink=' ('.$thirdpartystatic->getNomUrl('','').')'; - $company=' ('.$langs->trans("Company").': '.$thirdpartystatic->name.')'; + print '
'."\n"; + + // Show menu + $menutop = new MenuTop($db); + $menutop->atarget=$target; + $menutop->showmenu(); // This contains a \n + + print "
\n"; + + // Link to login card + $loginhtmltext=''; $logintext=''; + if ($user->societe_id) + { + $thirdpartystatic=new Societe($db); + $thirdpartystatic->fetch($user->societe_id); + $companylink=' ('.$thirdpartystatic->getNomUrl('','').')'; + $company=' ('.$langs->trans("Company").': '.$thirdpartystatic->name.')'; + } + $logintext=''; + $loginhtmltext.=''.$langs->trans("User").''; + $loginhtmltext.='
'.$langs->trans("Name").': '.$user->getFullName($langs); + $loginhtmltext.='
'.$langs->trans("Login").': '.$user->login; + $loginhtmltext.='
'.$langs->trans("Administrator").': '.yn($user->admin); + $type=($user->societe_id?$langs->trans("External").$company:$langs->trans("Internal")); + $loginhtmltext.='
'.$langs->trans("Type").': '.$type; + $loginhtmltext.='
'.$langs->trans("IPAddress").': '.$_SERVER["REMOTE_ADDR"]; + $loginhtmltext.='
'; + $loginhtmltext.='
'.$langs->trans("Connection").''; + if (! empty($conf->global->MAIN_MODULE_MULTICOMPANY)) $loginhtmltext.='
'.$langs->trans("ConnectedOnMultiCompany").': '.$conf->entity.' (user entity '.$user->entity.')'; + $loginhtmltext.='
'.$langs->trans("ConnectedSince").': '.dol_print_date($user->datelastlogin,"dayhour"); + $loginhtmltext.='
'.$langs->trans("PreviousConnexion").': '.dol_print_date($user->datepreviouslogin,"dayhour"); + $loginhtmltext.='
'.$langs->trans("AuthenticationMode").': '.$_SESSION["dol_authmode"]; + $loginhtmltext.='
'.$langs->trans("CurrentTheme").': '.$conf->theme; + $s=picto_from_langcode($langs->getDefaultLang()); + $loginhtmltext.='
'.$langs->trans("CurrentUserLanguage").': '.($s?$s.' ':'').$langs->getDefaultLang(); + $loginhtmltext.='
'.$langs->trans("Browser").': '.$conf->browser->name.($conf->browser->version?' '.$conf->browser->version:'').' ('.$_SERVER['HTTP_USER_AGENT'].')'; + if (! empty($conf->browser->phone)) $loginhtmltext.='
'.$langs->trans("Phone").': '.$conf->browser->phone; + if (! empty($_SESSION["disablemodules"])) $loginhtmltext.='
'.$langs->trans("DisabledModules").':
'.join(', ',explode(',',$_SESSION["disablemodules"])); + + $appli='Dolibarr'; + if (! empty($conf->global->MAIN_APPLICATION_TITLE)) $appli=$conf->global->MAIN_APPLICATION_TITLE; + + // Link info + $logouttext=''; + $logouthtmltext=$appli.' '.DOL_VERSION.'
'; + $logouthtmltext.=$langs->trans("Logout").'
'; + //$logouthtmltext.="
"; + if ($_SESSION["dol_authmode"] != 'forceuser' + && $_SESSION["dol_authmode"] != 'http') + { + $logouttext.='atarget?(' target="'.$menutop->atarget.'"'):''; + $logouttext.='>'; + $logouttext.='trans("Logout")).'" title=""'; + $logouttext.='>'; + $logouttext.=''; + } + else + { + $logouttext.='trans("Logout")).'" title=""'; + $logouttext.='>'; + } + + print '
'; + + $form=new Form($db); + + $toprightmenu.=$form->textwithtooltip('',$loginhtmltext,2,1,$logintext,'',1); + + // Execute hook printTopRightMenu (hooks should output string like '') + $parameters=array(); + $toprightmenu.=$hookmanager->executeHooks('printTopRightMenu',$parameters); // Note that $action and $object may have been modified by some hooks + + // Logout link + $toprightmenu.=$form->textwithtooltip('',$logouthtmltext,2,1,$logouttext,'',1); + + // Link to print main content area + if (empty($conf->global->MAIN_PRINT_DISABLELINK) && empty($conf->browser->phone)) + { + $qs=$_SERVER["QUERY_STRING"].($_SERVER["QUERY_STRING"]?'&':'').$morequerystring; + $text =''; + $text.='textwithtooltip('',$langs->trans("PrintContentArea"),2,1,$text,'',1); + } + + print $toprightmenu; + + print '
'."\n"; + print "\n"; } - $logintext='
atarget?(' target="'.$menutop->atarget.'"'):''; - $logintext.='>'.$user->login.''; - if ($user->societe_id) $logintext.=$companylink; - $logintext.='
'; - $loginhtmltext.=''.$langs->trans("User").''; - $loginhtmltext.='
'.$langs->trans("Name").': '.$user->getFullName($langs); - $loginhtmltext.='
'.$langs->trans("Login").': '.$user->login; - $loginhtmltext.='
'.$langs->trans("Administrator").': '.yn($user->admin); - $type=($user->societe_id?$langs->trans("External").$company:$langs->trans("Internal")); - $loginhtmltext.='
'.$langs->trans("Type").': '.$type; - $loginhtmltext.='
'.$langs->trans("IPAddress").': '.$_SERVER["REMOTE_ADDR"]; - $loginhtmltext.='
'; - $loginhtmltext.='
'.$langs->trans("Connection").''; - if (! empty($conf->global->MAIN_MODULE_MULTICOMPANY)) $loginhtmltext.='
'.$langs->trans("ConnectedOnMultiCompany").': '.$conf->entity.' (user entity '.$user->entity.')'; - $loginhtmltext.='
'.$langs->trans("ConnectedSince").': '.dol_print_date($user->datelastlogin,"dayhour"); - $loginhtmltext.='
'.$langs->trans("PreviousConnexion").': '.dol_print_date($user->datepreviouslogin,"dayhour"); - $loginhtmltext.='
'.$langs->trans("AuthenticationMode").': '.$_SESSION["dol_authmode"]; - $loginhtmltext.='
'.$langs->trans("CurrentTheme").': '.$conf->theme; - $s=picto_from_langcode($langs->getDefaultLang()); - $loginhtmltext.='
'.$langs->trans("CurrentUserLanguage").': '.($s?$s.' ':'').$langs->getDefaultLang(); - $loginhtmltext.='
'.$langs->trans("Browser").': '.$conf->browser->name.($conf->browser->version?' '.$conf->browser->version:'').' ('.$_SERVER['HTTP_USER_AGENT'].')'; - if (! empty($conf->browser->phone)) $loginhtmltext.='
'.$langs->trans("Phone").': '.$conf->browser->phone; - if (! empty($_SESSION["disablemodules"])) $loginhtmltext.='
'.$langs->trans("DisabledModules").':
'.join(', ',explode(',',$_SESSION["disablemodules"])); - - $appli='Dolibarr'; - if (! empty($conf->global->MAIN_APPLICATION_TITLE)) $appli=$conf->global->MAIN_APPLICATION_TITLE; - - // Link info - $logouttext=''; - $logouthtmltext=$appli.' '.DOL_VERSION.'
'; - $logouthtmltext.=$langs->trans("Logout").'
'; - //$logouthtmltext.="
"; - if ($_SESSION["dol_authmode"] != 'forceuser' - && $_SESSION["dol_authmode"] != 'http') - { - $logouttext.='atarget?(' target="'.$menutop->atarget.'"'):''; - $logouttext.='>'; - $logouttext.='trans("Logout")).'" title=""'; - $logouttext.='>'; - $logouttext.=''; - } - else - { - $logouttext.='trans("Logout")).'" title=""'; - $logouttext.='>'; - } - - print '
'."\n"; - print ''; - - $form=new Form($db); - - $toprightmenu.=$form->textwithtooltip('',$loginhtmltext,2,1,$logintext,'',1); - - // Execute hook printTopRightMenu (hooks should output string like '') - $parameters=array(); - $toprightmenu.=$hookmanager->executeHooks('printTopRightMenu',$parameters); // Note that $action and $object may have been modified by some hooks - - // Logout link - $toprightmenu.=$form->textwithtooltip('',$logouthtmltext,2,1,$logouttext,'',1); - - // Link to print main content area - if (empty($conf->global->MAIN_PRINT_DISABLELINK) && empty($conf->browser->phone)) - { - $qs=$_SERVER["QUERY_STRING"].($_SERVER["QUERY_STRING"]?'&':'').$morequerystring; - $text =''; - $text.='textwithtooltip('',$langs->trans("PrintContentArea"),2,1,$text,'',1); - } - - print $toprightmenu; - - print '
'."\n"; - print "
\n"; if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print "\n"; @@ -1355,168 +1364,169 @@ function left_menu($menu_array_before, $helppagename='', $moresearchform='', $me } $hookmanager->initHooks(array('searchform','leftblock')); - if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print "\n".'
'."\n"; - else print ''; + if (empty($_SESSION['dol_hide_leftmenu'])) + { + if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print "\n".'
'."\n"; + else print ''; - print "\n"; + print "\n"; - // Define $searchform - if (! empty($conf->societe->enabled) && ! empty($conf->global->MAIN_SEARCHFORM_SOCIETE) && $user->rights->societe->lire) - { - $langs->load("companies"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/societe/societe.php', DOL_URL_ROOT.'/societe/societe.php', img_object('','company').' '.$langs->trans("ThirdParties"), 'soc', 'socname'); + // Define $searchform + if (! empty($conf->societe->enabled) && ! empty($conf->global->MAIN_SEARCHFORM_SOCIETE) && $user->rights->societe->lire) + { + $langs->load("companies"); + $searchform.=printSearchForm(DOL_URL_ROOT.'/societe/societe.php', DOL_URL_ROOT.'/societe/societe.php', img_object('','company').' '.$langs->trans("ThirdParties"), 'soc', 'socname'); + } + + if (! empty($conf->societe->enabled) && ! empty($conf->global->MAIN_SEARCHFORM_CONTACT) && $user->rights->societe->lire) + { + $langs->load("companies"); + $searchform.=printSearchForm(DOL_URL_ROOT.'/contact/list.php', DOL_URL_ROOT.'/contact/list.php', img_object('','contact').' '.$langs->trans("Contacts"), 'contact', 'contactname'); + } + + if (((! empty($conf->product->enabled) && $user->rights->produit->lire) || (! empty($conf->service->enabled) && $user->rights->service->lire)) + && ! empty($conf->global->MAIN_SEARCHFORM_PRODUITSERVICE)) + { + $langs->load("products"); + $searchform.=printSearchForm(DOL_URL_ROOT.'/product/liste.php', DOL_URL_ROOT.'/product/liste.php', img_object('','product').' '.$langs->trans("Products")."/".$langs->trans("Services"), 'products', 'sall'); + } + + if (! empty($conf->adherent->enabled) && ! empty($conf->global->MAIN_SEARCHFORM_ADHERENT) && $user->rights->adherent->lire) + { + $langs->load("members"); + $searchform.=printSearchForm(DOL_URL_ROOT.'/adherents/liste.php', DOL_URL_ROOT.'/adherents/liste.php', img_object('','user').' '.$langs->trans("Members"), 'member', 'sall'); + } + + // Execute hook printSearchForm + $parameters=array(); + $searchform.=$hookmanager->executeHooks('printSearchForm',$parameters); // Note that $action and $object may have been modified by some hooks + + // Define $bookmarks + if ($conf->bookmark->enabled && $user->rights->bookmark->lire) + { + include_once (DOL_DOCUMENT_ROOT.'/bookmarks/bookmarks.lib.php'); + $langs->load("bookmarks"); + + $bookmarks=printBookmarksList($db, $langs); + } + + $left_menu=empty($conf->browser->phone)?$conf->top_menu:$conf->smart_menu; + if (GETPOST('menu')) $left_menu=GETPOST('menu'); // menu=eldy_backoffice.php + + // Load the top menu manager (only if not already done) + if (! class_exists('MenuLeft')) + { + $menufound=0; + $dirmenus=array_merge(array("/core/menus/"),(array) $conf->modules_parts['menus']); + foreach($dirmenus as $dirmenu) + { + $menufound=dol_include_once($dirmenu."standard/".$left_menu); + if ($menufound) break; + } + if (! $menufound) // If failed to include, we try with standard + { + $top_menu='eldy_backoffice.php'; + include_once(DOL_DOCUMENT_ROOT."/core/menus/standard/".$top_menu); + } + } + + // Left column + print ''."\n"; + + print '
'."\n"; + + $menuleft=new MenuLeft($db,$menu_array_before,$menu_array_after); + $menuleft->showmenu(); // output menu_array and menu found in database + + + // Show other forms + if ($searchform) + { + print "\n"; + print "\n"; + print '
'."\n"; + print $searchform; + print '
'."\n"; + print "\n"; + } + + // More search form + if ($moresearchform) + { + print $moresearchform; + } + + // Bookmarks + if ($bookmarks) + { + print "\n"; + print "\n"; + print '
'."\n"; + print $bookmarks; + print '
'."\n"; + print "\n"; + } + + // Link to Dolibarr wiki pages + if ($helppagename && empty($conf->global->MAIN_HELP_DISABLELINK)) + { + $langs->load("help"); + + $helpbaseurl=''; + $helppage=''; + $mode=''; + + // Get helpbaseurl, helppage and mode from helppagename and langs + $arrayres=getHelpParamFor($helppagename,$langs); + $helpbaseurl=$arrayres['helpbaseurl']; + $helppage=$arrayres['helppage']; + $mode=$arrayres['mode']; + + // Link to help pages + if ($helpbaseurl && $helppage) + { + print '
'; + } + } + + // Link to bugtrack + if (! empty($conf->global->MAIN_SHOW_BUGTRACK_LINK)) + { + $bugbaseurl='http://savannah.nongnu.org/bugs/?'; + $bugbaseurl.='func=additem&group=dolibarr&privacy=1&'; + $bugbaseurl.="&details="; + $bugbaseurl.=urlencode("\n\n\n\n\n-------------\n"); + $bugbaseurl.=urlencode($langs->trans("Version").": ".DOL_VERSION."\n"); + $bugbaseurl.=urlencode($langs->trans("Server").": ".$_SERVER["SERVER_SOFTWARE"]."\n"); + $bugbaseurl.=urlencode($langs->trans("Url").": ".$_SERVER["REQUEST_URI"]."\n"); + print ''; + } + print "\n"; + + print "
\n"; + print "\n"; + + print "\n"; + + // Execute hook printLeftBlock + $parameters=array(); + $leftblock=$hookmanager->executeHooks('printLeftBlock',$parameters); // Note that $action and $object may have been modified by some hooks + print $leftblock; + + if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print '
'."\n"; + else print ''; } - if (! empty($conf->societe->enabled) && ! empty($conf->global->MAIN_SEARCHFORM_CONTACT) && $user->rights->societe->lire) - { - $langs->load("companies"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/contact/list.php', DOL_URL_ROOT.'/contact/list.php', img_object('','contact').' '.$langs->trans("Contacts"), 'contact', 'contactname'); - } - - if (((! empty($conf->product->enabled) && $user->rights->produit->lire) || (! empty($conf->service->enabled) && $user->rights->service->lire)) - && ! empty($conf->global->MAIN_SEARCHFORM_PRODUITSERVICE)) - { - $langs->load("products"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/product/liste.php', DOL_URL_ROOT.'/product/liste.php', img_object('','product').' '.$langs->trans("Products")."/".$langs->trans("Services"), 'products', 'sall'); - } - - if (! empty($conf->adherent->enabled) && ! empty($conf->global->MAIN_SEARCHFORM_ADHERENT) && $user->rights->adherent->lire) - { - $langs->load("members"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/adherents/liste.php', DOL_URL_ROOT.'/adherents/liste.php', img_object('','user').' '.$langs->trans("Members"), 'member', 'sall'); - } - - // Execute hook printSearchForm - $parameters=array(); - $searchform.=$hookmanager->executeHooks('printSearchForm',$parameters); // Note that $action and $object may have been modified by some hooks - - // Define $bookmarks - if ($conf->bookmark->enabled && $user->rights->bookmark->lire) - { - include_once (DOL_DOCUMENT_ROOT.'/bookmarks/bookmarks.lib.php'); - $langs->load("bookmarks"); - - $bookmarks=printBookmarksList($db, $langs); - } - - $left_menu=empty($conf->browser->phone)?$conf->top_menu:$conf->smart_menu; - if (GETPOST('menu')) $left_menu=GETPOST('menu'); // menu=eldy_backoffice.php - - // Load the top menu manager (only if not already done) - if (! class_exists('MenuLeft')) - { - $menufound=0; - $dirmenus=array_merge(array("/core/menus/"),(array) $conf->modules_parts['menus']); - foreach($dirmenus as $dirmenu) - { - $menufound=dol_include_once($dirmenu."standard/".$left_menu); - if ($menufound) break; - } - if (! $menufound) // If failed to include, we try with standard - { - $top_menu='eldy_backoffice.php'; - include_once(DOL_DOCUMENT_ROOT."/core/menus/standard/".$top_menu); - } - } - - // Left column - print ''."\n"; - - print '
'."\n"; - - $menuleft=new MenuLeft($db,$menu_array_before,$menu_array_after); - $menuleft->showmenu(); // output menu_array and menu found in database - - - // Show other forms - if ($searchform) - { - print "\n"; - print "\n"; - print '
'."\n"; - print $searchform; - print '
'."\n"; - print "\n"; - } - - // More search form - if ($moresearchform) - { - print $moresearchform; - } - - // Bookmarks - if ($bookmarks) - { - print "\n"; - print "\n"; - print '
'."\n"; - print $bookmarks; - print '
'."\n"; - print "\n"; - } - - // Link to Dolibarr wiki pages - if ($helppagename && empty($conf->global->MAIN_HELP_DISABLELINK)) - { - $langs->load("help"); - - $helpbaseurl=''; - $helppage=''; - $mode=''; - - // Get helpbaseurl, helppage and mode from helppagename and langs - $arrayres=getHelpParamFor($helppagename,$langs); - $helpbaseurl=$arrayres['helpbaseurl']; - $helppage=$arrayres['helppage']; - $mode=$arrayres['mode']; - - // Link to help pages - if ($helpbaseurl && $helppage) - { - print ''; - } - } - - // Link to bugtrack - if (! empty($conf->global->MAIN_SHOW_BUGTRACK_LINK)) - { - $bugbaseurl='http://savannah.nongnu.org/bugs/?'; - $bugbaseurl.='func=additem&group=dolibarr&privacy=1&'; - $bugbaseurl.="&details="; - $bugbaseurl.=urlencode("\n\n\n\n\n-------------\n"); - $bugbaseurl.=urlencode($langs->trans("Version").": ".DOL_VERSION."\n"); - $bugbaseurl.=urlencode($langs->trans("Server").": ".$_SERVER["SERVER_SOFTWARE"]."\n"); - $bugbaseurl.=urlencode($langs->trans("Url").": ".$_SERVER["REQUEST_URI"]."\n"); - print ''; - } - print "\n"; - - print "
\n"; - print "\n"; - - print "\n"; - - // Execute hook printLeftBlock - $parameters=array(); - $leftblock=$hookmanager->executeHooks('printLeftBlock',$parameters); // Note that $action and $object may have been modified by some hooks - print $leftblock; - - if (! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print '
'."\n"; - else print ''; - - print "\n"; - print ''."\n"; print "\n"; print ''."\n";