From 4b15e09d7fd735b5df41e47b6e324e0bc44fa872 Mon Sep 17 00:00:00 2001
From: Andreas Gohr <andi@splitbrain.org>
Date: Sun, 31 Jul 2005 09:35:21 +0200
Subject: [PATCH] Plugins can  add their own CSS now

Plugins can use their own styleheets now. They are loaded in the tpl_metaheader
function.

The following files are used if existing in the plugin's directory:

style.css  - overall style used always
screen.css - only used in normal view (media

darcs-hash:20050731073521-7ad00-dcece7a255d3b08a1d2da9f2444b31e628ee76ea.gz
---
 inc/pluginutils.php | 27 ++++++++++++++++++++++++---
 inc/template.php    |  5 +++--
 2 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/inc/pluginutils.php b/inc/pluginutils.php
index 6c758a1be..4988a169c 100644
--- a/inc/pluginutils.php
+++ b/inc/pluginutils.php
@@ -6,20 +6,41 @@
  * @author     Andreas Gohr <andi@splitbrain.org>
  */
 
+/**
+ * prints needed HTML to include plugin CSS files
+ */
+function plugin_printCSS(){
+  $plugins = plugin_list();
+  foreach ($plugins as $p){
+    $dir = "lib/plugins/$p/";
+		if(@file_exists(DOKU_INC.$dir.'style.css')){
+			print '  <link rel="stylesheet" type="text/css" href="'.DOKU_BASE.$dir.'style.css" />'."\n";
+    }
+		if(@file_exists(DOKU_INC.$dir.'screen.css')){
+			print '  <link rel="stylesheet" media="screen" type="text/css" href="'.DOKU_BASE.$dir.'screen.css" />'."\n";
+    }
+		if(@file_exists(DOKU_INC.$dir.'print.css')){
+			print '  <link rel="stylesheet" media="print" type="text/css" href="'.DOKU_BASE.$dir.'print.css" />'."\n";
+    }
+	}
+} 
+
 /**
  * Returns a list of available plugins of given type
  *
+ * Returns all plugins if no type given
+ *
  * @author Andreas Gohr <andi@splitbrain.org>
  */
-function plugin_list($type){
+function plugin_list($type=''){
   $plugins = array();
   if ($dh = opendir(DOKU_PLUGIN)) {
     while (false !== ($file = readdir($dh))) {
       if ($file == '.' || $file == '..') continue;
       if (is_file(DOKU_PLUGIN.$file)) continue;
 
-      if (@file_exists(DOKU_PLUGIN.$file.'/'.$type.'.php')){
-        $plugins[] = $file;
+	    if ($type=='' ||   @file_exists(DOKU_PLUGIN.$file.'/'.$type.'.php')){
+  	    $plugins[] = $file;
       }
     }
     closedir($dh);
diff --git a/inc/template.php b/inc/template.php
index 1d55ab102..bbbf5bb6b 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -207,7 +207,8 @@ function tpl_metaheaders(){
   ptln('<script language="javascript" type="text/javascript" charset="utf-8" src="'.
        DOKU_BASE.'lib/scripts/domTT.js"></script>',$it);
 
-  //FIXME include some default CSS ? IE FIX?
+  // plugin stylesheets
+  plugin_printCSS();
 }
 
 /**
@@ -603,7 +604,7 @@ function tpl_mediafilelist(){
   search($data,$conf['mediadir'],'search_media',array(),$dir);
 
   if(!count($data)){
-    ptln('<div class="nothing">'.$lang['nothingfound'].'<div>');
+    ptln('<div class="nothing">'.$lang['nothingfound'].'</div>');
     return;
   }
 
-- 
GitLab