I did as follows for string cut description 125byte
It edits it the language of "description" ahead.
backend.php
'description' => xoops_utf8_encode(htmlspecialchars($story->hometext(), ENT_QUOTES))
to
'description' => xoops_utf8_encode(htmlspecialchars(xoops_substr(easiestml($story->hometext()) , 0 ,125), ENT_QUOTES))
and cache HACK
all lines
<?php
// $Id: backend.php,v 1.12 2003/09/26 07:14:00 okazu Exp $
// ------------------------------------------------------------------------ //
// XOOPS - PHP Content Management System //
// Copyright (c) 2000 XOOPS.org //
// <http://www.xoops.org/> //
// ------------------------------------------------------------------------ //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// You may not change or alter any portion of this comment or credits //
// of supporting developers from this source code or any supporting //
// source code which is considered copyrighted (c) material of the //
// original comment or credit authors. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with this program; if not, write to the Free Software //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
// ------------------------------------------------------------------------ //
include 'mainfile.php';
//HACK for no error message ,error_reporting off hack by domifara 2005/4/10
$_rss_old_error_level = error_reporting(0) ;
include_once XOOPS_ROOT_PATH.'/class/template.php';
include_once XOOPS_ROOT_PATH.'/modules/news/class/class.newsstory.php';
if (function_exists('mb_http_output')) {
mb_http_output('pass');
}
header ('Content-Type:text/xml; charset=utf-8');
$tpl = new XoopsTpl();
if( @is_object( $xoopsUser ) && $xoopsUser->isAdmin(1) ) {
$tpl->xoops_setCaching(0);
$tpl->xoops_setCacheTime(0);
} else {
$tpl->xoops_setCaching(2);
$tpl->xoops_setCacheTime(3600);
}
//HACK for each lang cache hack by domifara 2005/4/18
if (function_exists('easiestml') && isset($easiestml_lang)) {
$backend_cache_lang = $easiestml_lang;
} else {
$backend_cache_lang = $GLOBALS['xoopsConfig']['language'];
}
//if (!$tpl->is_cached('db:system_rss.html')) {
$xoopsCachedTemplateId = 'backend_'.'|'.md5( __FILE__ . $backend_cache_lang);
if (!$tpl->is_cached('db:system_rss.html' , $xoopsCachedTemplateId)) {
$sarray = NewsStory::getAllPublished(10, 0);
if (is_array($sarray)) {
$tpl->assign('channel_title', xoops_utf8_encode(htmlspecialchars($xoopsConfig['sitename'], ENT_QUOTES)));
$tpl->assign('channel_link', XOOPS_URL.'/');
$tpl->assign('channel_desc', xoops_utf8_encode(htmlspecialchars($xoopsConfig['slogan'], ENT_QUOTES)));
$tpl->assign('channel_lastbuild', formatTimestamp(time(), 'rss'));
$tpl->assign('channel_webmaster', $xoopsConfig['adminmail']);
$tpl->assign('channel_editor', $xoopsConfig['adminmail']);
$tpl->assign('channel_category', 'News');
$tpl->assign('channel_generator', 'XOOPS');
$tpl->assign('channel_language', _LANGCODE);
$tpl->assign('image_url', XOOPS_URL.'/images/logo.gif');
$dimention = getimagesize(XOOPS_ROOT_PATH.'/images/logo.gif');
if (empty($dimention[0])) {
$width = 88;
} else {
$width = ($dimention[0] > 144) ? 144 : $dimention[0];
}
if (empty($dimention[1])) {
$height = 31;
} else {
$height = ($dimention[1] > 400) ? 400 : $dimention[1];
}
$tpl->assign('image_width', $width);
$tpl->assign('image_height', $height);
$count = $sarray;
foreach ($sarray as $story) {
//HACK for each lang $description 125 byte strings hack by domifara 2005/4/18
$description = $story->hometext();
if (function_exists('easiestml') && isset($easiestml_lang)) {
$description = easiestml($description);
}
$description = xoops_substr($description , 0 ,125) ;
$tpl->append('items',
array(
'title' => xoops_utf8_encode(htmlspecialchars($story->title(),ENT_QUOTES)),
'link' => XOOPS_URL.'/modules/news/article.php?storyid='.$story->storyid(),
'guid' => XOOPS_URL.'/modules/news/article.php?storyid='.$story->storyid(),
'pubdate' => formatTimestamp($story->published(), 'rss'),
'description' => xoops_utf8_encode(htmlspecialchars($description, ENT_QUOTES))
)
);
}
}
}
//HACK by domifara
//$tpl->display('db:system_rss.html');
$tpl->display('db:system_rss.html' , $xoopsCachedTemplateId);
// error_reporting off hack by domifara 2004/4/8
error_reporting($_rss_old_error_level) ;
?>