Example #1
0
                         $text_info .= '<br>';
                     }
                 }
             }
         }
         if ($notshippable == 0) {
             $text_icon = img_picto('', 'object_sending');
             $text_info = $langs->trans('Shippable') . '<br>' . $text_info;
         } else {
             $text_icon = img_picto('', 'error');
             $text_info = $langs->trans('NonShippable') . '<br>' . $text_info;
         }
     }
     print '<td>';
     if ($nbprod) {
         print $form->textwithtooltip('', $text_info, 2, 1, $text_icon, '', 2);
     }
     if ($warning) {
         print $form->textwithtooltip('', $langs->trans('NotEnoughForAllOrders') . '<br>' . $text_warning, 2, 1, img_picto('', 'error'), '', 2);
     }
     print '</td>';
 }
 // Warning late icon
 print '<td class="nobordernopadding nowrap">';
 if ($generic_commande->hasDelay()) {
     print img_picto($langs->trans("Late"), "warning");
 }
 if (!empty($objp->note_private)) {
     print ' <span class="note">';
     print '<a href="' . DOL_URL_ROOT . '/commande/note.php?id=' . $objp->rowid . '">' . img_picto($langs->trans("ViewPrivateNote"), 'object_generic') . '</a>';
     print '</span>';
Example #2
0
     print '<td>';
     print '<a href="' . DOL_URL_ROOT . '/product/card.php?id=' . $line->fk_product . '">' . img_object($langs->trans("ShowProduct"), "product") . ' ' . $product->ref . '</a> - ' . $label;
     if ($line->description) {
         print nl2br($line->description);
     }
     print '</td>';
 } else {
     print "<td>";
     if ($line->fk_product_type == 1) {
         $text = img_object($langs->trans('Service'), 'service');
     } else {
         $text = img_object($langs->trans('Product'), 'product');
     }
     if (!empty($line->label)) {
         $text .= ' <strong>' . $line->label . '</strong>';
         print $form->textwithtooltip($text, $line->description, 3, '', '', $i);
     } else {
         print $text . ' ' . nl2br($line->description);
     }
     print_date_range($lines[$i]->date_start, $lines[$i]->date_end);
     print "</td>\n";
 }
 print '<td align="center">' . $line->qty . '</td>';
 /*
  *
  */
 print '<td align="center">';
 $quantite_livree = $commande->livraisons[$line->id];
 print $quantite_livree;
 print '</td>';
 $quantite_commandee = $line->qty;
Example #3
0
        $defaultref = $modProject->getNextValue($soc,$project);
    }

    if (is_numeric($defaultref) && $defaultref <= 0) $defaultref='';

    // Ref
    print '<tr><td><span class="fieldrequired">'.$langs->trans("Ref").'</span></td><td><input size="12" type="text" name="ref" value="'.($_POST["ref"]?$_POST["ref"]:$defaultref).'"></td></tr>';

    // Label
    print '<tr><td><span class="fieldrequired">'.$langs->trans("Label").'</span></td><td><input size="30" type="text" name="title" value="'.$_POST["title"].'"></td></tr>';

    // Customer
    print '<tr><td>'.$langs->trans("ThirdParty").'</td><td>';
    $text=$html->select_company(GETPOST("socid"),'socid','',1,1);
    $texthelp=$langs->trans("IfNeedToUseOhterObjectKeepEmpty");
    print $html->textwithtooltip($text.' '.img_help(),$texthelp,1);
    print '</td></tr>';

    // Public
    print '<tr><td>'.$langs->trans("Visibility").'</td><td>';
    $array=array(0 => $langs->trans("PrivateProject"),1 => $langs->trans("SharedProject"));
    print $html->selectarray('public',$array,$project->public);
    print '</td></tr>';

    // Date start
    print '<tr><td>'.$langs->trans("DateStart").'</td><td>';
    print $html->select_date('','project');
    print '</td></tr>';

    // Date end
    print '<tr><td>'.$langs->trans("DateEnd").'</td><td>';
