Workaround for segfaults in some buggy php encoding library versions.
[fa-stable.git] / includes / page / header.inc
index 880c03f449489eb4ac4729bfbb63327ce3741dd2..7777dae422e66241483f09f5f2800e6160442949 100644 (file)
@@ -40,9 +40,26 @@ function help_url($context=null)
        if ($clean)
                $help_page_url = access_string($help_page_url, true);
 
-       return $SysPrefs->help_base_url
+       return html_specials_encode(
+               $SysPrefs->help_base_url
                .urlencode(strtr(ucwords($help_page_url), array(' '=>'', '/'=>'', '&'=>'And')))
-               .'&ctxhelp=1&lang='.$country;
+               .'&ctxhelp=1&lang='.$country);
+}
+
+function send_css($css = '')
+{
+       global $css_files;
+
+       css_files_ensure_init();
+
+       foreach ($css_files as $css_file)
+       {
+               echo "<link href='$css_file' rel='stylesheet' type='text/css'> \n";
+       }
+       if ($css)
+       {
+               echo "<link href='$css' rel='stylesheet' type='text/css'> \n";
+       }
 }
 
 function send_scripts()
@@ -78,14 +95,9 @@ function page_header($title, $no_menu=false, $is_index=false, $onload="", $js=""
        if (in_ajax())
                return; // just for speed up
 
-//     $jsext = substr_replace($_SERVER['PHP_SELF'], '.js', -4);
-
-//     if (file_exists($_SERVER['DOCUMENT_ROOT'].$jsext))
-//             add_js_ufile($jsext);
-
        $theme = user_theme();
 
-       if ($SysPrefs->help_base_url != null && $SysPrefs->SysPrefs->use_popup_windows && $js == '')
+       if ($SysPrefs->help_base_url != null && $SysPrefs->use_popup_windows && $js == '')
        {
                if (!function_exists('get_js_open_window'))
                {
@@ -94,7 +106,7 @@ function page_header($title, $no_menu=false, $is_index=false, $onload="", $js=""
                add_js_source(get_js_open_window(900, 500));
        }
        if ($js!='')
-         add_js_source($js);
+               add_js_source($js);
 
        if (!isset($no_menu))
        {
@@ -122,16 +134,17 @@ function page_header($title, $no_menu=false, $is_index=false, $onload="", $js=""
        $encoding = $_SESSION['language']->encoding;
 
        if (!headers_sent()){
-               header("Content-type: text/html; charset='$encoding'");
+               header("Content-type: text/html; charset=$encoding");
        }
        echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n";
        echo "<html dir='" . $_SESSION['language']->dir . "' >\n";
        echo "<head profile=\"http://www.w3.org/2005/10/profile\"><title>$title</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 "<meta http-equiv='X-UA-Compatible' content='IE=10'>\n";
        echo "<meta http-equiv='Content-type' content='text/html; charset=$encoding'>";
-       echo "<link href='$path_to_root/themes/$theme/default.css' rel='stylesheet' type='text/css'> \n";
-       echo "<link href='$path_to_root/themes/default/images/favicon.ico' rel='icon' type='image/x-icon'> \n";
-       if ($css)
-               echo '<link href="'.$css.'" rel="stylesheet" type="text/css">';
+       echo "<link href='$path_to_root/themes/default/images/favicon.ico' rel='icon' type='image/x-icon'> \n";
+
+       send_css($css);
 
        send_scripts();