X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=includes%2Fpage%2Fheader.inc;h=7777dae422e66241483f09f5f2800e6160442949;hb=67100a2b9c55e5ed9126bbf28aafb54d829066df;hp=c421a66587c0f3f7c4620953623e6ab40417d0a6;hpb=4def49c9e0be02ccdf814188c2a72ebd969a7a98;p=fa-stable.git diff --git a/includes/page/header.inc b/includes/page/header.inc index c421a665..7777dae4 100644 --- a/includes/page/header.inc +++ b/includes/page/header.inc @@ -1,82 +1,162 @@ . +***********************************************************************/ +/* + If no context is set current page/menu screen is selected. +*/ +function help_url($context=null) +{ + + global $SysPrefs, $help_context; -function page_header($title, $no_menu=false, $is_index=false, $onload="", $js="") + $country = $_SESSION['language']->code; + $clean = 0; + + if ($context!=null) + { + $help_page_url = $context; + } + elseif (isset($help_context)) + { + $help_page_url = $help_context; + } else // main menu + { + $app = $_SESSION['sel_app']; + $help_page_url = $_SESSION['App']->applications[$app]->help_context; + $clean = 1; + } + + if (@$SysPrefs->old_style_help) + $help_page_url = _($help_page_url); + + if ($clean) + $help_page_url = access_string($help_page_url, true); + + return html_specials_encode( + $SysPrefs->help_base_url + .urlencode(strtr(ucwords($help_page_url), array(' '=>'', '/'=>'', '&'=>'And'))) + .'&ctxhelp=1&lang='.$country); +} + +function send_css($css = '') +{ + global $css_files; + + css_files_ensure_init(); + + foreach ($css_files as $css_file) + { + echo " \n"; + } + if ($css) + { + echo " \n"; + } +} + +function send_scripts() +{ + global $SysPrefs, $path_to_root, $js_static, $js_path, $js_userlib; + + $js =''; + foreach($js_static as $jsfile) + { + $cached_name = basename($jsfile); + $fpath = user_js_cache().'/'.$cached_name; + // compress also static files + if (!file_exists($fpath) || $SysPrefs->go_debug) + cache_js_file($fpath, file_get_contents($js_path.$jsfile)); + + $js .= ''; + } + foreach($js_userlib as $jsfile) + { + $js .= ''; + } + + echo $js; +} + +function page_header($title, $no_menu=false, $is_index=false, $onload="", $js="", $css='') { // titles and screen header - global $db_connections, $path_to_root, $def_app; + global $path_to_root, $SysPrefs, $db_connections; + + if (in_ajax()) + return; // just for speed up + $theme = user_theme(); - $local_path_to_root = $path_to_root; + + if ($SysPrefs->help_base_url != null && $SysPrefs->use_popup_windows && $js == '') + { + if (!function_exists('get_js_open_window')) + { + include_once($path_to_root.'/includes/ui/ui_view.inc'); + } + add_js_source(get_js_open_window(900, 500)); + } + if ($js!='') + add_js_source($js); if (!isset($no_menu)) { $no_menu = false; } - if (!isset($_SESSION["sel_app"])) - session_register("sel_app"); if (isset($_SESSION["App"]) && is_object($_SESSION["App"]) && isset($_SESSION["App"]->selected_application) && $_SESSION["App"]->selected_application != "") - $sel_app = $_SESSION["App"]->selected_application; + $sel_app = $_SESSION["App"]->selected_application; elseif (isset($_SESSION["sel_app"]) && $_SESSION["sel_app"] != "") $sel_app = $_SESSION["sel_app"]; else - $sel_app = $def_app; + $sel_app = user_startup_tab(); $_SESSION["sel_app"] = $sel_app; - echo "dir . "' >"; - echo "$title"; - $encoding = $_SESSION['language']->encoding; - $local_stylesheet = $_SESSION['language']->get_stylesheet(); - echo ""; - echo " \n"; - if (file_exists($local_path_to_root. "/".$local_stylesheet)) - echo " \n"; - if ($js != "") - echo $js; + // When startup tab for current user was set to already + // removed/inactivated extension module select Sales tab as default. + if (isset($_SESSION["App"]) && is_object($_SESSION["App"])) + $_SESSION["App"]->selected_application = + isset($_SESSION["App"]->applications[$sel_app]) ? $sel_app : 'orders'; + + $page_header_args = func_get_args(); + if(isset($db_connections)) // skip before installation + hook_invoke_all('pre_header', $page_header_args); + + $encoding = $_SESSION['language']->encoding; + + if (!headers_sent()){ + header("Content-type: text/html; charset=$encoding"); + } + echo "\n"; + echo "dir . "' >\n"; + echo "$title"; + if (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident/7.0; rv:11.0') != -1) // IE 11 doesn't work with input file type in form. + echo "\n"; + echo ""; + echo " \n"; + + send_css($css); + + send_scripts(); + echo " \n"; if ($onload == "") echo ""; else echo ""; - echo "\n"; - echo "\n"; - echo "
\n"; - - echo "\n"; - echo "\n"; - echo "
\n"; - echo "\n"; - echo "\n"; - echo "
\n"; - if (!$no_menu) - { - echo "
"; - echo ""; - - echo "
"; - - echo ""; - echo ""; - echo "
" . $db_connections[$_SESSION["wa_current_user"]->company]["name"] . " | " . $_SERVER['SERVER_NAME'] . " | " . $_SESSION["wa_current_user"]->name . "" . _("Logout") . ""; - echo "
"; - } - - echo "
"; - - if ($title && !$no_menu && !$is_index) - { - echo "
$title
"; - } - if (!$is_index) - echo "
"; + include_once($path_to_root . "/themes/$theme/renderer.php"); + $rend = new renderer(); + $rend->menu_header($title, $no_menu, $is_index); + error_box(); } -?> \ No newline at end of file