- $templatedir=basename($sTplDir);
- $oTemplate->assign('base_uri',$base_uri);
- $oTemplate->assign('templatedir',$templatedir);
- $oTemplate->assign('themeid',$used_theme);
- $oTemplate->display('stylelink.tpl');
- echo '<link rel="stylesheet" type="text/css" href="'. $base_uri .'src/style.php'
- .'?themeid='.$used_theme
- .'&templatedir='.$templatedir
- .(!empty($used_fontset) ? '&fontset='.$used_fontset : '')
- .(!empty($used_fontsize) ? '&fontsize='.$used_fontsize : '')
- .(!empty($text_direction) ? '&dir='.$text_direction : '')."\">\n";
- // load custom style sheet (deprecated)
- if ( ! empty($theme_css) ) {
- echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"$theme_css\">\n";
+
+ // 1. Stylesheets from the template.
+ $header_tags .= $oTemplate->fetch_standard_stylesheet_links();
+
+ $aUserStyles = array();
+
+ // 2. Option user-defined stylesheet from preferences.
+ if (!empty($used_theme) && $used_theme != 'none') {
+ /**
+ * All styles (except "none" - ugh) just point to a directory,
+ * so we need to include all .css files in that directory.
+ */
+//FIXME: rid ourselves of "none" strings! I didn't do it here because I think the problem is that the theme itself should never be "none" (? well, what else would it be? if "none" theme is actually OK, then is there a constant to use below in stead of a hard-coded string?)
+ $styles = $used_theme == 'none' ? array()
+ : list_files($used_theme, '.css');
+ foreach ($styles as $sheet) {
+ $aUserStyles[] = $used_theme .'/'.$sheet;
+ }
+ }
+
+ // 3. src/style.php
+ $aUserStyles[] = $base_uri .'src/style.php?'
+ . (!empty($used_fontset) ? '&fontset='.$used_fontset : '')
+ . (!empty($used_fontsize) ? '&fontsize='.$used_fontsize : '');
+
+ // 3.1. Load the stylesheets we have already
+ $header_tags .= $oTemplate->fetch_external_stylesheet_links($aUserStyles);
+
+ // 4. Optional rtl.css stylesheet
+ if ($text_direction == 'rtl') {
+ $header_tags .= $oTemplate->fetch_right_to_left_stylesheet_link();