PEAK XOOPS - Re: backend.php & EMLH & string cut description 125byte in englishin japanese

Re: backend.php & EMLH & string cut description 125byte

List posts in the topic

normal Re: backend.php & EMLH & string cut description 125byte

msg# 1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.2.1.1.1.1.1.1.1.1.1.1
depth:
28
Previous post - Next post | Parent - Children.1 | Posted on 2005/4/22 9:24
domifara  一等兵   Posts: 19
Quote:
FutureSpy wrote:
It's actually BopComments backend.php I renamed to rss.php and put on xoops ROOT.
Here's the code. Probably, I did something wrong.
そういうことならば、大丈夫です。この$article というのはテキストですから)
(追伸:Bopcomments071 は xoops_substr を使っていないです
また、mbstring関数の無い人用に、文字の切り詰めの関数を持っていますが、日本ではmbstring関数を使っているのでarticleの取得のところでは使っていなかったりします。
articleの取得のところは、私改造してます、試してみてください。
My HACK for UTF-8
http://domifara.lolipop.jp/xo/modules/wfdownloads/singlefile.php?cid=6&lid=27

この問題は、RSSとか一つのモジュールに限らないです。
他のモジュールでも同様の問題が出ます
それであの後考えた

2つの問題?
1.要するにブロックなどのタイトルの文字数指定なんかの文字の切り詰めしている場合は EMLH のための言語タグが半端になるので、全て問題があります

this is
/inculde/function.php

xoops_substr

それで、 xoops_substrの最初に
かならず言語タグ編集を先にやってしまう行を追加

function xoops_substr($str, $start, $length, $trimmarker = '...')
{
to
add lines
function xoops_substr($str, $start, $length, $trimmarker = '...')
{
	if( strlen( $str ) <= $length ){ return $str; }
	global $easiestml_lang;
	if (function_exists('easiestml') && isset($easiestml_lang)) {
		$str = easiestml($str);
	}
 
xoops_substrを使っているモジュールはほとんどOK

2.キャシュを一つしか持っていない件
簡単な変更で出来ます。
言語ごとにキャシュ持つなら、モジュール改造しないでも良いです

/class/template.php
from line 192 add lines (add method in class XoopsTpl)

//--------------hack add method
    /**
     * returns an auto_id for auto-file-functions for eache language
     *
     * @param string $cache_id
     * @param string $compile_id
     * @return string|null
     */
    function &_get_auto_id($cache_id=null, $compile_id=null) {
		global $xoopsConfig ;
		 $eache_langcache_id = $xoopsConfig['language'] . '|' . $xoopsConfig['template_set'];
		if (isset($cache_id)){
			return (isset($compile_id)) ? $cache_id . '|' . $compile_id  . '|' . $eache_langcache_id : $cache_id  . '|' . $eache_langcache_id;
		} elseif(isset($compile_id)) {
			return $compile_id  . '|' .$eache_langcache_id;
		} else {
			return  $eache_langcache_id;
		}
	}

allmost OK
FutureSpy さんの場合は
この2つ改造だけでほとんどが問題なくなるはずです。
newsなどは、これで問題なくなりました。
だいたいは、OK

でも、Bopcommentsのように、xoops_substrを使っていないものは改造が必要になるか
文字の切り詰めをしないようにしないといけないですね。
Votes:15 Average:4.67

Posts tree

  Advanced search


Login
Username or e-mail:

Password:

Remember Me

Lost Password?

Register now!