[pLog-svn] r3825 - in plog/trunk: class/template/smarty/plugins templates/admin

mark at devel.lifetype.net mark at devel.lifetype.net
Mon Jul 31 03:35:44 GMT 2006


Author: mark
Date: 2006-07-31 03:35:42 +0000 (Mon, 31 Jul 2006)
New Revision: 3825

Added:
   plog/trunk/class/template/smarty/plugins/modifier.utf8_wordwrap.php
Modified:
   plog/trunk/templates/admin/editcomments.template
   plog/trunk/templates/admin/editlinks.template
   plog/trunk/templates/admin/edittrackbacks.template
   plog/trunk/templates/admin/poststats.template
   plog/trunk/templates/admin/statistics.template
Log:
Fixed a bug: http://bugs.lifetype.net/view.php?id=996

Add a new smarty plugin utf8_wordwrap. And change all wrodwrap modifier to utf8_modifier in admin template to prevent the CJK words break.

Added: plog/trunk/class/template/smarty/plugins/modifier.utf8_wordwrap.php
===================================================================
--- plog/trunk/class/template/smarty/plugins/modifier.utf8_wordwrap.php	2006-07-31 00:48:35 UTC (rev 3824)
+++ plog/trunk/class/template/smarty/plugins/modifier.utf8_wordwrap.php	2006-07-31 03:35:42 UTC (rev 3825)
@@ -0,0 +1,47 @@
+<?php
+/**
+ * Smarty plugin
+ * @package	Smarty
+ * @subpackage plugins
+ */
+
+
+/**
+ * Smarty wordwrap modifier	plugin
+ *
+ * Type:	 modifier<br>
+ * Name:	 wordwrap<br>
+ * Purpose:	 wrap a	string of text at a	given length
+ * @link http://smarty.php.net/manual/en/language.modifier.wordwrap.php
+ *			wordwrap (Smarty online	manual)
+ * @author	 Monte Ohrt	<monte at ohrt dot com>
+ * @param string
+ * @param integer
+ * @param string
+ * @param boolean
+ * @return string
+ */
+function smarty_modifier_utf8_wordwrap($string,$length=80,$break="\n",$cut=false)
+{
+	return utf8_wordwrap($string,$length,$break);
+}
+
+function utf8_wordwrap($str,$len,$what){
+	# usage: utf8_wordwrap("text",3,"<br>");
+	# by tjomi4`, thanks to	SiMM.
+	# www.yeap.lv
+	$from=0;
+	$str_length	= preg_match_all('/[\x00-\x7F\xC0-\xFD]/', $str, $var_empty);
+	$while_what	= $str_length /	$len;
+	while($i <=	round($while_what)){
+		$string	= preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
+							   '((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s',
+							   '$1',$str);
+		$total .= $string.$what;
+		$from =	$from+$len;
+		$i++;
+	}
+	return $total;
+}
+
+?>
\ No newline at end of file

Modified: plog/trunk/templates/admin/editcomments.template
===================================================================
--- plog/trunk/templates/admin/editcomments.template	2006-07-31 00:48:35 UTC (rev 3824)
+++ plog/trunk/templates/admin/editcomments.template	2006-07-31 03:35:42 UTC (rev 3825)
@@ -68,14 +68,10 @@
                             <input class="checkbox" type="checkbox" name="commentIds[{$comment->getId()}]" id="checks_{$comment->getId()}" value="{$comment->getId()}" />
                         </td>
                         <td class="col_highlighted">
-						   {textformat wrap=20 wrap_cut=true}
-                             {$comment->getTopic()|strip_tags}
-						   {/textformat}	 
+                            {$comment->getTopic()|strip_tags|utf8_wordwrap:12:"<br/>":true}
                         </td>
 						<td>
-							{textformat wrap=40 wrap_cut=true}
-						      {$comment->getText()}
-							{/textformat}
+						    {$comment->getText()|strip_tags|utf8_wordwrap:35:"<br/>":true}
 						</td>
                         <td>
 						  <a href="mailto:{$comment->getUserEmail()}">