Example #4
0
 $var = !$var;
 print "<tr " . $bc[$var] . ">";
 // Show product and description
 $type = isset($objp->product_type) ? $objp->product_type : $objp->fk_product_type;
 $product_static->fk_unit = $objp->fk_unit;
 if ($objp->fk_product > 0) {
     print '<td>';
     print '<a name="' . $objp->rowid . '"></a>';
     // ancre pour retourner sur la ligne
     // Show product and description
     $product_static->fetch($objp->fk_product);
     // We need all information later
     $text = $product_static->getNomUrl(1);
     $text .= ' - ' . (!empty($objp->custom_label) ? $objp->custom_label : $objp->product_label);
     $description = !empty($conf->global->PRODUIT_DESC_IN_FORM) ? '' : dol_htmlentitiesbr($objp->description);
     print $form->textwithtooltip($text, $description, 3, '', '', $i);
     // Show range
     print_date_range($db->jdate($objp->date_start), $db->jdate($objp->date_end));
     // Add description in form
     if (!empty($conf->global->PRODUIT_DESC_IN_FORM)) {
         print !empty($objp->description) && $objp->description != $objp->product_label ? '<br>' . dol_htmlentitiesbr($objp->description) : '';
     }
     print '</td>';
 } else {
     print '<td>';
     print '<a name="' . $objp->rowid . '"></a>';
     // ancre pour retourner sur la ligne
     if ($type == 1) {
         $text = img_object($langs->trans('Service'), 'service');
     } else {
         $text = img_object($langs->trans('Product'), 'product');
Example #5
0
        {
            // Permission own by user
            if ($caneditperms)
            {
                print '<td align="center"><a href="perms.php?id='.$fuser->id.'&amp;action=delrights&amp;rights='.$obj->id.'#'.$objMod->getName().'">'.img_edit_remove($langs->trans("Remove")).'</a></td>';
            }
            print '<td align="center" nowrap="nowrap">';
            print img_tick();
            print '</td>';
        }
        else if (in_array($obj->id, $permsgroup)) {
            // Permission own by group
            if ($caneditperms)
            {
                print '<td align="center">';
				print $form->textwithtooltip($langs->trans("Inherited"),$langs->trans("PermissionInheritedFromAGroup"));
				//print '<a href="'.DOL_URL_ROOT.'/user/fiche.php?id='.$fuser->id.'" title="'.$langs->trans("PermissionInheritedFromAGroup").'">';
				print '</td>';
            }
            print '<td align="center" nowrap="nowrap">';
            print img_tick();
            print '</td>';
        }
        else
        {
            // Do not own permission
            if ($caneditperms)
            {
                print '<td align="center"><a href="perms.php?id='.$fuser->id.'&amp;action=addrights&amp;rights='.$obj->id.'#'.$objMod->getName().'">'.img_edit_add($langs->trans("Add")).'</a></td>';
            }
            print '<td>&nbsp</td>';
Example #6
0
     $valuetoshow = $langs->trans("UseLocalTax") . " 3";
     $align = "center";
     $sortable = 0;
 }
 if ($fieldlist[$field] == 'localtax2') {
     $valuetoshow = $langs->trans("Rate") . " 3";
 }
 if ($fieldlist[$field] == 'organization') {
     $valuetoshow = $langs->trans("Organization");
 }
 if ($fieldlist[$field] == 'lang') {
     $valuetoshow = $langs->trans("Language");
 }
 if ($fieldlist[$field] == 'type') {
     if ($tabname[$id] == MAIN_DB_PREFIX . "c_paiement") {
         $valuetoshow = $form->textwithtooltip($langs->trans("Type"), $langs->trans("TypePaymentDesc"), 2, 1, img_help(1, ''));
     } else {
         $valuetoshow = $langs->trans("Type");
     }
 }
 if ($fieldlist[$field] == 'code') {
     $valuetoshow = $langs->trans("Code");
 }
 if ($fieldlist[$field] == 'libelle' || $fieldlist[$field] == 'label') {
     $valuetoshow = $langs->trans("Label");
     if ($id != 25) {
         $valuetoshow .= "*";
     }
 }
 if ($fieldlist[$field] == 'libelle_facture') {
     $valuetoshow = $langs->trans("LabelOnDocuments") . "*";
Example #7
0
/**
 *  Show an HTML header + a BODY + The top menu bar
 *
 *  @param      string	$head    			Lines in the HEAD
 *  @param      string	$title   			Title of web page
 *  @param      string	$target  			Target to use in menu links (Example: '' or '_top')
 *	@param		int		$disablejs			Do not output links to js (Ex: qd fonction utilisee par sous formulaire Ajax)
 *	@param		int		$disablehead		Do not output head section
 *	@param		array	$arrayofjs			Array of js files to add in header
 *	@param		array	$arrayofcss			Array of css files to add in header
 *  @param		string	$morequerystring	Query string to add to the link "print" to get same parameters (use only if autodetect fails)
 *  @return		void
 */
function top_menu($head, $title = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '')
{
    global $user, $conf, $langs, $db;
    global $dolibarr_main_authentication, $dolibarr_main_demo;
    global $hookmanager, $menumanager;
    // Instantiate hooks of thirdparty module
    $hookmanager->initHooks(array('toprightmenu'));
    $toprightmenu = '';
    // For backward compatibility with old modules
    if (empty($conf->headerdone)) {
        top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss);
    }
    print '<body id="mainbody">';
    if ($conf->use_javascript_ajax) {
        if (empty($conf->dol_use_jmobile) && !empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) {
            print '<script type="text/javascript">
				jQuery(document).ready(function () {
					jQuery("body").layout(layoutSettings);
				});
				var layoutSettings = {
					name: "mainlayout",
					defaults: {
						useStateCookie: true,
						size: "auto",
						resizable: false,
						//paneClass: "none",
						//resizerClass: "resizer",
						//togglerClass: "toggler",
						//buttonClass: "button",
						//contentSelector: ".content",
						//contentIgnoreSelector: "span",
						togglerTip_open: "Close This Pane",
						togglerTip_closed: "Open This Pane",
						resizerTip:	"Resize This Pane",
						fxSpeed: "fast"
					},
					west: {
						paneClass: "leftContent",
						//spacing_closed:	14,
						//togglerLength_closed: 14,
						//togglerAlign_closed: "auto",
						//togglerLength_open: 0,
						//	effect defaults - overridden on some panes
						//slideTrigger_open:	"mouseover",
						initClosed:	' . (empty($conf->dol_optimize_smallscreen) ? 'false' : 'true') . ',
						fxName:	"drop",
						fxSpeed: "fast",
						fxSettings: { easing: "" }
					},
					north: {
						paneClass: "none",
						resizerClass: "none",
						togglerClass: "none",
						spacing_open: 0,
						togglerLength_open:	0,
						togglerLength_closed: -1,
						slidable: false,
						fxName:	"none",
						fxSpeed: "fast"
					},
					center: {
						paneSelector: "#mainContent"
					}
				}
    		</script>';
        }
        // Wrapper to show tooltips
        print "\n" . '<script type="text/javascript">
                    jQuery(document).ready(function () {
                       	jQuery(".classfortooltip").tipTip({maxWidth: "' . dol_size(600, 'width') . 'px", edgeOffset: 10, delay: 50, fadeIn: 50, fadeOut: 50});
                    });
                </script>';
    }
    /*
     * Top menu
     */
    print "\n" . '<!-- Start top horizontal -->' . "\n";
    if (empty($conf->dol_use_jmobile) && !empty($conf->use_javascript_ajax) && !empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) {
        print '<div class="ui-layout-north"> <!-- Begin top layout -->' . "\n";
    }
    if (empty($conf->dol_hide_topmenu)) {
        print '<div class="side-nav-vert"><div id="id-top">';
        // Show menu entries
        print '<div id="tmenu_tooltip' . (empty($conf->global->MAIN_MENU_INVERT) ? '' : 'invert') . '" class="tmenu">' . "\n";
        $menumanager->atarget = $target;
        $menumanager->showmenu('top');
        // This contains a \n
        print "</div>\n";
        $form = new Form($db);
        // Define link to login card
        $appli = 'Dolibarr';
        if (!empty($conf->global->MAIN_APPLICATION_TITLE)) {
            $appli = $conf->global->MAIN_APPLICATION_TITLE;
            if (preg_match('/\\d\\.\\d/', $appli)) {
                if (!preg_match('/' . preg_quote(DOL_VERSION) . '/', $appli)) {
                    $appli .= " (" . DOL_VERSION . ")";
                }
                // If new title contains a version that is different than core
            } else {
                $appli .= " " . DOL_VERSION;
            }
        } else {
            $appli .= " " . DOL_VERSION;
        }
        if (!empty($conf->global->MAIN_FEATURES_LEVEL)) {
            $appli .= "<br>" . $langs->trans("LevelOfFeature") . ': ' . $conf->global->MAIN_FEATURES_LEVEL;
        }
        $logouttext = '';
        $logouthtmltext = $appli . '<br>';
        if ($_SESSION["dol_authmode"] != 'forceuser' && $_SESSION["dol_authmode"] != 'http') {
            $logouthtmltext .= $langs->trans("Logout") . '<br>';
            $logouttext .= '<a href="' . DOL_URL_ROOT . '/user/logout.php">';
            $logouttext .= img_picto($langs->trans('Logout') . ":" . $langs->trans('Logout'), 'logout.png', 'class="login"', 0, 0, 1);
            $logouttext .= '</a>';
        } else {
            $logouthtmltext .= $langs->trans("NoLogoutProcessWithAuthMode", $_SESSION["dol_authmode"]);
            $logouttext .= img_picto($langs->trans('Logout') . ":" . $langs->trans('Logout'), 'logout.png', 'class="login"', 0, 0, 1);
        }
        print '<div class="login_block">' . "\n";
        // Add login user link
        $toprightmenu .= '<div class="login_block_user">';
        // User photo
        $toprightmenu .= '<div class="inline-block nowrap"><div class="inline-block login_block_elem" style="padding: 0px;">';
        $toprightmenu .= $user->getPhotoUrl(16, 16, 'loginphoto');
        $toprightmenu .= '</div></div>';
        // Login name with tooltip
        $toprightmenu .= '<div class="inline-block nowrap"><div class="inline-block login_block_elem" style="padding: 0px;">';
        $toprightmenu .= $user->getNomurl(0, '', true, 0, 11);
        $toprightmenu .= '</div></div>';
        $toprightmenu .= '</div>';
        $toprightmenu .= '<div class="login_block_other">';
        // Execute hook printTopRightMenu (hooks should output string like '<div class="login"><a href="">mylink</a></div>')
        $parameters = array();
        $result = $hookmanager->executeHooks('printTopRightMenu', $parameters);
        // Note that $action and $object may have been modified by some hooks
        if (is_numeric($result)) {
            if (empty($result)) {
                $toprightmenu .= $hookmanager->resPrint;
            } else {
                $toprightmenu = $hookmanager->resPrint;
            }
            // replace
        } else {
            $toprightmenu .= $result;
        }
        // For backward compatibility
        // Link to print main content area
        if (empty($conf->global->MAIN_PRINT_DISABLELINK) && empty($conf->browser->phone)) {
            $qs = $_SERVER["QUERY_STRING"];
            $qs .= ($qs && $morequerystring ? '&' : '') . $morequerystring;
            $text = '<a href="' . $_SERVER["PHP_SELF"] . '?' . $qs . ($qs ? '&' : '') . 'optioncss=print" target="_blank">';
            $text .= img_picto(":" . $langs->trans("PrintContentArea"), 'printer.png', 'class="printer"');
            $text .= '</a>';
            $toprightmenu .= $form->textwithtooltip('', $langs->trans("PrintContentArea"), 2, 1, $text, 'login_block_elem', 2);
        }
        // Logout link
        $toprightmenu .= $form->textwithtooltip('', $logouthtmltext, 2, 1, $logouttext, 'login_block_elem', 2);
        $toprightmenu .= '</div>';
        print $toprightmenu;
        print "</div>\n";
        print '</div></div>';
        unset($form);
    }
    if (empty($conf->dol_use_jmobile) && !empty($conf->use_javascript_ajax) && !empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) {
        print "</div><!-- End top layout -->\n";
    }
    print '<div style="clear: both;"></div>';
    print "<!-- End top horizontal menu -->\n\n";
    if (empty($conf->dol_hide_leftmenu) && empty($conf->dol_use_jmobile) && empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) {
        print '<div id="id-container">';
    }
}
Example #8
0
     $productstatic->type = $objp->ptype;
     $productstatic->ref = $objp->pref;
     $text = $productstatic->getNomUrl(1, '', 20);
     if ($objp->label) {
         $text .= ' - ';
         $productstatic->ref = $objp->label;
         $text .= $productstatic->getNomUrl(0, '', 16);
     }
     $description = $objp->description;
     // Add description in form
     if (!empty($conf->global->PRODUIT_DESC_IN_FORM)) {
         $text .= !empty($objp->description) && $objp->description != $objp->product_label ? '<br>' . dol_htmlentitiesbr($objp->description) : '';
         $description = '';
         // Already added into main visible desc
     }
     echo $form->textwithtooltip($text, $description, 3, '', '', $cursorline, 0, !empty($line->fk_parent_line) ? img_picto('', 'rightarrow') : '');
     print '</td>';
 } else {
     print '<td>' . dol_htmlentitiesbr($objp->description) . "</td>\n";
 }
 // TVA
 print '<td align="center">' . vatrate($objp->tva_tx, '%', $objp->info_bits) . '</td>';
 // Prix
 print '<td align="right">' . ($objp->subprice != '' ? price($objp->subprice) : '') . "</td>\n";
 // Quantite
 print '<td align="center">' . $objp->qty . '</td>';
 // Unit
 if ($conf->global->PRODUCT_USE_UNITS) {
     print '<td align="left">' . $langs->trans($object->lines[$cursorline - 1]->getLabelOfUnit()) . '</td>';
 }
 // Remise
Example #9
0
	$var=!$var;
	print "<tr ".$bc[$var].'><td width=\"300\">=> price2num('."'1 234.56')</td><td>".price2num("1 234.56",'2')."</td>";
	print "</tr>\n";
}
$var=!$var;
print '<tr '.$bc[$var].'><td width="300">=> price(1234.56)</td><td>'.price(1234.56).'</td>';
// Timezone
$txt =$langs->trans("OSTZ").' (variable system TZ): '.($_ENV["TZ"]?$_ENV["TZ"]:$langs->trans("NotDefined")).'<br>'."\n";
$txt.=$langs->trans("PHPTZ").' (php.ini date.timezone): '.(ini_get("date.timezone")?ini_get("date.timezone"):$langs->trans("NotDefined")).''."\n"; // date.timezone must be in valued defined in http://fr3.php.net/manual/en/timezones.europe.php
if (function_exists('date_default_timezone_get'))
{
	$var=!$var;
	print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("CurrentTimeZone").'</td><td>';	// Timezone server PHP
	$a=date_default_timezone_get();
	$a.=' ('.(-dol_mktime(0,0,0,1,1,1970)>0?'+':'').(-dol_mktime(0,0,0,1,1,1970)).')';
    print $form->textwithtooltip($a,$txt,2,1,img_info(''));
	print '</td></tr>'."\n";	// value defined in http://fr3.php.net/manual/en/timezones.europe.php
}
else
{
    $var=!$var;
    print '<tr '.$bc[$var].'><td width="300">'.$langs->trans("PHPServerOffsetWithGreenwich").'</td><td>';
    $a=(-dol_mktime(0,0,0,1,1,1970)>0?'+':'').(-dol_mktime(0,0,0,1,1,1970));
    print $form->textwithtooltip($a,$txt,2,1,img_info(''));
    print '</td></tr>'."\n";
}
$var=!$var;
print '<tr '.$bc[$var].'><td width="300">=> '.$langs->trans("CurrentHour").'</td><td>'.dol_print_date(dol_now(),'dayhour','tzserver').'</td></tr>'."\n";
$var=!$var;
print '<tr '.$bc[$var].'><td width="300">=> dol_print_date(0,"dayhourtext")</td><td>'.dol_print_date(0,"dayhourtext").'</td>';
$var=!$var;
Example #10
0
/**
 *  Show an HTML header + a BODY + The top menu bar
 *
 *  @param      string	$head    			Lines in the HEAD
 *  @param      string	$title   			Title of web page
 *  @param      string	$target  			Target to use in menu links (Example: '' or '_top')
 *	@param		int		$disablejs			Do not output links to js (Ex: qd fonction utilisee par sous formulaire Ajax)
 *	@param		int		$disablehead		Do not output head section
 *	@param		array	$arrayofjs			Array of js files to add in header
 *	@param		array	$arrayofcss			Array of css files to add in header
 *  @param		string	$morequerystring	Query string to add to the link "print" to get same parameters (use only if autodetect fails)
 *  @param      string	$helppagename    	Name of wiki page for help ('' by default).
 * 				     		                Syntax is: For a wiki page: EN:EnglishPage|FR:FrenchPage|ES:SpanishPage
 * 									                   For other external page: http://server/url
 *  @return		void
 */
