Changeset 450 for trunk/patTemplate

Show
Ignore:
Timestamp:
01/11/07 09:32:32 (2 years ago)
Author:
gerd
Message:

Truncate: Mutlibyte feature added
Dateformat: unix-timestamp feature added

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/patTemplate/Modifier/Dateformat.php

    r403 r450  
    3737    function modify( $value, $params = array() ) 
    3838    { 
     39        if (!preg_match('/^[0-9]+$/', $value)) { 
     40            $value = strtotime($value); 
     41        } 
     42          
     43        if (isset($params['unix']) && $params['unix'] == 'yes') { 
     44            return $value; 
     45        } 
     46    
    3947        if (!isset($params['format'])) { 
    4048            return $value; 
    4149        } 
    4250 
    43         if (!preg_match('/^[0-9]+$/', $value)) { 
    44             $value = strtotime($value); 
    45         } 
    46              
    4751        return strftime($params['format'], $value); 
    4852    } 
  • trunk/patTemplate/Modifier/Truncate.php

    r370 r450  
    99 * @subpackage  Modifiers 
    1010 * @author      Rafa Couto <rafacouto@yahoo.com> 
     11 * @author      gERD Schaufelberger <gerd@php-tools.net> 
    1112 */ 
    1213 
     
    2223 * - start 
    2324 * - prefix (string) 
     25 * - usemb (string) can be "yes" or "no" (default). If set to "yes", mb-string functions will be used 
    2426 * 
    2527 * @package     patTemplate 
    2628 * @subpackage  Modifiers 
    2729 * @author      Rafa Couto <rafacouto@yahoo.com> 
     30 * @author      gERD Schaufelberger <gerd@php-tools.net> 
    2831 */ 
    2932class patTemplate_Modifier_Truncate extends patTemplate_Modifier 
     
    4447        } 
    4548        settype($params['length'], 'integer'); 
     49 
     50        // use multibyte strings 
     51        $strlen =   'strlen'; 
     52        $substr =   'substr'; 
     53        if( isset( $params['usemb'] ) && $params['usemb'] == 'yes' ) { 
     54            $strlen =   'mb_strlen'; 
     55            $substr =   'mb_substr'; 
     56        } 
    4657         
    4758        // start 
     
    6677        } 
    6778         
    68         $initial_len = strlen($value);     
    69         $value = substr($value, $params['start'], $params['length']); 
     79        $initial_len = $strlen($value);     
     80        $value = $substr($value, $params['start'], $params['length']); 
    7081         
    71         if ($initial_len <= strlen($value)) { 
     82        if ($initial_len <= $strlen($value)) { 
    7283            $suffix = ''; 
    7384        }