summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2005-10-30 16:28:28 +0100
committerAndreas Gohr <andi@splitbrain.org>2005-10-30 16:28:28 +0100
commit1c2d1019f48fa6b2dbc154f7534341ad0869a5d7 (patch)
tree88de342e9a03e4dd8cea16dec47788030f34d53c /lib
parent6640792b86ac86bf8f51dcb48e250b5f8f4c9036 (diff)
downloadrpg-1c2d1019f48fa6b2dbc154f7534341ad0869a5d7.tar.gz
rpg-1c2d1019f48fa6b2dbc154f7534341ad0869a5d7.tar.bz2
Interwiki icons are set through CSS classes now
darcs-hash:20051030152828-7ad00-58a99ca20a1d6ec62612a6281034c1dd669be44d.gz
Diffstat (limited to 'lib')
-rw-r--r--lib/exe/css.php41
-rw-r--r--lib/exe/js.php2
-rw-r--r--lib/images/interwiki.png (renamed from lib/tpl/default/images/interwiki.png)bin1089 -> 1089 bytes
-rw-r--r--lib/tpl/default/design.css4
4 files changed, 42 insertions, 5 deletions
diff --git a/lib/exe/css.php b/lib/exe/css.php
index 7b6523b41..a9e0efab5 100644
--- a/lib/exe/css.php
+++ b/lib/exe/css.php
@@ -7,10 +7,11 @@
*/
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
-define('NOSESSION',true); // we do not use a session or authentication here (better caching)
+if(!defined('NOSESSION')) define('NOSESSION',true); // we do not use a session or authentication here (better caching)
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/pageutils.php');
require_once(DOKU_INC.'inc/io.php');
+require_once(DOKU_INC.'inc/confutils.php');
// Main (don't run when UNIT test)
if(!defined('SIMPLE_TEST')){
@@ -64,6 +65,9 @@ function css_out(){
// start output buffering and build the stylesheet
ob_start();
+ // print the default classes for Interwikilinks
+ css_interwiki();
+
// load files
foreach($files as $file => $location){
print css_loadfile($file, $location);
@@ -109,6 +113,41 @@ function css_cacheok($cache,$files){
}
/**
+ * Prints classes for interwikilinks
+ *
+ * Interwiki links have two classes: 'interwiki' and 'iw_$name>' where
+ * $name is the identifier given in the config. All Interwiki links get
+ * an default style with a default icon. If a special icon is available
+ * for an interwiki URL it is set in it's own class. Both classes can be
+ * overwritten in the template or userstyles.
+ *
+ * @author Andreas Gohr <andi@splitbrain.org>
+ */
+function css_interwiki(){
+
+ // default style
+ echo 'a.interwiki {';
+ echo ' background: transparent url('.DOKU_BASE.'lib/images/interwiki.png) 0px 1px no-repeat;';
+ echo ' padding-left: 16px;';
+ echo '}';
+
+ // additional styles when icon available
+ $iwlinks = getInterwiki();
+ foreach(array_keys($iwlinks) as $iw){
+ if(@file_exists(DOKU_INC.'lib/images/interwiki/'.$iw.'.png')){
+ echo "a.iw_$iw {";
+ echo ' background-image: url('.DOKU_BASE.'lib/images/interwiki/'.$iw.'.png)';
+ echo '}';
+ }elseif(@file_exists(DOKU_INC.'lib/images/interwiki/'.$iw.'.gif')){
+ echo "a.iw_$iw {";
+ echo ' background-image: url('.DOKU_BASE.'lib/images/interwiki/'.$iw.'.gif)';
+ echo '}';
+ }
+ }
+
+}
+
+/**
* Loads a given file and fixes relative URLs with the
* given location prefix
*/
diff --git a/lib/exe/js.php b/lib/exe/js.php
index 9708dbc0d..b8b8c6401 100644
--- a/lib/exe/js.php
+++ b/lib/exe/js.php
@@ -7,7 +7,7 @@
*/
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../').'/');
-define('NOSESSION',true); // we do not use a session or authentication here (better caching)
+if(!defined('NOSESSION')) define('NOSESSION',true); // we do not use a session or authentication here (better caching)
require_once(DOKU_INC.'inc/init.php');
require_once(DOKU_INC.'inc/pageutils.php');
require_once(DOKU_INC.'inc/io.php');
diff --git a/lib/tpl/default/images/interwiki.png b/lib/images/interwiki.png
index 73d6f8d39..73d6f8d39 100644
--- a/lib/tpl/default/images/interwiki.png
+++ b/lib/images/interwiki.png
Binary files differ
diff --git a/lib/tpl/default/design.css b/lib/tpl/default/design.css
index 7b84ea614..f68043fa9 100644
--- a/lib/tpl/default/design.css
+++ b/lib/tpl/default/design.css
@@ -214,10 +214,8 @@ a.windows:hover {
text-decoration:underline;
}
-/* interwiki link */
+/* interwiki link (icon are set by dokuwiki) */
a.interwiki{
- background: transparent url(images/interwiki.png) 0px 1px no-repeat;
- padding-left: 16px;
color:#436976;
text-decoration:none;
}