function top_menu($head, $title = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '', $helppagename = '')
{
    global $user, $conf, $langs, $db;
    global $dolibarr_main_authentication, $dolibarr_main_demo;
    global $hookmanager, $menumanager;
    // Instantiate hooks of thirdparty module
    $hookmanager->initHooks(array('toprightmenu'));
    $toprightmenu = '';
    // For backward compatibility with old modules
    if (empty($conf->headerdone)) {
        top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss);
    }
    print '<body id="mainbody">' . "\n";
    if ($conf->use_javascript_ajax) {
        if (empty($conf->dol_use_jmobile) && !empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) {
            print '<script type="text/javascript">
				jQuery(document).ready(function () {
					jQuery("body").layout(layoutSettings);
				});
				var layoutSettings = {
					name: "mainlayout",
					defaults: {
						useStateCookie: true,
						size: "auto",
						resizable: false,
						//paneClass: "none",
						//resizerClass: "resizer",
						//togglerClass: "toggler",
						//buttonClass: "button",
						//contentSelector: ".content",
						//contentIgnoreSelector: "span",
						togglerTip_open: "Close This Pane",
						togglerTip_closed: "Open This Pane",
						resizerTip:	"Resize This Pane",
						fxSpeed: "fast"
					},
					west: {
						paneClass: "leftContent",
						//spacing_closed:	14,
						//togglerLength_closed: 14,
						//togglerAlign_closed: "auto",
						//togglerLength_open: 0,
						//	effect defaults - overridden on some panes
						//slideTrigger_open:	"mouseover",
						initClosed:	' . (empty($conf->dol_optimize_smallscreen) ? 'false' : 'true') . ',
						fxName:	"drop",
						fxSpeed: "fast",
						fxSettings: { easing: "" }
					},
					north: {
						paneClass: "none",
						resizerClass: "none",
						togglerClass: "none",
						spacing_open: 0,
						togglerLength_open:	0,
						togglerLength_closed: -1,
						slidable: false,
						fxName:	"none",
						fxSpeed: "fast"
					},
					center: {
						paneSelector: "#mainContent"
					}
				}
			</script>' . "\n";
        }
        // Raven.js for client-side Sentry logging support
        if (array_key_exists('mod_syslog_sentry', $conf->loghandlers) && !empty($conf->global->SYSLOG_SENTRY_DSN)) {
            // Filter out secret key
            $dsn = parse_url($conf->global->SYSLOG_SENTRY_DSN);
            $public_dsn = $dsn['scheme'] . '://' . $dsn['user'] . '@' . $dsn['host'] . $dsn['path'];
            print '<script type="text/javascript">' . "\n";
            print "Raven.config('" . $public_dsn . "').install()\n";
            print "Raven.setUserContext({username: '******'})\n";
            print "Raven.setTagsContext({version: '" . DOL_VERSION . "'})\n";
            print "</script>\n";
        }
    }
    /*
     * Top menu
     */
    print "\n" . '<!-- Start top horizontal -->' . "\n";
    if (empty($conf->dol_use_jmobile) && !empty($conf->use_javascript_ajax) && !empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) {
        print '<div class="ui-layout-north"> <!-- Begin top layout -->' . "\n";
    }
    if (empty($conf->dol_hide_topmenu)) {
        print '<div class="side-nav-vert"><div id="id-top">';
        // Show menu entries
        print '<div id="tmenu_tooltip' . (empty($conf->global->MAIN_MENU_INVERT) ? '' : 'invert') . '" class="tmenu">' . "\n";
        $menumanager->atarget = $target;
        $menumanager->showmenu('top');
        // This contains a \n
        print "</div>\n";
        //$form=new Form($db);
        // Define link to login card
        $appli = constant('DOL_APPLICATION_TITLE');
        if (!empty($conf->global->MAIN_APPLICATION_TITLE)) {
            $appli = $conf->global->MAIN_APPLICATION_TITLE;
            if (preg_match('/\\d\\.\\d/', $appli)) {
                if (!preg_match('/' . preg_quote(DOL_VERSION) . '/', $appli)) {
                    $appli .= " (" . DOL_VERSION . ")";
                }
                // If new title contains a version that is different than core
            } else {
                $appli .= " " . DOL_VERSION;
            }
        } else {
            $appli .= " " . DOL_VERSION;
        }
        if (!empty($conf->global->MAIN_FEATURES_LEVEL)) {
            $appli .= "<br>" . $langs->trans("LevelOfFeature") . ': ' . $conf->global->MAIN_FEATURES_LEVEL;
        }
        $logouttext = '';
        $logouthtmltext = $appli . '<br>';
        if ($_SESSION["dol_authmode"] != 'forceuser' && $_SESSION["dol_authmode"] != 'http') {
            $logouthtmltext .= $langs->trans("Logout") . '<br>';
            $logouttext .= '<a href="' . DOL_URL_ROOT . '/user/logout.php">';
            $logouttext .= img_picto($langs->trans('Logout') . ":" . $langs->trans('Logout'), 'logout_top.png', 'class="login"', 0, 0, 1);
            $logouttext .= '</a>';
        } else {
            $logouthtmltext .= $langs->trans("NoLogoutProcessWithAuthMode", $_SESSION["dol_authmode"]);
            $logouttext .= img_picto($langs->trans('Logout') . ":" . $langs->trans('Logout'), 'logout_top.png', 'class="login"', 0, 0, 1);
        }
        print '<div class="login_block">' . "\n";
        // Add login user link
        $toprightmenu .= '<div class="login_block_user">';
        // Login name with photo and tooltip
        $mode = -1;
        $toprightmenu .= '<div class="inline-block nowrap"><div class="inline-block login_block_elem login_block_elem_name" style="padding: 0px;">';
        $toprightmenu .= $user->getNomUrl($mode, '', true, 0, 11, 0, $user->firstname ? 'firstname' : -1, 'atoplogin');
        $toprightmenu .= '</div></div>';
        $toprightmenu .= '</div>';
        $toprightmenu .= '<div class="login_block_other">';
        // Execute hook printTopRightMenu (hooks should output string like '<div class="login"><a href="">mylink</a></div>')
        $parameters = array();
        $result = $hookmanager->executeHooks('printTopRightMenu', $parameters);
        // Note that $action and $object may have been modified by some hooks
        if (is_numeric($result)) {
            if (empty($result)) {
                $toprightmenu .= $hookmanager->resPrint;
            } else {
                $toprightmenu = $hookmanager->resPrint;
            }
            // replace
        } else {
            $toprightmenu .= $result;
        }
        // For backward compatibility
        // Link to print main content area
        if (empty($conf->global->MAIN_PRINT_DISABLELINK) && empty($conf->browser->phone)) {
            $qs = $_SERVER["QUERY_STRING"];
            $qs .= ($qs && $morequerystring ? '&' : '') . $morequerystring;
            $text = '<a href="' . $_SERVER["PHP_SELF"] . '?' . $qs . ($qs ? '&' : '') . 'optioncss=print" target="_blank">';
            $text .= img_picto(":" . $langs->trans("PrintContentArea"), 'printer_top.png', 'class="printer"');
            $text .= '</a>';
            $toprightmenu .= Form::textwithtooltip('', $langs->trans("PrintContentArea"), 2, 1, $text, 'login_block_elem', 2);
        }
        // Link to Dolibarr wiki pages
        if (empty($conf->global->MAIN_HELP_DISABLELINK)) {
            $langs->load("help");
            $helpbaseurl = '';
            $helppage = '';
            $mode = '';
            if (empty($helppagename)) {
                $helppagename = 'EN:User_documentation|FR:Documentation_utilisateur|ES:Documentación_usuarios';
            }
            // 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) {
                $text = '';
                $title = '';
                //$text.='<div id="blockvmenuhelpwiki" class="blockvmenuhelp">';
                $title .= $langs->trans($mode == 'wiki' ? 'GoToWikiHelpPage' : 'GoToHelpPage');
                if ($mode == 'wiki') {
                    $title .= ' - ' . $langs->trans("PageWiki") . ' &quot;' . dol_escape_htmltag(strtr($helppage, '_', ' ')) . '&quot;';
                }
                $text .= '<a class="help" target="_blank" href="';
                if ($mode == 'wiki') {
                    $text .= sprintf($helpbaseurl, urlencode(html_entity_decode($helppage)));
                } else {
                    $text .= sprintf($helpbaseurl, $helppage);
                }
                $text .= '">';
                $text .= img_picto('', 'helpdoc_top') . ' ';
                //$toprightmenu.=$langs->trans($mode == 'wiki' ? 'OnlineHelp': 'Help');
                //if ($mode == 'wiki') $text.=' ('.dol_trunc(strtr($helppage,'_',' '),8).')';
                $text .= '</a>';
                //$toprightmenu.='</div>'."\n";
                $toprightmenu .= Form::textwithtooltip('', $title, 2, 1, $text, 'login_block_elem', 2);
            }
        }
        // Logout link
        $toprightmenu .= Form::textwithtooltip('', $logouthtmltext, 2, 1, $logouttext, 'login_block_elem', 2);
        $toprightmenu .= '</div>';
        print $toprightmenu;
        print "</div>\n";
        print '</div></div>';
        //unset($form);
    }
    if (empty($conf->dol_use_jmobile) && !empty($conf->use_javascript_ajax) && !empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) {
        print "</div><!-- End top layout -->\n";
    }
    print '<div style="clear: both;"></div>';
    print "<!-- End top horizontal menu -->\n\n";
    if (empty($conf->dol_hide_leftmenu) && empty($conf->dol_use_jmobile) && empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) {
        print '<div id="id-container">';
    }
}
// date.timezone must be in valued defined in http://fr3.php.net/manual/en/timezones.europe.php
$txt .= $langs->trans("Dolibarr constant MAIN_SERVER_TZ") . ': ' . (empty($conf->global->MAIN_SERVER_TZ) ? $langs->trans("NotDefined") : $conf->global->MAIN_SERVER_TZ);
//$txt.=$langs->trans("YouCanEditPHPTZ"); // deprecated
$var = !$var;
print '<tr ' . $bc[$var] . '><td width="300">' . $langs->trans("CurrentTimeZone") . '</td><td>';
// Timezone server PHP
$a = getServerTimeZoneInt('now');
$b = getServerTimeZoneInt('winter');
$c = getServerTimeZoneInt('summer');
$daylight = is_numeric($c) && is_numeric($b) ? round($c - $b) : 'unknown';
//print $a." ".$b." ".$c." ".$daylight;
$val = ($a >= 0 ? '+' : '') . $a;
$val .= ' (' . ($a === 'unknown' ? 'unknown' : ($a >= 0 ? '+' : '') . $a * 3600) . ')';
$val .= ' &nbsp; &nbsp; &nbsp; ' . getServerTimeZoneString();
$val .= ' &nbsp; &nbsp; &nbsp; ' . $langs->trans("DaylingSavingTime") . ': ' . ($daylight === 'unknown' ? 'unknown' : ($a == $c ? yn($daylight) : yn(0) . ($daylight ? '  &nbsp; &nbsp; (' . $langs->trans('YesInSummer') . ')' : '')));
print $form->textwithtooltip($val, $txt, 2, 1, img_info(''));
print '</td></tr>' . "\n";
// value defined in http://fr3.php.net/manual/en/timezones.europe.php
$var = !$var;
print '<tr ' . $bc[$var] . '><td width="300">&nbsp; => ' . $langs->trans("CurrentHour") . '</td><td>' . dol_print_date(dol_now(), 'dayhour', 'tzserver') . '</td></tr>' . "\n";
$var = !$var;
print '<tr ' . $bc[$var] . '><td width="300">&nbsp; => dol_print_date(0,"dayhourtext")</td><td>' . dol_print_date(0, "dayhourtext") . '</td>';
$var = !$var;
print '<tr ' . $bc[$var] . '><td width="300">&nbsp; => dol_get_first_day(1970,1,false)</td><td>' . dol_get_first_day(1970, 1, false) . ' &nbsp; &nbsp; (=> dol_print_date() or idate() of this value = ' . dol_print_date(dol_get_first_day(1970, 1, false), 'dayhour') . ')</td>';
$var = !$var;
print '<tr ' . $bc[$var] . '><td width="300">&nbsp; => dol_get_first_day(1970,1,true)</td><td>' . dol_get_first_day(1970, 1, true) . ' &nbsp; &nbsp; (=> dol_print_date() or idate() of this value = ' . dol_print_date(dol_get_first_day(1970, 1, true), 'dayhour') . ')</td>';
// Database timezone
if ($conf->db->type == 'mysql' || $conf->db->type == 'mysqli') {
    $var = !$var;
    print '<tr ' . $bc[$var] . '><td width="300">' . $langs->trans("MySQLTimeZone") . ' (database)</td><td>';
    // Timezone server base
             echo ($txt ? ' - ' : '') . $langs->transnoentities("DiscountFromCreditNote", $discount->getNomUrl(0));
         } elseif ($objp->description == '(DEPOSIT)' && $objp->fk_remise_except > 0) {
             $discount = new DiscountAbsolute($db);
             $discount->fetch($objp->fk_remise_except);
             echo ($txt ? ' - ' : '') . $langs->transnoentities("DiscountFromDeposit", $discount->getNomUrl(0));
             // Add date of deposit
             if (!empty($conf->global->INVOICE_ADD_DEPOSIT_DATE)) {
                 echo ' (' . dol_print_date($discount->datec) . ')';
             }
         } else {
             echo ($txt ? ' - ' : '') . dol_htmlentitiesbr($objp->description);
         }
     }
 } else {
     if ($objp->fk_product > 0) {
         echo $form->textwithtooltip($text, $description, 3, '', '', $i, 0, '');
         // Show range
         echo get_date_range($objp->date_start, $objp->date_end);
         // Add description in form
         if (!empty($conf->global->PRODUIT_DESC_IN_FORM)) {
             print !empty($objp->description) && $objp->description != $objp->product_label ? '<br>' . dol_htmlentitiesbr($objp->description) : '';
         }
     } else {
         //if (! empty($objp->fk_parent_line)) echo img_picto('', 'rightarrow');
         if ($type == 1) {
             $text = img_object($langs->trans('Service'), 'service');
         } else {
             $text = img_object($langs->trans('Product'), 'product');
         }
         if (!empty($objp->label)) {
             $text .= ' <strong>' . $objp->label . '</strong>';
Example #13
0
/**
 *  Show an HTML header + a BODY + The top menu bar
 *
 *  @param      string	$head    			Lines in the HEAD
 *  @param      string	$title   			Title of web page
 *  @param      string	$target  			Target to use in menu links (Example: '' or '_top')
 *	@param		int		$disablejs			Do not output links to js (Ex: qd fonction utilisee par sous formulaire Ajax)
 *	@param		int		$disablehead		Do not output head section
 *	@param		array	$arrayofjs			Array of js files to add in header
 *	@param		array	$arrayofcss			Array of css files to add in header
 *  @param		string	$morequerystring	Query string to add to the link "print" to get same parameters (use only if autodetect fails)
 *  @return		void
 */
function top_menu($head, $title = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '')
{
    global $user, $conf, $langs, $db;
    global $dolibarr_main_authentication, $dolibarr_main_demo;
    global $hookmanager, $menumanager;
    // Instantiate hooks of thirdparty module
    $hookmanager->initHooks(array('toprightmenu'));
    $toprightmenu = '';
    // For backward compatibility with old modules
    if (empty($conf->headerdone)) {
        top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss);
    }
    print '<body id="mainbody">';
    if ($conf->use_javascript_ajax) {
        if (empty($conf->dol_use_jmobile) && !empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) {
            print '<script type="text/javascript">
				jQuery(document).ready(function () {
					jQuery("body").layout(layoutSettings);
				});
				var layoutSettings = {
					name: "mainlayout",
					defaults: {
						useStateCookie: true,
						size: "auto",
						resizable: false,
						//paneClass: "none",
						//resizerClass: "resizer",
						//togglerClass: "toggler",
						//buttonClass: "button",
						//contentSelector: ".content",
						//contentIgnoreSelector: "span",
						togglerTip_open: "Close This Pane",
						togglerTip_closed: "Open This Pane",
						resizerTip:	"Resize This Pane",
						fxSpeed: "fast"
					},
					west: {
						paneClass: "leftContent",
						//spacing_closed:	14,
						//togglerLength_closed: 14,
						//togglerAlign_closed: "auto",
						//togglerLength_open: 0,
						//	effect defaults - overridden on some panes
						//slideTrigger_open:	"mouseover",
						initClosed:	' . (empty($conf->dol_optimize_smallscreen) ? 'false' : 'true') . ',
						fxName:	"drop",
						fxSpeed: "fast",
						fxSettings: { easing: "" }
					},
					north: {
						paneClass: "none",
						resizerClass: "none",
						togglerClass: "none",
						spacing_open: 0,
						togglerLength_open:	0,
						togglerLength_closed: -1,
						slidable: false,
						fxName:	"none",
						fxSpeed: "fast"
					},
					center: {
						paneSelector: "#mainContent"
					}
				}
    		</script>';
        }
        // Wrapper to show tooltips
        print "\n" . '<script type="text/javascript">
                    jQuery(document).ready(function () {
                    	jQuery(function() {
                        	jQuery(".classfortooltip").tipTip({maxWidth: "' . dol_size(600, 'width') . 'px", edgeOffset: 10, delay: 50, fadeIn: 50, fadeOut: 50});
                        });
                    });
                </script>';
    }
    /*
     * Top menu
     */
    print "\n" . '<!-- Start top horizontal -->' . "\n";
    if (empty($conf->dol_use_jmobile) && !empty($conf->use_javascript_ajax) && !empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) {
        print '<div class="ui-layout-north"> <!-- Begin top layout -->' . "\n";
    }
    if (empty($conf->dol_hide_topmenu)) {
        // Show menu entries
        print '<div id="tmenu_tooltip' . (empty($conf->global->MAIN_MENU_INVERT) ? '' : 'invert') . '" class="tmenu">' . "\n";
        $menumanager->atarget = $target;
        $menumanager->showmenu('top');
        // This contains a \n
        print "</div>\n";
        $form = new Form($db);
        // Define 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 = '<div class="login"><a href="' . DOL_URL_ROOT . '/user/card.php?id=' . $user->id . '"';
        $logintext .= $target ? ' target="' . $target . '"' : '';
        $logintext .= '>' . $user->login . '</a>';
        if ($user->societe_id) {
            $logintext .= $companylink;
        }
        $logintext .= '</div>';
        $loginhtmltext .= '<u>' . $langs->trans("User") . '</u>';
        $loginhtmltext .= '<br><b>' . $langs->trans("Name") . '</b>: ' . $user->getFullName($langs);
        $loginhtmltext .= '<br><b>' . $langs->trans("Login") . '</b>: ' . $user->login;
        $loginhtmltext .= '<br><b>' . $langs->trans("EMail") . '</b>: ' . $user->email;
        $loginhtmltext .= '<br><b>' . $langs->trans("Administrator") . '</b>: ' . yn($user->admin);
        $type = $user->societe_id ? $langs->trans("External") . $company : $langs->trans("Internal");
        $loginhtmltext .= '<br><b>' . $langs->trans("Type") . '</b>: ' . $type;
        $loginhtmltext .= '<br><b>' . $langs->trans("IPAddress") . '</b>: ' . $_SERVER["REMOTE_ADDR"];
        $loginhtmltext .= '<br>';
        $loginhtmltext .= '<br><u>' . $langs->trans("Connection") . '</u>';
        if (!empty($conf->global->MAIN_MODULE_MULTICOMPANY)) {
            $loginhtmltext .= '<br><b>' . $langs->trans("ConnectedOnMultiCompany") . '</b>: ' . $conf->entity . ' (user entity ' . $user->entity . ')';
        }
        $loginhtmltext .= '<br><b>' . $langs->trans("AuthenticationMode") . '</b>: ' . $_SESSION["dol_authmode"] . (empty($dolibarr_main_demo) ? '' : ' (demo)');
        $loginhtmltext .= '<br><b>' . $langs->trans("ConnectedSince") . '</b>: ' . dol_print_date($user->datelastlogin, "dayhour");
        $loginhtmltext .= '<br><b>' . $langs->trans("PreviousConnexion") . '</b>: ' . dol_print_date($user->datepreviouslogin, "dayhour");
        $loginhtmltext .= '<br><b>' . $langs->trans("CurrentTheme") . '</b>: ' . $conf->theme;
        $loginhtmltext .= '<br><b>' . $langs->trans("CurrentMenuManager") . '</b>: ' . $menumanager->name;
        $s = picto_from_langcode($langs->getDefaultLang());
        $loginhtmltext .= '<br><b>' . $langs->trans("CurrentUserLanguage") . '</b>: ' . ($s ? $s . ' ' : '') . $langs->getDefaultLang();
        $loginhtmltext .= '<br><b>' . $langs->trans("Browser") . '</b>: ' . $conf->browser->name . ($conf->browser->version ? ' ' . $conf->browser->version : '') . ' (' . $_SERVER['HTTP_USER_AGENT'] . ')';
        if (!empty($conf->browser->phone)) {
            $loginhtmltext .= '<br><b>' . $langs->trans("Phone") . '</b>: ' . $conf->browser->phone;
        }
        if (!empty($_SESSION["disablemodules"])) {
            $loginhtmltext .= '<br><b>' . $langs->trans("DisabledModules") . '</b>: <br>' . join(', ', explode(',', $_SESSION["disablemodules"]));
        }
        $appli = 'Dolibarr';
        if (!empty($conf->global->MAIN_APPLICATION_TITLE)) {
            $appli = $conf->global->MAIN_APPLICATION_TITLE;
            if (preg_match('/\\d\\.\\d/', $appli)) {
                if (!preg_match('/' . preg_quote(DOL_VERSION) . '/', $appli)) {
                    $appli .= " (" . DOL_VERSION . ")";
                }
                // If new title contains a version that is different than core
            } else {
                $appli .= " " . DOL_VERSION;
            }
        } else {
            $appli .= " " . DOL_VERSION;
        }
        if (!empty($conf->global->MAIN_FEATURES_LEVEL)) {
            $appli .= "<br>" . $langs->trans("LevelOfFeature") . ': ' . $conf->global->MAIN_FEATURES_LEVEL;
        }
        $logouttext = '';
        $logouthtmltext = $appli . '<br>';
        if ($_SESSION["dol_authmode"] != 'forceuser' && $_SESSION["dol_authmode"] != 'http') {
            $logouthtmltext .= $langs->trans("Logout") . '<br>';
            $logouttext .= '<a href="' . DOL_URL_ROOT . '/user/logout.php">';
            $logouttext .= img_picto($langs->trans('Logout') . ":" . $langs->trans('Logout'), 'logout.png', 'class="login"', 0, 0, 1);
            $logouttext .= '</a>';
        } else {
            $logouthtmltext .= $langs->trans("NoLogoutProcessWithAuthMode", $_SESSION["dol_authmode"]);
            $logouttext .= img_picto($langs->trans('Logout') . ":" . $langs->trans('Logout'), 'logout.png', 'class="login"', 0, 0, 1);
        }
        print '<div class="login_block">' . "\n";
        $toprightmenu .= '<div class="login_block_user">';
        // Add login user link
        $toprightmenu .= $form->textwithtooltip('', $loginhtmltext, 2, 1, $logintext, 'login_block_elem2', 2);
        // This include div class="login"
        $toprightmenu .= '</div>';
        $toprightmenu .= '<div class="login_block_other">';
        // Execute hook printTopRightMenu (hooks should output string like '<div class="login"><a href="">mylink</a></div>')
        $parameters = array();
        $result = $hookmanager->executeHooks('printTopRightMenu', $parameters);
        // Note that $action and $object may have been modified by some hooks
        if (is_numeric($result)) {
            if (empty($result)) {
                $toprightmenu .= $hookmanager->resPrint;
            } else {
                $toprightmenu = $hookmanager->resPrint;
            }
            // replace
        } else {
            $toprightmenu .= $result;
        }
        // For backward compatibility
        // Logout link
        $toprightmenu .= $form->textwithtooltip('', $logouthtmltext, 2, 1, $logouttext, 'login_block_elem', 2);
        // Link to print main content area
        if (empty($conf->global->MAIN_PRINT_DISABLELINK) && empty($conf->browser->phone)) {
            $qs = $_SERVER["QUERY_STRING"];
            $qs .= ($qs && $morequerystring ? '&' : '') . $morequerystring;
            $text = '<a href="' . $_SERVER["PHP_SELF"] . '?' . $qs . ($qs ? '&' : '') . 'optioncss=print" target="_blank">';
            $text .= img_picto(":" . $langs->trans("PrintContentArea"), 'printer.png', 'class="printer"');
            $text .= '</a>';
            $toprightmenu .= $form->textwithtooltip('', $langs->trans("PrintContentArea"), 2, 1, $text, 'login_block_elem', 2);
        }
        $toprightmenu .= '</div>';
        print $toprightmenu;
        print "</div>\n";
        unset($form);
    }
    if (empty($conf->dol_use_jmobile) && !empty($conf->use_javascript_ajax) && !empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) {
        print "</div><!-- End top layout -->\n";
    }
    print '<div style="clear: both;"></div>';
    print "<!-- End top horizontal menu -->\n\n";
    if (empty($conf->dol_hide_leftmenu) && empty($conf->dol_use_jmobile) && empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) {
        print '<div id="id-container">';
    }
}
Example #14
0
 print '<tr><td>' . $langs->trans('AmountVAT') . '</td><td>' . price($object->total_tva, 1, $langs, 0, -1, -1, $conf->currency) . '</td><td colspan="2" align="left">';
 if (GETPOST('calculationrule')) {
     $calculationrule = GETPOST('calculationrule', 'alpha');
 } else {
     $calculationrule = empty($conf->global->MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND) ? 'totalofround' : 'roundoftotal';
 }
 if ($calculationrule == 'totalofround') {
     $calculationrulenum = 1;
 } else {
     $calculationrulenum = 2;
 }
 $s = $langs->trans("ReCalculate") . ' ';
 $s .= '<a href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=calculate&calculationrule=totalofround">' . $langs->trans("Mode1") . '</a>';
 $s .= ' / ';
 $s .= '<a href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&action=calculate&calculationrule=roundoftotal">' . $langs->trans("Mode2") . '</a>';
 print $form->textwithtooltip($s, $langs->trans("CalculationRuleDesc", $calculationrulenum) . '<br>' . $langs->trans("CalculationRuleDescSupplier"), 2, 1, img_picto('', 'help'));
 print '</td></tr>';
 // Amount Local Taxes
 //TODO: Place into a function to control showing by country or study better option
 if ($societe->localtax1_assuj == "1") {
     print '<tr><td>' . $langs->transcountry("AmountLT1", $societe->country_code) . '</td>';
     print '<td colspan="3">' . price($object->total_localtax1, 1, $langs, 0, -1, -1, $conf->currency) . '</td>';
     print '</tr>';
 }
 if ($societe->localtax2_assuj == "1") {
     print '<tr><td>' . $langs->transcountry("AmountLT2", $societe->country_code) . '</td>';
     print '<td colspan="3">' . price($object->total_localtax2, 1, $langs, 0, -1, -1, $conf->currency) . '</td>';
     print '</tr>';
 }
 print '<tr><td>' . $langs->trans('AmountTTC') . '</td><td colspan="3">' . price($object->total_ttc, 1, $langs, 0, -1, -1, $conf->currency) . '</td></tr>';
 // Project
     $type = 1;
 }
 // Edit line
 if ($action != 'edit_line' || $_GET['rowid'] != $line->id) {
     print '<tr id="row-' . $line->id . '" ' . $bc[$var] . '>';
     // Show product and description
     print '<td>';
     if ($line->fk_product > 0) {
         print '<a name="' . $line->id . '"></a>';
         // ancre pour retourner sur la ligne
         $product_static = new ProductFournisseur($db);
         $product_static->fetch_opt($line->fk_product);
         $text = $product_static->getNomUrl(1, 'supplier');
         $text .= ' - ' . $product_static->libelle;
         $description = $conf->global->PRODUIT_DESC_IN_FORM ? '' : dol_htmlentitiesbr($line->description);
         print $form->textwithtooltip($text, $description, 3, '', '', $i);
         // Show range
         print_date_range($date_start, $date_end);
         // Add description in form
         if (!empty($conf->global->PRODUIT_DESC_IN_FORM)) {
             print $line->description && $line->description != $product_static->libelle ? '<br>' . dol_htmlentitiesbr($line->description) : '';
         }
     }
     // Description - Editor wysiwyg
     if (!$line->fk_product) {
         if ($type == 1) {
             $text = img_object($langs->trans('Service'), 'service');
         } else {
             $text = img_object($langs->trans('Product'), 'product');
         }
         print $text . ' ' . nl2br($line->description);
Example #16
0
 print '</td></tr>';
 // Desired stock
 print '<tr><td>' . $form->editfieldkey("DesiredStock", 'desiredstock', $product->desiredstock, $product, $user->rights->produit->creer) . '</td><td colspan="2">';
 print $form->editfieldval("DesiredStock", 'desiredstock', $product->desiredstock, $product, $user->rights->produit->creer);
 print '</td></tr>';
 // Real stock
 $product->load_stock();
 $text_stock_options = '';
 $text_stock_options .= !empty($conf->global->STOCK_CALCULATE_ON_SHIPMENT) ? $langs->trans("DeStockOnShipment") . '<br>' : '';
 $text_stock_options .= !empty($conf->global->STOCK_CALCULATE_ON_VALIDATE_ORDER) ? $langs->trans("DeStockOnValidateOrder") . '<br>' : '';
 $text_stock_options .= !empty($conf->global->STOCK_CALCULATE_ON_BILL) ? $langs->trans("DeStockOnBill") . '<br>' : '';
 $text_stock_options .= !empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_BILL) ? $langs->trans("ReStockOnBill") . '<br>' : '';
 $text_stock_options .= !empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER) ? $langs->trans("ReStockOnValidateOrder") . '<br>' : '';
 $text_stock_options .= !empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER) ? $langs->trans("ReStockOnDispatchOrder") . '<br>' : '';
 print '<tr><td>';
 print $form->textwithtooltip($langs->trans("PhysicalStock"), $text_stock_options, 2, 1, img_picto('', 'info'), '', 2);
 print '</td>';
 print '<td>' . $product->stock_reel;
 if ($product->seuil_stock_alerte && $product->stock_reel < $product->seuil_stock_alerte) {
     print ' ' . img_warning($langs->trans("StockLowerThanLimit"));
 }
 print '</td>';
 print '</tr>';
 // Calculating a theorical value
 print '<tr><td>' . $langs->trans("VirtualStock") . '</td>';
 print "<td>" . (empty($product->stock_theorique) ? 0 : $product->stock_theorique);
 if ($product->stock_theorique < $product->seuil_stock_alerte) {
     print ' ' . img_warning($langs->trans("StockLowerThanLimit"));
 }
 print '</td>';
 print '</tr>';
