Workaround for segfaults in some buggy php encoding library versions.
[fa-stable.git] / includes / page / header.inc
index 793adc030678f06265548dc5768dde38a5810a45..7777dae422e66241483f09f5f2800e6160442949 100644 (file)
@@ -40,9 +40,26 @@ function help_url($context=null)
        if ($clean)
                $help_page_url = access_string($help_page_url, true);
 
-       return htmlspecialchars($SysPrefs->help_base_url
+       return html_specials_encode(
+               $SysPrefs->help_base_url
                .urlencode(strtr(ucwords($help_page_url), array(' '=>'', '/'=>'', '&'=>'And')))
-               .'&ctxhelp=1&lang='.$country, ENT_QUOTES);
+               .'&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()
@@ -125,10 +142,9 @@ function page_header($title, $no_menu=false, $is_index=false, $onload="", $js=""
        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();