diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php
index abdb098eb7d..a440940d76d 100644
--- a/htdocs/core/lib/project.lib.php
+++ b/htdocs/core/lib/project.lib.php
@@ -1512,27 +1512,29 @@ function projectLinesPerDay(&$inc, $parent, $fuser, $lines, &$level, &$projectsr
print '';
}
- // Time spent by everybody
- print '
';
- // $lines[$i]->duration is a denormalised field = summ of time spent by everybody for task. What we need is time consummed by user
- if ($lines[$i]->duration) {
- print '';
- print convertSecondToTime($lines[$i]->duration, 'allhourmin');
- print ' ';
- } else {
- print '--:--';
- }
- print " \n";
+ if (!empty($arrayfields['timeconsumed']['checked'])) {
+ // Time spent by everybody
+ print '';
+ // $lines[$i]->duration is a denormalised field = summ of time spent by everybody for task. What we need is time consummed by user
+ if ($lines[$i]->duration) {
+ print '';
+ print convertSecondToTime($lines[$i]->duration, 'allhourmin');
+ print ' ';
+ } else {
+ print '--:--';
+ }
+ print " \n";
- // Time spent by user
- print '';
- $tmptimespent = $taskstatic->getSummaryOfTimeSpent($fuser->id);
- if ($tmptimespent['total_duration']) {
- print convertSecondToTime($tmptimespent['total_duration'], 'allhourmin');
- } else {
- print '--:--';
+ // Time spent by user
+ print ' ';
+ $tmptimespent = $taskstatic->getSummaryOfTimeSpent($fuser->id);
+ if ($tmptimespent['total_duration']) {
+ print convertSecondToTime($tmptimespent['total_duration'], 'allhourmin');
+ } else {
+ print '--:--';
+ }
+ print " \n";
}
- print "\n";
$disabledproject = 1;
$disabledtask = 1;
@@ -1903,27 +1905,29 @@ function projectLinesPerWeek(&$inc, $firstdaytoshow, $fuser, $parent, $lines, &$
print '';
}
- // Time spent by everybody
- print '';
- // $lines[$i]->duration is a denormalised field = summ of time spent by everybody for task. What we need is time consummed by user
- if ($lines[$i]->duration) {
- print '';
- print convertSecondToTime($lines[$i]->duration, 'allhourmin');
- print ' ';
- } else {
- print '--:--';
- }
- print " \n";
+ if (!empty($arrayfields['timeconsumed']['checked'])) {
+ // Time spent by everybody
+ print '';
+ // $lines[$i]->duration is a denormalised field = summ of time spent by everybody for task. What we need is time consummed by user
+ if ($lines[$i]->duration) {
+ print '';
+ print convertSecondToTime($lines[$i]->duration, 'allhourmin');
+ print ' ';
+ } else {
+ print '--:--';
+ }
+ print " \n";
- // Time spent by user
- print '';
- $tmptimespent = $taskstatic->getSummaryOfTimeSpent($fuser->id);
- if ($tmptimespent['total_duration']) {
- print convertSecondToTime($tmptimespent['total_duration'], 'allhourmin');
- } else {
- print '--:--';
+ // Time spent by user
+ print ' ';
+ $tmptimespent = $taskstatic->getSummaryOfTimeSpent($fuser->id);
+ if ($tmptimespent['total_duration']) {
+ print convertSecondToTime($tmptimespent['total_duration'], 'allhourmin');
+ } else {
+ print '--:--';
+ }
+ print " \n";
}
- print "\n";
$disabledproject = 1;
$disabledtask = 1;
diff --git a/htdocs/projet/activity/perday.php b/htdocs/projet/activity/perday.php
index fc5ea53e98a..44ed79c2520 100644
--- a/htdocs/projet/activity/perday.php
+++ b/htdocs/projet/activity/perday.php
@@ -61,10 +61,6 @@ $socid = 0;
$result = restrictedArea($user, 'projet', $projectid);
$now = dol_now();
-$nowtmp = dol_getdate($now);
-$nowday = $nowtmp['mday'];
-$nowmonth = $nowtmp['mon'];
-$nowyear = $nowtmp['year'];
$year = GETPOST('reyear', 'int') ?GETPOST('reyear', 'int') : (GETPOST("year", "int") ?GETPOST("year", "int") : (GETPOST("addtimeyear", "int") ?GETPOST("addtimeyear", "int") : date("Y")));
$month = GETPOST('remonth', 'int') ?GETPOST('remonth', 'int') : (GETPOST("month", "int") ?GETPOST("month", "int") : (GETPOST("addtimemonth", "int") ?GETPOST("addtimemonth", "int") : date("m")));
@@ -73,7 +69,7 @@ $week = GETPOST("week", "int") ?GETPOST("week", "int") : date("W");
$day = (int) $day;
-$search_categ = GETPOST("search_categ", 'alpha');
+//$search_categ = GETPOST("search_categ", 'alpha');
$search_usertoprocessid = GETPOST('search_usertoprocessid', 'int');
$search_task_ref = GETPOST('search_task_ref', 'alpha');
$search_task_label = GETPOST('search_task_label', 'alpha');
@@ -117,6 +113,7 @@ $extrafields->fetch_name_optionals_label($object->table_element);
$arrayfields = array();
$arrayfields['t.planned_workload'] = array('label'=>'PlannedWorkload', 'checked'=>1, 'enabled'=>1, 'position'=>0);
$arrayfields['t.progress'] = array('label'=>'ProgressDeclared', 'checked'=>1, 'enabled'=>1, 'position'=>0);
+$arrayfields['timeconsumed'] = array('label'=>'TimeConsumed', 'checked'=>1, 'enabled'=>1, 'position'=>15);
/*$arrayfields=array(
// Project
'p.opp_amount'=>array('label'=>$langs->trans("OpportunityAmountShort"), 'checked'=>0, 'enabled'=>($conf->global->PROJECT_USE_OPPORTUNITIES?1:0), 'position'=>103),
@@ -153,7 +150,7 @@ if ($reshook < 0) {
// Purge criteria
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers
$action = '';
- $search_categ = '';
+ //$search_categ = '';
$search_usertoprocessid = $user->id;
$search_task_ref = '';
$search_task_label = '';
@@ -403,12 +400,13 @@ llxHeader("", $title, "", '', '', '', array('/core/js/timesheet.js'));
$param = '';
$param .= ($mode ? '&mode='.urlencode($mode) : '');
$param .= ($search_project_ref ? '&search_project_ref='.urlencode($search_project_ref) : '');
-$param .= ($search_usertoprocessid ? '&search_usertoprocessid='.urlencode($search_usertoprocessid) : '');
+$param .= ($search_usertoprocessid > 0 ? '&search_usertoprocessid='.urlencode($search_usertoprocessid) : '');
$param .= ($search_thirdparty ? '&search_thirdparty='.urlencode($search_thirdparty) : '');
$param .= ($search_task_ref ? '&search_task_ref='.urlencode($search_task_ref) : '');
$param .= ($search_task_label ? '&search_task_label='.urlencode($search_task_label) : '');
-/*$search_array_options=$search_array_options_project;
+/*
+$search_array_options = $search_array_options_project;
$search_options_pattern='search_options_';
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
*/
@@ -422,9 +420,7 @@ $nav = '".dol_print_date(dol_mktime(0, 0, 0, $month, $day, $year), "day")." \n";
$nav .= ' '.img_next($langs->trans("Next"))." \n";
-//$nav .= " (".$langs->trans("Today")." )";
$nav .= ' '.$form->selectDate(-1, '', 0, 0, 2, "addtime", 1, 1).' ';
-//$nav .= ' ';
$nav .= ' ';
$picto = 'clock';
@@ -561,14 +557,16 @@ $search_options_pattern = 'search_task_options_';
$extrafieldsobjectkey = 'projet_task';
$extrafieldsobjectprefix = 'efpt.';
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php';
-print ' ';
if (!empty($arrayfields['t.planned_workload']['checked'])) {
- print ' ';
-}
-if (!empty($arrayfields['t.progress']['checked'])) {
print ' ';
}
-print ' ';
+if (!empty($arrayfields['t.progress']['checked'])) {
+ print ' ';
+}
+if (!empty($arrayfields['timeconsumed']['checked'])) {
+ print ' ';
+ print ' ';
+}
print ' ';
print ' ';
print ' ';
@@ -592,21 +590,20 @@ $extrafieldsobjectkey = 'projet_task';
$extrafieldsobjectprefix = 'efpt.';
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php';
if (!empty($arrayfields['t.planned_workload']['checked'])) {
- print ''.$langs->trans("PlannedWorkload").' ';
+ print ''.$langs->trans("PlannedWorkload").' ';
}
if (!empty($arrayfields['t.progress']['checked'])) {
print ''.$langs->trans("ProgressDeclared").' ';
}
-/*print ''.$langs->trans("TimeSpent").' ';
-if ($usertoprocess->id == $user->id) print ''.$langs->trans("TimeSpentByYou").' ';
-else print ''.$langs->trans("TimeSpentByUser").' ';*/
-print ''.$langs->trans("TimeSpent").' ';
-print '';
-print ' ';
-print ''.$langs->trans("Everybody").' ';
-print ' ';
-print ' ';
-print ''.$langs->trans("TimeSpent").($usertoprocess->firstname ? ' '.$usertoprocess->getNomUrl(-2).''.dol_trunc($usertoprocess->firstname, 10).' ' : '').' ';
+if (!empty($arrayfields['timeconsumed']['checked'])) {
+ print ''.$langs->trans("TimeSpent").' ';
+ print '';
+ print ' ';
+ print ''.$langs->trans("Everybody").' ';
+ print ' ';
+ print ' ';
+ print ''.$langs->trans("TimeSpent").($usertoprocess->firstname ? ' '.$usertoprocess->getNomUrl(-2).''.dol_trunc($usertoprocess->firstname, 10).' ' : '').' ';
+}
print ''.$langs->trans("HourStart").'';
// By default, we can edit only tasks we are assigned to
@@ -658,13 +655,17 @@ print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $
print "\n";
-$colspan = 4 + (empty($conf->global->PROJECT_TIMESHEET_DISABLEBREAK_ON_PROJECT) ? 0 : 2);
+$colspan = 2 + (empty($conf->global->PROJECT_TIMESHEET_DISABLEBREAK_ON_PROJECT) ? 0 : 2);
if ($conf->use_javascript_ajax) {
print ' ';
print '';
print $langs->trans("Total");
print ' ';
+ if (!empty($arrayfields['timeconsumed']['checked'])) {
+ print ' ';
+ print ' ';
+ }
print '';
//print ' - '.$langs->trans("ExpectedWorkedHours").': '.price($usertoprocess->weeklyhours, 1, $langs, 0, 0).' ';
print ' ';
@@ -723,6 +724,10 @@ if (count($tasksarray) > 0) {
print '';
print $langs->trans("OtherFilteredTasks");
print ' ';
+ if (!empty($arrayfields['timeconsumed']['checked'])) {
+ print ' ';
+ print ' ';
+ }
print ' ';
print '';
$timeonothertasks = ($totalforeachday[$daytoparse] - $totalforvisibletasks[$daytoparse]);
@@ -745,6 +750,10 @@ if (count($tasksarray) > 0) {
print ' ';
print $langs->trans("Total");
print ' ';
+ if (!empty($arrayfields['timeconsumed']['checked'])) {
+ print ' ';
+ print ' ';
+ }
print '';
//print ' - '.$langs->trans("ExpectedWorkedHours").': '.price($usertoprocess->weeklyhours, 1, $langs, 0, 0).' ';
print ' ';
diff --git a/htdocs/projet/activity/permonth.php b/htdocs/projet/activity/permonth.php
index 5fd76694c34..31067d2e312 100644
--- a/htdocs/projet/activity/permonth.php
+++ b/htdocs/projet/activity/permonth.php
@@ -57,10 +57,6 @@ $socid = 0;
$result = restrictedArea($user, 'projet', $projectid);
$now = dol_now();
-$nowtmp = dol_getdate($now);
-$nowday = $nowtmp['mday'];
-$nowmonth = $nowtmp['mon'];
-$nowyear = $nowtmp['year'];
$year = GETPOST('reyear') ?GETPOST('reyear', 'int') : (GETPOST("year") ?GETPOST("year", "int") : date("Y"));
$month = GETPOST('remonth') ?GETPOST('remonth', 'int') : (GETPOST("month") ?GETPOST("month", "int") : date("m"));
@@ -68,7 +64,7 @@ $day = GETPOST('reday') ?GETPOST('reday', 'int') : (GETPOST("day") ?GETPOST("day
$day = (int) $day;
$week = GETPOST("week", "int") ?GETPOST("week", "int") : date("W");
-$search_categ = GETPOST("search_categ", 'alpha');
+//$search_categ = GETPOST("search_categ", 'alpha');
$search_usertoprocessid = GETPOST('search_usertoprocessid', 'int');
$search_task_ref = GETPOST('search_task_ref', 'alpha');
$search_task_label = GETPOST('search_task_label', 'alpha');
@@ -119,7 +115,7 @@ if ($reshook < 0) {
// Purge criteria
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers
$action = '';
- $search_categ = '';
+ //$search_categ = '';
$search_usertoprocessid = $user->id;
$search_task_ref = '';
$search_task_label = '';
@@ -349,9 +345,7 @@ $param .= ($search_task_label ? '&search_task_label='.$search_task_label : '');
$nav = ''.img_previous($langs->trans("Previous"))." \n";
$nav .= " ".dol_print_date(dol_mktime(0, 0, 0, $month, 1, $year), "%Y").", ".$langs->trans(date('F', mktime(0, 0, 0, $month, 10)))." \n";
$nav .= ''.img_next($langs->trans("Next"))." \n";
-//$nav.=" (".$langs->trans("Today")." )";
$nav .= ' '.$form->selectDate(-1, '', 0, 0, 2, "addtime", 1, 1).' ';
-//$nav.=' ';
$nav .= ' ';
$picto = 'clock';
diff --git a/htdocs/projet/activity/perweek.php b/htdocs/projet/activity/perweek.php
index 4201fca41b6..fdf6e492361 100644
--- a/htdocs/projet/activity/perweek.php
+++ b/htdocs/projet/activity/perweek.php
@@ -61,10 +61,6 @@ $socid = 0;
$result = restrictedArea($user, 'projet', $projectid);
$now = dol_now();
-$nowtmp = dol_getdate($now);
-$nowday = $nowtmp['mday'];
-$nowmonth = $nowtmp['mon'];
-$nowyear = $nowtmp['year'];
$year = GETPOST('reyear', 'int') ?GETPOST('reyear', 'int') : (GETPOST("year", 'int') ?GETPOST("year", "int") : date("Y"));
$month = GETPOST('remonth', 'int') ?GETPOST('remonth', 'int') : (GETPOST("month", 'int') ?GETPOST("month", "int") : date("m"));
@@ -73,7 +69,7 @@ $week = GETPOST("week", "int") ?GETPOST("week", "int") : date("W");
$day = (int) $day;
-$search_categ = GETPOST("search_categ", 'alpha');
+//$search_categ = GETPOST("search_categ", 'alpha');
$search_usertoprocessid = GETPOST('search_usertoprocessid', 'int');
$search_task_ref = GETPOST('search_task_ref', 'alpha');
$search_task_label = GETPOST('search_task_label', 'alpha');
@@ -129,8 +125,9 @@ $arrayfields = array();
'p.budget_amount'=>array('label'=>$langs->trans("Budget"), 'checked'=>0, 'position'=>110),
'p.usage_bill_time'=>array('label'=>$langs->trans("BillTimeShort"), 'checked'=>0, 'position'=>115),
);*/
-$arrayfields['t.planned_workload'] = array('label'=>'PlannedWorkload', 'checked'=>1, 'enabled'=>1, 'position'=>0);
-$arrayfields['t.progress'] = array('label'=>'ProgressDeclared', 'checked'=>1, 'enabled'=>1, 'position'=>0);
+$arrayfields['t.planned_workload'] = array('label'=>'PlannedWorkload', 'checked'=>1, 'enabled'=>1, 'position'=>5);
+$arrayfields['t.progress'] = array('label'=>'ProgressDeclared', 'checked'=>1, 'enabled'=>1, 'position'=>10);
+$arrayfields['timeconsumed'] = array('label'=>'TimeConsumed', 'checked'=>1, 'enabled'=>1, 'position'=>15);
/*foreach($object->fields as $key => $val)
{
// If $val['visible']==0, then we never show the field
@@ -165,7 +162,7 @@ if ($reshook < 0) {
// Purge criteria
if (GETPOST('button_removefilter_x', 'alpha') || GETPOST('button_removefilter.x', 'alpha') || GETPOST('button_removefilter', 'alpha')) { // All tests are required to be compatible with all browsers
$action = '';
- $search_categ = '';
+ //$search_categ = '';
$search_usertoprocessid = $user->id;
$search_task_ref = '';
$search_task_label = '';
@@ -184,8 +181,10 @@ if (GETPOST("button_search_x", 'alpha') || GETPOST("button_search.x", 'alpha') |
}
if (GETPOST('submitdateselect')) {
- $daytoparse = dol_mktime(0, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear'));
-
+ if (GETPOST('remonth', 'int') && GETPOST('reday', 'int') && GETPOST('reyear', 'int')) {
+ $daytoparse = dol_mktime(0, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int'));
+ }
+
$action = '';
}
@@ -441,9 +440,7 @@ include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
$nav = ''.img_previous($langs->trans("Previous"))." \n";
$nav .= " ".dol_print_date(dol_mktime(0, 0, 0, $first_month, $first_day, $first_year), "%Y").", ".$langs->trans("WeekShort")." ".$week." \n";
$nav .= ''.img_next($langs->trans("Next"))." \n";
-//$nav .= " (".$langs->trans("Today")." )";
$nav .= ' '.$form->selectDate(-1, '', 0, 0, 2, "addtime", 1, 1).' ';
-//$nav .= ' ';
$nav .= ' ';
$picto = 'clock';
@@ -618,14 +615,16 @@ $search_options_pattern = 'search_task_options_';
$extrafieldsobjectkey = 'projet_task';
$extrafieldsobjectprefix = 'efpt.';
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_input.tpl.php';
-print ' ';
if (!empty($arrayfields['t.planned_workload']['checked'])) {
- print ' ';
-}
-if (!empty($arrayfields['t.progress']['checked'])) {
print ' ';
}
-print ' ';
+if (!empty($arrayfields['t.progress']['checked'])) {
+ print ' ';
+}
+if (!empty($arrayfields['timeconsumed']['checked'])) {
+ print ' ';
+ print ' ';
+}
for ($idw = 0; $idw < 7; $idw++) {
print ' ';
}
@@ -649,22 +648,20 @@ $extrafieldsobjectkey = 'projet_task';
$extrafieldsobjectprefix = 'efpt.';
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_title.tpl.php';
if (!empty($arrayfields['t.planned_workload']['checked'])) {
- print ''.$langs->trans("PlannedWorkload").' ';
+ print ''.$langs->trans("PlannedWorkload").' ';
}
if (!empty($arrayfields['t.progress']['checked'])) {
print ''.$langs->trans("ProgressDeclared").' ';
}
-/*print ''.$langs->trans("TimeSpent").' ';
- if ($usertoprocess->id == $user->id) print ''.$langs->trans("TimeSpentByYou").' ';
- else print ''.$langs->trans("TimeSpentByUser").' ';*/
-print ''.$langs->trans("TimeSpent").' ';
-print '';
-print ' ';
-print ''.$langs->trans("Everybody").' ';
-print ' ';
-print ' ';
-print ''.$langs->trans("TimeSpent").($usertoprocess->firstname ? ' '.$usertoprocess->getNomUrl(-2).''.dol_trunc($usertoprocess->firstname, 10).' ' : '').' ';
-
+if (!empty($arrayfields['timeconsumed']['checked'])) {
+ print ''.$langs->trans("TimeSpent").' ';
+ print '';
+ print ' ';
+ print ''.$langs->trans("Everybody").' ';
+ print ' ';
+ print ' ';
+ print ''.$langs->trans("TimeSpent").($usertoprocess->firstname ? ' '.$usertoprocess->getNomUrl(-2).''.dol_trunc($usertoprocess->firstname, 10).' ' : '').' ';
+}
for ($idw = 0; $idw < 7; $idw++) {
$dayinloopfromfirstdaytoshow = dol_time_plus_duree($firstdaytoshow, $idw, 'd'); // $firstdaytoshow is a date with hours = 0
$dayinloop = dol_time_plus_duree($startday, $idw, 'd');
@@ -693,7 +690,7 @@ print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"], "", '', '', '', $
print " \n";
-$colspan = 3 + (empty($conf->global->PROJECT_TIMESHEET_DISABLEBREAK_ON_PROJECT) ? 0 : 2);
+$colspan = 1 + (empty($conf->global->PROJECT_TIMESHEET_DISABLEBREAK_ON_PROJECT) ? 0 : 2);
if ($conf->use_javascript_ajax) {
print '';
@@ -701,7 +698,10 @@ if ($conf->use_javascript_ajax) {
print $langs->trans("Total");
print ' - '.$langs->trans("ExpectedWorkedHours").': '.price($usertoprocess->weeklyhours, 1, $langs, 0, 0).' ';
print '';
-
+ if (!empty($arrayfields['timeconsumed']['checked'])) {
+ print ' ';
+ print ' ';
+ }
for ($idw = 0; $idw < 7; $idw++) {
$cssweekend = '';
if ((($idw + 1) < $numstartworkingday) || (($idw + 1) > $numendworkingday)) { // This is a day is not inside the setup of working days, so we use a week-end css.
@@ -780,6 +780,10 @@ if (count($tasksarray) > 0) {
print '';
print $langs->trans("OtherFilteredTasks");
print ' ';
+ if (!empty($arrayfields['timeconsumed']['checked'])) {
+ print ' ';
+ print ' ';
+ }
for ($idw = 0; $idw < 7; $idw++) {
$cssweekend = '';
if ((($idw + 1) < $numstartworkingday) || (($idw + 1) > $numendworkingday)) { // This is a day is not inside the setup of working days, so we use a week-end css.
@@ -801,11 +805,15 @@ if (count($tasksarray) > 0) {
}
if ($conf->use_javascript_ajax) {
- print '
- ';
- print $langs->trans("Total");
- print ' - '.$langs->trans("ExpectedWorkedHours").': '.price($usertoprocess->weeklyhours, 1, $langs, 0, 0).' ';
- print ' ';
+ print ' ';
+ print '';
+ print $langs->trans("Total");
+ print ' - '.$langs->trans("ExpectedWorkedHours").': '.price($usertoprocess->weeklyhours, 1, $langs, 0, 0).' ';
+ print ' ';
+ if (!empty($arrayfields['timeconsumed']['checked'])) {
+ print ' ';
+ print ' ';
+ }
for ($idw = 0; $idw < 7; $idw++) {
$cssweekend = '';
@@ -826,8 +834,8 @@ if (count($tasksarray) > 0) {
print '
';
}
- print '
- ';
+ print '
';
+ print '';
}
} else {
print ''.$langs->trans("NoAssignedTasks").' ';
diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php
index e807ae62234..7e0b857eb6d 100644
--- a/htdocs/theme/md/style.css.php
+++ b/htdocs/theme/md/style.css.php
@@ -2284,8 +2284,8 @@ li.tmenu, li.tmenusel {
li.tmenu:hover {
opacity: .50; /* show only a slight shadow */
}
-li.tmenusel {
- text-decoration: underline;
+li.tmenusel a.tmenusel {
+ text-decoration: underline !important;
}
.tmenuend .tmenuleft { width: 0px; }
.tmenuend { display: none; }