Example #17
0
 if ($fieldlist[$field] == 'source') {
     $valuetoshow = $langs->trans("Contact");
 }
 if ($fieldlist[$field] == 'price') {
     $valuetoshow = $langs->trans("PriceUHT");
 }
 if ($fieldlist[$field] == 'taux') {
     if ($tabname[$id] != MAIN_DB_PREFIX . "c_revenuestamp") {
         $valuetoshow = $langs->trans("Rate");
     } else {
         $valuetoshow = $langs->trans("Amount");
     }
     $align = 'right';
 }
 if ($fieldlist[$field] == 'localtax1_type') {
     $valuetoshow = $form->textwithtooltip($langs->trans("UseLocalTax") . " 2", $langs->trans("LocalTaxDesc"), 2, 1, img_help(1, ''));
     $align = "center";
     $sortable = 0;
 }
 if ($fieldlist[$field] == 'localtax1') {
     $valuetoshow = $langs->trans("Rate") . " 2";
 }
 if ($fieldlist[$field] == 'localtax2_type') {
     $valuetoshow = $form->textwithtooltip($langs->trans("UseLocalTax") . " 3", $langs->trans("LocalTaxDesc"), 2, 1, img_help(1, ''));
     $align = "center";
     $sortable = 0;
 }
 if ($fieldlist[$field] == 'localtax2') {
     $valuetoshow = $langs->trans("Rate") . " 3";
 }
 if ($fieldlist[$field] == 'organization') {
Example #18
0
 print "<tr " . $bc[$var] . ">\n";
 // Product label
 if ($line->fk_product > 0) {
     $product->fetch($line->fk_product);
     $product->load_stock();
     print '<td>';
     print '<a name="' . $line->rowid . '"></a>';
     // ancre pour retourner sur la ligne
     // Show product and description
     $product_static->type = $line->fk_product_type;
     $product_static->id = $line->fk_product;
     $product_static->ref = $line->ref;
     $text = $product_static->getNomUrl(1);
     $text .= ' - ' . (!empty($line->label) ? $line->label : $line->product_label);
     $description = $conf->global->PRODUIT_DESC_IN_FORM ? '' : dol_htmlentitiesbr($line->desc);
     print $form->textwithtooltip($text, $description, 3, '', '', $i);
     // Show range
     print_date_range($db->jdate($line->date_start), $db->jdate($line->date_end));
     // Add description in form
     if (!empty($conf->global->PRODUIT_DESC_IN_FORM)) {
         print $line->desc && $line->desc != $line->product_label ? '<br>' . dol_htmlentitiesbr($line->desc) : '';
     }
     print '</td>';
 } else {
     print "<td>";
     if ($type == 1) {
         $text = img_object($langs->trans('Service'), 'service');
     } else {
         $text = img_object($langs->trans('Product'), 'product');
     }
     if (!empty($line->label)) {
Example #19
0
     print '<td align="right">' . price2num($objp->stockqty, 5) . '</td>';
     // PMP value
     print '<td align="right">';
     if (price2num($objp->estimatedvalue, 'MT')) {
         print price(price2num($objp->estimatedvalue, 'MT'), 1);
     } else {
         print '';
     }
     print '</td>';
     // Selling value
     print '<td align="right">';
     if (empty($conf->global->PRODUIT_MULTIPRICES)) {
         print price(price2num($objp->sellvalue, 'MT'), 1);
     } else {
         $htmltext = $langs->trans("OptionMULTIPRICESIsOn");
         print $form->textwithtooltip($langs->trans("Variable"), $htmltext);
     }
     print '</td>';
     // Status
     print '<td align="right">' . $entrepot->LibStatut($objp->statut, 5) . '</td>';
     print '<td></td>';
     print "</tr>\n";
     $var = !$var;
     $i++;
 }
 if ($totalnboflines - $offset <= $limit) {
     print '<tr class="liste_total">';
     print '<td colspan="2" align="right">' . $langs->trans("Total") . '</td>';
     print '<td align="right">' . price2num($totalStock, 5) . '</td>';
     print '<td align="right">' . price(price2num($total, 'MT'), 1, $langs, 0, 0, -1, $conf->currency) . '</td>';
     print '<td align="right">';
Example #20
0
     $defaultref = '';
 }
 // Ref
 print '<tr><td><span class="fieldrequired">' . $langs->trans("Ref") . '</span></td><td><input size="12" type="text" name="ref" value="' . ($_POST["ref"] ? $_POST["ref"] : $defaultref) . '"></td></tr>';
 // Label
 print '<tr><td><span class="fieldrequired">' . $langs->trans("Label") . '</span></td><td><input size="40" type="text" name="title" value="' . GETPOST("title") . '"></td></tr>';
 // Thirdparty
 print '<tr><td>' . $langs->trans("ThirdParty") . '</td><td>';
 $filteronlist = '';
 if (!empty($conf->global->PROJECT_FILTER_FOR_THIRDPARTY_LIST)) {
     $filteronlist = $conf->global->PROJECT_FILTER_FOR_THIRDPARTY_LIST;
 }
 $text = $form->select_thirdparty_list(GETPOST('socid', 'int'), 'socid', $filteronlist, 1, 1);
 if (empty($conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS) && empty($conf->dol_use_jmobile)) {
     $texthelp = $langs->trans("IfNeedToUseOhterObjectKeepEmpty");
     print $form->textwithtooltip($text . ' ' . img_help(), $texthelp, 1);
 } else {
     print $text;
 }
 print ' <a href="' . DOL_URL_ROOT . '/societe/soc.php?action=create&backtopage=' . urlencode($_SERVER["PHP_SELF"] . '?action=create') . '">' . $langs->trans("AddThirdParty") . '</a>';
 print '</td></tr>';
 // Status
 if ($status != '') {
     print '<tr><td>' . $langs->trans("Status") . '</td><td>';
     print '<input type="hidden" name="status" value="' . $status . '">';
     print $object->LibStatut($status, 4);
     print '</td></tr>';
 }
 // Public
 print '<tr><td>' . $langs->trans("Visibility") . '</td><td>';
 $array = array(0 => $langs->trans("PrivateProject"), 1 => $langs->trans("SharedProject"));
                 $text_info .= '&nbsp;' . $langs->trans('SupplierOrder') . '&nbsp;:&nbsp;' . $stock_order_supplier . '<br>';
             } else {
                 $text_info .= '<br>';
             }
         }
     }
     if ($notshippable == 0) {
         $text_icon = img_picto('', 'object_sending');
         $text_info = $langs->trans('Shippable') . '<br>' . $text_info;
     } else {
         $text_icon = img_picto('', 'error');
         $text_info = $langs->trans('NonShippable') . '<br>' . $text_info;
     }
     if ($nbprod > 0) {
         print '<td>';
         print $form->textwithtooltip('', $text_info, 2, 1, $text_icon, '', 2);
         print '</td>';
     }
 }
 // warning late icon
 print '<td style="min-width: 20px" class="nobordernopadding nowrap">';
 if ($objp->fk_statut > 0 && $objp->fk_statut < 3 && max($db->jdate($objp->date_commande), $db->jdate($objp->date_delivery)) < $now - $conf->commande->client->warning_delay) {
     print img_picto($langs->trans("Late"), "warning");
 }
 if (!empty($objp->note_private)) {
     print ' <span class="note">';
     print '<a href="' . DOL_URL_ROOT . '/commande/note.php?id=' . $objp->rowid . '">' . img_picto($langs->trans("ViewPrivateNote"), 'object_generic') . '</a>';
     print '</span>';
 }
 print '</td>';
 print '<td width="16" align="right" class="nobordernopadding hideonsmartphone">';
