commit 32c12133505336828c2ec7d590b956f442691d7b
parent 85511687233162c6b1d13c7f7fa8960d5e02a105
Author: dankert <devnull@localhost>
Date: Sat, 18 Apr 2009 02:56:14 +0200
Beim Verarbeiten von if-empty-Bereichen der Seitenvorlage keine regulären Ausdrücke mehr verwenden (da Binärausgaben wie PDF-Dokumente dabei beschädigt werden).
Diffstat:
2 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/objectClasses/Page.class.php b/objectClasses/Page.class.php
@@ -20,6 +20,9 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// ---------------------------------------------------------------------------
// $Log$
+// Revision 1.31 2009-04-18 00:56:14 dankert
+// Beim Verarbeiten von if-empty-Bereichen der Seitenvorlage keine regulären Ausdrücke mehr verwenden (da Binärausgaben wie PDF-Dokumente dabei beschädigt werden).
+//
// Revision 1.30 2009-03-17 01:39:43 dankert
// Funktionsfähigkeit bei enable_cache=false
//
@@ -770,15 +773,15 @@ class Page extends Object
$src = str_replace( '{{IFEMPTY:'.$id.':BEGIN}}','',$src );
$src = str_replace( '{{IFEMPTY:'.$id.':END}}' ,'',$src );
- $src = eregi_replace( '{{IFNOTEMPTY:'.$id.':BEGIN}}.*{{IFNOTEMPTY:'.$id.':END}}','',$src );
+ $src = Text::entferneVonBis( $src,'{{IFNOTEMPTY:'.$id.':BEGIN}}','{{IFNOTEMPTY:'.$id.':END}}' );
}
else
{
// Wenn Feld gefuellt
$src = str_replace( '{{IFNOTEMPTY:'.$id.':BEGIN}}','',$src );
$src = str_replace( '{{IFNOTEMPTY:'.$id.':END}}' ,'',$src );
-
- $src = eregi_replace( '{{IFEMPTY:'.$id.':BEGIN}}.*{{IFEMPTY:'.$id.':END}}','',$src );
+
+ $src = Text::entferneVonBis( $src,'{{IFEMPTY:'.$id.':BEGIN}}','{{IFEMPTY:'.$id.':END}}' );
}
if ( $this->icons )
@@ -787,6 +790,8 @@ class Page extends Object
$src = str_replace( '{{->'.$id.'}}','',$src );
}
+ #Html::debug(strlen($src),'laenge am ende');
+
$this->value = &$src;
// Store in cache.
diff --git a/serviceClasses/Text.class.php b/serviceClasses/Text.class.php
@@ -20,6 +20,9 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
// ---------------------------------------------------------------------------
// $Log$
+// Revision 1.10 2009-04-18 00:56:14 dankert
+// Beim Verarbeiten von if-empty-Bereichen der Seitenvorlage keine regulären Ausdrücke mehr verwenden (da Binärausgaben wie PDF-Dokumente dabei beschädigt werden).
+//
// Revision 1.9 2007-11-27 21:16:33 dankert
// Bugfix in "encodeHtmlSpecialChars()"
//
@@ -42,7 +45,7 @@
// Weitere Funktionen f?r HTML und BB-Code
//
// Revision 1.2 2004/05/02 15:04:16 dankert
-// Einfügen package-name (@package)
+// Einf�gen package-name (@package)
//
// Revision 1.1 2004/04/24 17:03:28 dankert
// Initiale Version
@@ -148,7 +151,7 @@ class Text
/**
- * Ersetzt Sonderzeichen durch HTML-Äquivalente.<br>
+ * Ersetzt Sonderzeichen durch HTML-�quivalente.<br>
* Z.B. Ersetzt "(c)" durch "©".
*/
function replaceHtmlChars( $text )
@@ -352,7 +355,17 @@ class Text
}
return( array($from_out,$to_out) );
- }
+ }
+
+
+ function entferneVonBis($text,$von,$bis)
+ {
+ $beg = strpos($text,$von);
+ $end = strpos($text,$bis);
+ if ( $beg!==false && $end !==false )
+ $text = substr($src,0,$beg).substr($src,$end);
+ return $text;
+ }
}