openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

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:
objectClasses/Page.class.php | 11++++++++---
serviceClasses/Text.class.php | 19++++++++++++++++---
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 "&copy;". */ 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; + } }