@@ -78,6 +78,9 @@ function skin_init( $disp )
7878
7979 $ Debuglog ->add ('skin_init: $disp= ' .$ disp , 'skins ' );
8080
81+ // Initialize site skin if it is enabled:
82+ siteskin_init ();
83+
8184 // This is the main template; it may be used to display very different things.
8285 // Do inits depending on current $disp:
8386 switch ( $ disp )
@@ -1556,12 +1559,25 @@ function skin_init( $disp )
15561559
15571560function siteskin_init ()
15581561{
1559- // The following is temporary and should be moved to some SiteSkin class
15601562 global $ Settings ;
15611563
1562- if ( $ Settings ->get ( 'site_skins_enabled ' ) )
1563- { // Site skins are enabled
1564- // Include the additional required files
1564+ if ( ! $ Settings ->get ( 'site_skins_enabled ' ) )
1565+ { // Site skins are not enabled:
1566+ return ;
1567+ }
1568+
1569+ // Get site skin:
1570+ $ skin_ID = $ Settings ->get ( 'normal_skin_ID ' );
1571+ $ SkinCache = & get_SkinCache ();
1572+ $ site_Skin = & $ SkinCache ->get_by_ID ( $ skin_ID , false , false );
1573+
1574+ if ( $ site_Skin )
1575+ { // Initialize site skin:
1576+ $ site_Skin ->siteskin_init ();
1577+ }
1578+ else
1579+ { // Fallback:
1580+ // The following is temporary and should be moved to some SiteSkin class
15651581 siteskin_include ( '_skin_init.inc.php ' );
15661582 }
15671583}
@@ -1919,7 +1935,7 @@ function skin_template_path( $template_name )
19191935 */
19201936function siteskin_include ( $ template_name , $ params = array (), $ force = false )
19211937{
1922- global $ Settings , $ siteskins_path , $ Blog ;
1938+ global $ Settings , $ siteskins_path , $ skins_path , $ Blog ;
19231939
19241940 if ( !$ Settings ->get ( 'site_skins_enabled ' ) && !$ force )
19251941 { // Site skins are not enabled and we don't want to force either
@@ -1945,14 +1961,25 @@ function siteskin_include( $template_name, $params = array(), $force = false )
19451961 $ timer_name = 'siteskin_include( ' .$ template_name .') ' ;
19461962 $ Timer ->resume ( $ timer_name );
19471963
1948- if ( file_exists ( $ siteskins_path .'custom/ ' .$ template_name ) )
1949- { // Use the custom template:
1964+ // Get site skin:
1965+ $ skin_ID = $ Settings ->get ( 'normal_skin_ID ' );
1966+ $ SkinCache = & get_SkinCache ();
1967+ $ site_Skin = & $ SkinCache ->get_by_ID ( $ skin_ID , false , false );
1968+
1969+ if ( $ site_Skin && file_exists ( $ skins_path .$ site_Skin ->folder .'/ ' .$ template_name ) )
1970+ { // Use site skin template:
1971+ $ file = $ skins_path .$ site_Skin ->folder .'/ ' .$ template_name ;
1972+ $ debug_info = '<b>Site Skin template</b>: ' .rel_path_to_base ($ file );
1973+ $ disp_handled = 'skin ' ;
1974+ }
1975+ elseif ( file_exists ( $ siteskins_path .'custom/ ' .$ template_name ) )
1976+ { // Use the custom template:
19501977 $ file = $ siteskins_path .'custom/ ' .$ template_name ;
19511978 $ debug_info = '<b>Custom template</b>: ' .rel_path_to_base ($ file );
19521979 $ disp_handled = 'custom ' ;
19531980 }
19541981 elseif ( file_exists ( $ siteskins_path .$ template_name ) ) // Try to include standard template only if custom template doesn't exist
1955- { // Use the default/fallback template:
1982+ { // Use the default/fallback template:
19561983 $ file = $ siteskins_path .$ template_name ;
19571984 $ debug_info = '<b>Fallback to</b>: ' .rel_path_to_base ($ file );
19581985 $ disp_handled = 'fallback ' ;
0 commit comments