cvs: smarty / NEWS /libs/plugins modifier.truncate.php

From: Date: Wed, 17 Jan 2007 22:10:01 +0000
Subject: cvs: smarty / NEWS /libs/plugins modifier.truncate.php
Groups: php.smarty.cvs 
Request: Send a blank email to php-smarty-cvs+get-2196@lists.php.net to get a copy of this message
messju Wed Jan 17 22:10:01 2007 UTC Modified files: /smarty NEWS /smarty/libs/plugins modifier.truncate.php Log: fixed handling of $etc in the truncate modifier when $etc is longer than $length. thanks to Sylvinus! http://cvs.php.net/viewvc.cgi/smarty/NEWS?r1=1.548&r2=1.549&diff_format=u Index: smarty/NEWS diff -u smarty/NEWS:1.548 smarty/NEWS:1.549 --- smarty/NEWS:1.548 Wed Jan 10 18:12:11 2007 +++ smarty/NEWS Wed Jan 17 22:10:01 2007 @@ -1,3 +1,5 @@ +- fix handling of $etc in the truncate modifier when $etc is longer + than $length (Sylvinus, messju) - fix handling of %I with mysql timestamps in the date_format modifier (Danilo Buerger, boots) - update smarty_core_write_file() to better recognize Windows (boots) http://cvs.php.net/viewvc.cgi/smarty/libs/plugins/modifier.truncate.php?r1=1.6&r2=1.7&diff_format=u Index: smarty/libs/plugins/modifier.truncate.php diff -u smarty/libs/plugins/modifier.truncate.php:1.6 smarty/libs/plugins/modifier.truncate.php:1.7 --- smarty/libs/plugins/modifier.truncate.php:1.6 Tue Oct 11 16:22:56 2005 +++ smarty/libs/plugins/modifier.truncate.php Wed Jan 17 22:10:01 2007 @@ -31,12 +31,12 @@ return ''; if (strlen($string) > $length) { - $length -= strlen($etc); + $length -= min($length, strlen($etc)); if (!$break_words && !$middle) { $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1)); } if(!$middle) { - return substr($string, 0, $length).$etc; + return substr($string, 0, $length) . $etc; } else { return substr($string, 0, $length/2) . $etc . substr($string, -$length/2); }

« previous php.smarty.cvs (#2196) next »