Example #22
0
				if ($delivery->lines[$i]->fk_product > 0)
				{
					$product = new Product($db);
					$product->fetch($delivery->lines[$i]->fk_product);

					print '<td>';

					// Affiche ligne produit
					$text = '<a href="'.DOL_URL_ROOT.'/product/fiche.php?id='.$delivery->lines[$i]->fk_product.'">';
					if ($delivery->lines[$i]->fk_product_type==1) $text.= img_object($langs->trans('ShowService'),'service');
					else $text.= img_object($langs->trans('ShowProduct'),'product');
					$text.= ' '.$delivery->lines[$i]->ref.'</a>';
					$text.= ' - '.$delivery->lines[$i]->label;
					$description=($conf->global->PRODUIT_DESC_IN_FORM?'':dol_htmlentitiesbr($delivery->lines[$i]->description));
					//print $description;
					print $html->textwithtooltip($text,$description,3,'','',$i);
					print_date_range($delivery->lines[$i]->date_start,$delivery->lines[$i]->date_end);
					if ($conf->global->PRODUIT_DESC_IN_FORM)
					{
						print ($delivery->lines[$i]->description && $delivery->lines[$i]->description!=$delivery->lines[$i]->label)?'<br>'.dol_htmlentitiesbr($delivery->lines[$i]->description):'';
					}
				}
				else
				{
					print "<td>";
					if ($delivery->lines[$i]->fk_product_type==1) $text = img_object($langs->trans('Service'),'service');
					else $text = img_object($langs->trans('Product'),'product');
					print $text.' '.nl2br($delivery->lines[$i]->description);
					print_date_range($objp->date_start,$objp->date_end);
					print "</td>\n";
				}
