2 /**********************************************************************
3 Copyright (C) FrontAccounting, LLC.
4 Released under the terms of the GNU General Public License, GPL,
5 as published by the Free Software Foundation, either version 3
6 of the License, or (at your option) any later version.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10 See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
11 ***********************************************************************/
13 If no context is set current page/menu screen is selected.
15 function help_url($context=null)
18 global $SysPrefs, $help_context;
20 $country = $_SESSION['language']->code;
25 $help_page_url = $context;
27 elseif (isset($help_context))
29 $help_page_url = $help_context;
32 $app = $_SESSION['sel_app'];
33 $help_page_url = $_SESSION['App']->applications[$app]->help_context;
37 if (@$SysPrefs->old_style_help)
38 $help_page_url = _($help_page_url);
41 $help_page_url = access_string($help_page_url, true);
43 return htmlspecialchars($SysPrefs->help_base_url
44 .urlencode(strtr(ucwords($help_page_url), array(' '=>'', '/'=>'', '&'=>'And')))
45 .'&ctxhelp=1&lang='.$country, ENT_QUOTES);
48 function send_css($css = '')
52 css_files_ensure_init();
54 foreach ($css_files as $css_file)
56 echo "<link href='$css_file' rel='stylesheet' type='text/css'> \n";
60 echo "<link href='$css' rel='stylesheet' type='text/css'> \n";
64 function send_scripts()
66 global $SysPrefs, $path_to_root, $js_static, $js_path, $js_userlib;
69 foreach($js_static as $jsfile)
71 $cached_name = basename($jsfile);
72 $fpath = user_js_cache().'/'.$cached_name;
73 // compress also static files
74 if (!file_exists($fpath) || $SysPrefs->go_debug)
75 cache_js_file($fpath, file_get_contents($js_path.$jsfile));
77 $js .= '<script language="javascript" type="text/javascript" src="'.
78 $fpath . '"></script>';
80 foreach($js_userlib as $jsfile)
82 $js .= '<script language="javascript" type="text/javascript" src="'.
83 $jsfile . '"></script>';
89 function page_header($title, $no_menu=false, $is_index=false, $onload="", $js="", $css='')
91 // titles and screen header
92 global $path_to_root, $SysPrefs, $db_connections;
95 return; // just for speed up
97 $theme = user_theme();
99 if ($SysPrefs->help_base_url != null && $SysPrefs->use_popup_windows && $js == '')
101 if (!function_exists('get_js_open_window'))
103 include_once($path_to_root.'/includes/ui/ui_view.inc');
105 add_js_source(get_js_open_window(900, 500));
110 if (!isset($no_menu))
114 if (isset($_SESSION["App"]) && is_object($_SESSION["App"]) && isset($_SESSION["App"]->selected_application) &&
115 $_SESSION["App"]->selected_application != "")
116 $sel_app = $_SESSION["App"]->selected_application;
117 elseif (isset($_SESSION["sel_app"]) && $_SESSION["sel_app"] != "")
118 $sel_app = $_SESSION["sel_app"];
120 $sel_app = user_startup_tab();
121 $_SESSION["sel_app"] = $sel_app;
123 // When startup tab for current user was set to already
124 // removed/inactivated extension module select Sales tab as default.
125 if (isset($_SESSION["App"]) && is_object($_SESSION["App"]))
126 $_SESSION["App"]->selected_application =
127 isset($_SESSION["App"]->applications[$sel_app]) ? $sel_app : 'orders';
129 $page_header_args = func_get_args();
130 if(isset($db_connections)) // skip before installation
131 hook_invoke_all('pre_header', $page_header_args);
133 $encoding = $_SESSION['language']->encoding;
135 if (!headers_sent()){
136 header("Content-type: text/html; charset=$encoding");
138 echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
139 echo "<html dir='" . $_SESSION['language']->dir . "' >\n";
140 echo "<head profile=\"http://www.w3.org/2005/10/profile\"><title>$title</title>";
141 if (strpos($_SERVER['HTTP_USER_AGENT'], 'Trident/7.0; rv:11.0') != -1) // IE 11 doesn't work with input file type in form.
142 echo "<meta http-equiv='X-UA-Compatible' content='IE=10'>\n";
143 echo "<meta http-equiv='Content-type' content='text/html; charset=$encoding'>";
144 echo "<link href='$path_to_root/themes/default/images/favicon.ico' rel='icon' type='image/x-icon'> \n";
154 echo "<body onload=\"$onload\">";
156 include_once($path_to_root . "/themes/$theme/renderer.php");
157 $rend = new renderer();
158 $rend->menu_header($title, $no_menu, $is_index);