Показать сообщение отдельно
Старый 13.01.2007, 20:26   #5
extreme
Новенький
 
Регистрация: 08.01.2007
Адрес: Ижевск
Сообщений: 3
Отправить сообщение для extreme с помощью ICQ
По умолчанию

Логично использовать t3lib_cs::substr, отписал баг репорт #4781.

У себя пропатчил checkValue_input() так:

PHP код:
// Secures the string-length to be less than max. Will works with multi-byte strings!
    
if (intval($tcaFieldConf['max'])>0)    {
        if (!
is_object($this->csConvObj))    {
            if (
TYPO3_MODE=='FE') {
                
$this->csConvObj = &$GLOBALS['TSFE']->csConvObj;
            } elseif (
is_object($GLOBALS['LANG']))    {    // BE assumed:
                
$this->csConvObj = &$GLOBALS['LANG']->csConvObj;
            } else {    
// The object may not exist yet
                
$this->csConvObj = &t3lib_div::makeInstance('t3lib_cs');
            }
        }
        
        if (
TYPO3_MODE=='FE')    {
            
$charset $GLOBALS['TSFE']->renderCharset;
        } elseif (
is_object($GLOBALS['LANG']))    {    // BE assumed:
            
$charset $GLOBALS['LANG']->charSet;
        } else {    
// best guess
            
$charset $GLOBALS['TYPO3_CONF_VARS']['BE']['forceCharset'];
        }
        
$value $this->csConvObj->substr($charset,$value,0,intval($tcaFieldConf['max']));
    } 
Ну и добавил var $csConvObj; в класс.

Не знаю только, стоило столько городить или достаточно было парой строк ограничиться.

Последний раз редактировалось extreme; 13.01.2007 в 23:02
extreme вне форума   Ответить с цитированием