Example #23
0
/**
 *  Show an HTML header + a BODY + The top menu bar
 *  @param      head    		Lines in the HEAD
 *  @param      title   		Title of web page
 *  @param      target  		Target to use in menu links
 *	@param		disablejs		Do not output links to js (Ex: qd fonction utilisee par sous formulaire Ajax)
 *	@param		disablehead		Do not output head section
 *	@param		arrayofjs		Array of js files to add in header
 *	@param		arrayofcss		Array of css files to add in header
 *  @param		morequerystring	Query string to add to the link "print" to get same parameters (use only if autodetect fails)
 */
function top_menu($head, $title = '', $target = '', $disablejs = 0, $disablehead = 0, $arrayofjs = '', $arrayofcss = '', $morequerystring = '')
{
    global $user, $conf, $langs, $db, $dolibarr_main_authentication;
    $html = new Form($db);
    if (!$conf->top_menu) {
        $conf->top_menu = 'eldy_backoffice.php';
    }
    // For backward compatibility with old modules
    if (empty($conf->headerdone)) {
        top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss);
    }
    print '<body id="mainbody">';
    if ($conf->use_javascript_ajax) {
        if ($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT) {
            print '<script type="text/javascript">
				jQuery(document).ready(function () {
					jQuery("body").layout( layoutSettings );
				});
				var layoutSettings = {
					name: "mainlayout",
					defaults: {
						useStateCookie: true,
						size: "auto",
						resizable: false,
						//paneClass: "none",
						//resizerClass: "resizer",
						//togglerClass: "toggler",
						//buttonClass: "button",
						//contentSelector: ".content",
						//contentIgnoreSelector: "span",
						togglerTip_open: "Close This Pane",
						togglerTip_closed: "Open This Pane",
						resizerTip:	"Resize This Pane"
					},
					west: {
						paneClass: "leftContent",
						spacing_closed:	14,
						togglerLength_closed: 14,
						togglerAlign_closed: "top",
						//togglerLength_open: 0,
						//	effect defaults - overridden on some panes
						//slideTrigger_open:	"mouseover",
						//initClosed:	true,
						fxName:	"drop",
						fxSpeed: "normal",
						fxSettings: { easing: "" }
					},
					north: {
						paneClass: "none",
						resizerClass: "none",
						togglerClass: "none",
						spacing_open: 0,
						togglerLength_open:	0,
						togglerLength_closed: -1,
						slidable: false,
						fxName:	"none"
					},
					center: {
						paneSelector: "#mainContent"
					}
				}
    		</script>';
        }
        if (!empty($conf->global->MAIN_MENU_USE_JQUERY_ACCORDION)) {
            print "\n" . '<script type="text/javascript">
					jQuery(document).ready(function () {
						jQuery( ".vmenu" ).accordion({
							autoHeight: false,
							event: "mouseover",
							//collapsible: true,
							//active: 2,
							header: "> .blockvmenupair > .menu_titre"
						});
					});
					</script>';
        }
        // Wrapper to show tooltips
        print "\n" . '<script type="text/javascript">
                    jQuery(document).ready(function () {
                    	jQuery(function() {
                        	$(".classfortooltip").tipTip({maxWidth: "600px", edgeOffset: 10, delay: 50, fadeIn: 50, fadeOut: 50});
                        });
                    });
                </script>';
    }
    /*
     * Top menu
     */
    $top_menu = isset($conf->browser->phone) ? $conf->smart_menu : $conf->top_menu;
    if (GETPOST('menu')) {
        $top_menu = GETPOST('menu');
    }
    // menu=eldy_backoffice.php
    // Load the top menu manager
    $result = dol_include_once("/includes/menus/standard/" . $top_menu);
    if (!$result) {
        $top_menu = 'eldy_backoffice.php';
        include_once DOL_DOCUMENT_ROOT . "/includes/menus/standard/" . $top_menu;
    }
    print "\n" . '<!-- Start top horizontal menu ' . $top_menu . ' -->' . "\n";
    if ($conf->use_javascript_ajax && $conf->global->MAIN_MENU_USE_JQUERY_LAYOUT) {
        print '<div class="ui-layout-north"> <!-- Begin top layout -->' . "\n";
    }
    print '<div id="tmenu_tooltip" class="tmenu">' . "\n";
    // Show menu
    $menutop = new MenuTop($db);
    $menutop->atarget = $target;
    $menutop->showmenu();
    // This contains a \n
    print "</div>\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 = '<div class="login"><a href="' . DOL_URL_ROOT . '/user/fiche.php?id=' . $user->id . '"';
    $logintext .= $menutop->atarget ? ' target="' . $menutop->atarget . '"' : '';
    $logintext .= '>' . $user->login . '</a>';
    if ($user->societe_id) {
        $logintext .= $companylink;
    }
    $logintext .= '</div>';
    $loginhtmltext .= '<u>' . $langs->trans("User") . '</u>';
    $loginhtmltext .= '<br><b>' . $langs->trans("Name") . '</b>: ' . $user->getFullName($langs);
    $loginhtmltext .= '<br><b>' . $langs->trans("Login") . '</b>: ' . $user->login;
    $loginhtmltext .= '<br><b>' . $langs->trans("Administrator") . '</b>: ' . yn($user->admin);
    $type = $user->societe_id ? $langs->trans("External") . $company : $langs->trans("Internal");
    $loginhtmltext .= '<br><b>' . $langs->trans("Type") . '</b>: ' . $type;
    $loginhtmltext .= '<br><b>' . $langs->trans("IPAddress") . '</b>: ' . $_SERVER["REMOTE_ADDR"];
    $loginhtmltext .= '<br>';
    $loginhtmltext .= '<br><u>' . $langs->trans("Connection") . '</u>';
    if ($conf->global->MAIN_MODULE_MULTICOMPANY) {
        $loginhtmltext .= '<br><b>' . $langs->trans("ConnectedOnMultiCompany") . '</b>: ' . $conf->entity . ' (user entity ' . $user->entity . ')';
    }
    $loginhtmltext .= '<br><b>' . $langs->trans("ConnectedSince") . '</b>: ' . dol_print_date($user->datelastlogin, "dayhour");
    $loginhtmltext .= '<br><b>' . $langs->trans("PreviousConnexion") . '</b>: ' . dol_print_date($user->datepreviouslogin, "dayhour");
    $loginhtmltext .= '<br><b>' . $langs->trans("AuthenticationMode") . '</b>: ' . $_SESSION["dol_authmode"];
    $loginhtmltext .= '<br><b>' . $langs->trans("CurrentTheme") . '</b>: ' . $conf->theme;
    $s = picto_from_langcode($langs->getDefaultLang());
    $loginhtmltext .= '<br><b>' . $langs->trans("CurrentUserLanguage") . '</b>: ' . ($s ? $s . ' ' : '') . $langs->getDefaultLang();
    $loginhtmltext .= '<br><b>' . $langs->trans("Browser") . '</b>: ' . $conf->browser->name . ' (' . $_SERVER['HTTP_USER_AGENT'] . ')';
    if (!empty($conf->browser->phone)) {
        $loginhtmltext .= '<br><b>' . $langs->trans("Phone") . '</b>: ' . $conf->browser->phone;
    }
    if (!empty($_SESSION["disablemodules"])) {
        $loginhtmltext .= '<br><b>' . $langs->trans("DisabledModules") . '</b>: <br>' . join(', ', explode(',', $_SESSION["disablemodules"]));
    }
    // Link info
    $logouthtmltext = '';
    $logouttext = '';
    $logouthtmltext = $langs->trans("Logout") . '<br>';
    //$logouthtmltext.="<br>";
    if ($_SESSION["dol_authmode"] != 'forceuser' && $_SESSION["dol_authmode"] != 'http') {
        $logouttext .= '<a href="' . DOL_URL_ROOT . '/user/logout.php"';
        $logouttext .= $menutop->atarget ? ' target="' . $menutop->atarget . '"' : '';
        $logouttext .= '>';
        $logouttext .= '<img class="login" border="0" width="14" height="14" src="' . DOL_URL_ROOT . '/theme/' . $conf->theme . '/img/logout.png"';
        $logouttext .= ' alt="' . dol_escape_htmltag($langs->trans("Logout")) . '" title=""';
        $logouttext .= '>';
        $logouttext .= '</a>';
    } else {
        $logouttext .= '<img class="login" border="0" width="14" height="14" src="' . DOL_URL_ROOT . '/theme/' . $conf->theme . '/img/logout.png"';
        $logouttext .= ' alt="' . dol_escape_htmltag($langs->trans("Logout")) . '" title=""';
        $logouttext .= '>';
    }
    print '<div class="login_block">' . "\n";
    print '<table class="nobordernopadding" summary=""><tr>';
    print $html->textwithtooltip('', $loginhtmltext, 2, 1, $logintext, '', 1);
    // Select entity
    if (!empty($conf->global->MAIN_MODULE_MULTICOMPANY)) {
        if ($user->admin && !$user->entity) {
            $res = @dol_include_once('/multicompany/class/actions_multicompany.class.php');
            if ($res) {
                $mc = new ActionsMulticompany($db);
                $mc->showInfo($conf->entity);
            }
        }
    }
    print $html->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 = '<a href="' . $_SERVER["PHP_SELF"] . '?' . $qs . ($qs ? '&' : '') . 'optioncss=print" target="_blank">';
        $text .= '<img class="printer" border="0" width="14" height="14" src="' . DOL_URL_ROOT . '/theme/' . $conf->theme . '/img/printer.png"';
        $text .= ' title="" alt="">';
        $text .= '</a>';
        print $html->textwithtooltip('', $langs->trans("PrintContentArea"), 2, 1, $text, '', 1);
    }
    print '</tr></table>' . "\n";
    print "</div>\n";
    if ($conf->use_javascript_ajax && $conf->global->MAIN_MENU_USE_JQUERY_LAYOUT) {
        print "</div><!-- End top layout -->\n";
    }
    print "<!-- End top horizontal menu -->\n";
    if (!$conf->use_javascript_ajax || !$conf->global->MAIN_MENU_USE_JQUERY_LAYOUT) {
        print '<table width="100%" class="notopnoleftnoright" summary="leftmenutable" id="undertopmenu"><tr>';
    }
}