summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2005-11-11 21:39:02 +0100
committerAndreas Gohr <andi@splitbrain.org>2005-11-11 21:39:02 +0100
commit9d2ddea4dd0070b4ea2963387d5cd361de0afc97 (patch)
tree0d301f95d892ae0e8697a525f23400d190a65cf3
parentc971ac6dd19bf45d86e2ce199d061393e628c1d8 (diff)
downloadrpg-9d2ddea4dd0070b4ea2963387d5cd361de0afc97.tar.gz
rpg-9d2ddea4dd0070b4ea2963387d5cd361de0afc97.tar.bz2
fix for bad characters in interwiki classes
darcs-hash:20051111203902-7ad00-d3cd09528f6732723652e1bb01ba6e8fb9b6205f.gz
-rw-r--r--inc/parser/xhtml.php6
-rw-r--r--lib/exe/css.php10
2 files changed, 10 insertions, 6 deletions
diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php
index b3d97718c..f6dcbc038 100644
--- a/inc/parser/xhtml.php
+++ b/inc/parser/xhtml.php
@@ -578,7 +578,8 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
}
if ( !$isImage ) {
- $link['class'] = "interwiki iw_$wikiName";
+ $class = preg_replace('/[^_\-a-z0-9]+/i','_',$wikiName);
+ $link['class'] = "interwiki iw_$class";
} else {
$link['class'] = 'media';
}
@@ -709,7 +710,8 @@ class Doku_Renderer_xhtml extends Doku_Renderer {
$noLink = TRUE;
}else{
// add file icons
- $link['class'] .= ' mediafile mf_'.$ext;
+ $class = preg_replace('/[^_\-a-z0-9]+/i','_',$ext);
+ $link['class'] .= ' mediafile mf_'.$class;
$link['url'] = ml($src,array('id'=>$ID,'cache'=>$cache),true);
}
$link['name'] = $this->_media ($src, $title, $align, $width, $height, $cache);
diff --git a/lib/exe/css.php b/lib/exe/css.php
index 28c06ea47..221e25801 100644
--- a/lib/exe/css.php
+++ b/lib/exe/css.php
@@ -154,12 +154,13 @@ function css_interwiki(){
// additional styles when icon available
$iwlinks = getInterwiki();
foreach(array_keys($iwlinks) as $iw){
+ $class = preg_replace('/[^_\-a-z0-9]+/i','_',$iw);
if(@file_exists(DOKU_INC.'lib/images/interwiki/'.$iw.'.png')){
- echo "a.iw_$iw {";
+ echo "a.iw_$class {";
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 "a.iw_$class {";
echo ' background-image: url('.DOKU_BASE.'lib/images/interwiki/'.$iw.'.gif)';
echo '}';
}
@@ -182,12 +183,13 @@ function css_filetypes(){
// additional styles when icon available
$mimes = getMimeTypes();
foreach(array_keys($mimes) as $mime){
+ $class = preg_replace('/[^_\-a-z0-9]+/i','_',$mime);
if(@file_exists(DOKU_INC.'lib/images/fileicons/'.$mime.'.png')){
- echo "a.mf_$mime {";
+ echo "a.mf_$class {";
echo ' background-image: url('.DOKU_BASE.'lib/images/fileicons/'.$mime.'.png)';
echo '}';
}elseif(@file_exists(DOKU_INC.'lib/images/fileicons/'.$mime.'.gif')){
- echo "a.mf_$mime {";
+ echo "a.mf_$class {";
echo ' background-image: url('.DOKU_BASE.'lib/images/fileicons/'.$mime.'.gif)';
echo '}';
}