Modified: plog/trunk/templates/admin/editlinks.template
===================================================================
--- plog/trunk/templates/admin/editlinks.template	2006-07-31 00:48:35 UTC (rev 3824)
+++ plog/trunk/templates/admin/editlinks.template	2006-07-31 03:35:42 UTC (rev 3825)
@@ -60,8 +60,8 @@
  {foreach from=$links item=link}
   <tr class="{cycle values="odd,even"}">
    <td><input class="checkbox" type="checkbox" name="linkIds[{counter}]" value="{$link->getId()}"/></td>  
-   <td class="col_highlighted"><a href="admin.php?op=editLink&amp;linkId={$link->getId()}">{$link->getName()|wordwrap:20:"<br/>":false}</a></td>
-   <td><a href="{$link->getUrl()}">{$link->getUrl()|wordwrap:40:"<br/>":true}</a></td>
+   <td class="col_highlighted"><a href="admin.php?op=editLink&amp;linkId={$link->getId()}">{$link->getName()|utf8_wordwrap:20:"<br/>":false}</a></td>
+   <td><a href="{$link->getUrl()}">{$link->getUrl()|utf8_wordwrap:40:"<br/>":true}</a></td>
    {assign var=linkcategory value=$link->getCategoryId()}
    <td>
     {assign var=linkcategory value=$link->getMyLinkCategory()}

Modified: plog/trunk/templates/admin/edittrackbacks.template
===================================================================
--- plog/trunk/templates/admin/edittrackbacks.template	2006-07-31 00:48:35 UTC (rev 3824)
+++ plog/trunk/templates/admin/edittrackbacks.template	2006-07-31 03:35:42 UTC (rev 3825)
@@ -69,14 +69,10 @@
                             <input class="checkbox" type="checkbox" name="trackbackIds[{$trackback->getId()}]" id="trackbackIds[{$trackback->getId()}]" value="{$trackback->getId()}" />
                         </td>
                         <td class="col_highlighted">
-						  {textformat wrap=40 wrap_cut=true} 
-                            {$trackback->getTopic()}
-						  {/textformat}	
+                            {$trackback->getTopic()|strip_tags|utf8_wordwrap:12:"<br/>":true}
                         </td>
                         <td>
-						  {textformat wrap=40 wrap_cut=true}
-                            {$trackback->getText()|escape:html}
-						  {/textformat}	
+                            {$trackback->getText()|strip_tags|utf8_wordwrap:35:"<br/>":true}
                         </td>
                         <td>
                             <a href="{$trackback->getUserUrl()}">{$trackback->getUserName()}</a>

Modified: plog/trunk/templates/admin/poststats.template
===================================================================
--- plog/trunk/templates/admin/poststats.template	2006-07-31 00:48:35 UTC (rev 3824)
+++ plog/trunk/templates/admin/poststats.template	2006-07-31 03:35:42 UTC (rev 3825)
@@ -22,7 +22,7 @@
                             <input class="checkbox" type="checkbox" name="referrerIds[{$referrer->getId()}]" id="checks_1" value="{$referrer->getId()}" />
                         </td>
                         <td class="col_highlighted">
-                            <a href="{$referrer->getUrl()}">{$referrer->getUrl()|wordwrap:55:"<br/>",true}</a>
+                            <a href="{$referrer->getUrl()}">{$referrer->getUrl()|utf8_wordwrap:55:"<br/>",true}</a>
                         </td>
 						<td>
 						   {$referrer->getHits()}

Modified: plog/trunk/templates/admin/statistics.template
===================================================================
--- plog/trunk/templates/admin/statistics.template	2006-07-31 00:48:35 UTC (rev 3824)
+++ plog/trunk/templates/admin/statistics.template	2006-07-31 03:35:42 UTC (rev 3825)
@@ -21,7 +21,7 @@
                             <input class="checkbox" type="checkbox" name="referrerIds[{$referrer->getId()}]" id="checks_1" value="{$referrer->getId()}" />
                         </td>
                         <td class="col_highlighted">
-                            <a href="{$referrer->getUrl()}">{$referrer->getUrl()|wordwrap:55:"<br/>":true}</a>
+                            <a href="{$referrer->getUrl()}">{$referrer->getUrl()|utf8_wordwrap:55:"<br/>":true}</a>
                         </td>
 						<td>
 						   {$referrer->getHits()}



More information about the pLog-svn mailing list