- /*
- * Add closing / to link and meta elements only after switching to xhtml 1.0 Transitional.
- * It is not compatible with html 4.01 Transitional
- */
- $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";
+ /**
+ * Stylesheets are loaded in the following order:
+ * 1) All stylesheets provided by the template. Normally, these are
+ * stylsheets in $sTplDir/css/. This is accomplished by calling
+ * $oTemplate->fetch_standard_stylesheet_links().
+ * 2) An optional user-defined stylesheet. This is set in the Display
+ * Preferences.
+ * 3) src/style.php which sets some basic font prefs.
+ * 4) If we are dealing with an RTL language, we load rtl.css from the
+ * template set.
+ **/
+
+ // 1. Stylesheets from the template.
+ $header_tags .= $oTemplate->fetch_standard_stylesheet_links();
+
+ $aUserStyles = array();
+ // 2. Option user-defined stylesheet from preferences.
+// FIXME: the following user pref ("sUserStyle"; rename as necessary) will have to be populated by the display prefs screen from a widget similar to the color themes widget (which it replaces) where its values should be full relative paths (from SM_PATH) to the selected css "themes" (either in template css/alternates dir or SM_PATH/css/alternates dir)
+// FIXME: uhhh, getPref() is not available yet here. (at least on login page) Ugh. Nor has load_prefs been included yet -- how do we fix this?
+// $aUserStyles[] = getPref($data_dir, $username, 'sUserStyle', '');
+ if (!empty($chosen_theme) && substr($chosen_theme, 0, 2) == 'u_') {
+ $aUserStyles[] = substr($chosen_theme, 2) .'default.css';
+ }
+
+ // 3. src/style.php
+ $aUserStyles[] = $base_uri .'src/style.php?'
+ . (!empty($used_fontset) ? '&fontset='.$used_fontset : '')
+ . (!empty($used_fontsize) ? '&fontsize='.$used_fontsize : '');
+ $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();