git-svn-id: https://192.168.0.254/svn/Proyectos.FundacionLQDVI_WebCongresos/trunk@2 94ccb1af-fd9d-d947-8d90-7f70ea60afc8
89 lines
1.9 KiB
PHP
89 lines
1.9 KiB
PHP
<?php
|
|
/**
|
|
* patTemplate modifier Truncate
|
|
*
|
|
* Truncate a string variable to fixed length and add a suffix if it was truncated.
|
|
* It can also start from an offset and add a prefix.
|
|
*
|
|
* @package patTemplate
|
|
* @subpackage Modifiers
|
|
* @author Rafa Couto <rafacouto@yahoo.com>
|
|
*/
|
|
|
|
// Check to ensure this file is within the rest of the framework
|
|
defined('JPATH_BASE') or die();
|
|
|
|
/**
|
|
* patTemplate modifier Truncate
|
|
*
|
|
* Truncate a string variable to fixed length and add a suffix if it was truncated.
|
|
* It can also start from an offset and add a prefix.
|
|
*
|
|
* Possible attributes are:
|
|
* - length (integer)
|
|
* - suffix (string)
|
|
* - start
|
|
* - prefix (string)
|
|
*
|
|
* @package patTemplate
|
|
* @subpackage Modifiers
|
|
* @author Rafa Couto <rafacouto@yahoo.com>
|
|
*/
|
|
class patTemplate_Modifier_Truncate extends patTemplate_Modifier
|
|
{
|
|
|
|
/**
|
|
* modify the value
|
|
*
|
|
* @access public
|
|
* @param string value
|
|
* @return string modified value
|
|
*/
|
|
function modify($value, $params = array())
|
|
{
|
|
// length
|
|
if (!isset( $params['length'])) {
|
|
return $value;
|
|
}
|
|
settype($params['length'], 'integer');
|
|
|
|
$decode = isset( $params['htmlsafe'] );
|
|
if (function_exists( 'html_entity_decode' ) && $decode) {
|
|
$value = html_entity_decode( $value );
|
|
}
|
|
|
|
// start
|
|
if (isset($params['start'])) {
|
|
settype( $params['start'], 'integer' );
|
|
} else {
|
|
$params['start'] = 0;
|
|
}
|
|
|
|
// prefix
|
|
if (isset($params['prefix'])) {
|
|
$prefix = ($params['start'] == 0 ? '' : $params['prefix']);
|
|
} else {
|
|
$prefix = '';
|
|
}
|
|
|
|
// suffix
|
|
if (isset($params['suffix'])) {
|
|
$suffix = $params['suffix'];
|
|
} else {
|
|
$suffix = '';
|
|
}
|
|
|
|
$initial_len = strlen($value);
|
|
$value = substr($value, $params['start'], $params['length']);
|
|
|
|
if ($initial_len <= strlen($value)) {
|
|
$suffix = '';
|
|
}
|
|
|
|
$value = $prefix.$value.$suffix;
|
|
|
|
return $decode ? htmlspecialchars( $value, ENT_QUOTES ) : $value;
|
|
}
|
|
}
|
|
?>
|