ブログ   うい・らぶ・だいびんぐ   Cube 別館   flag_uk 英語サイト   ポータル
twitter Twitter でログイン
ホーム   最新ニュース   フォーラム   ダウンロード   写真集   リンク集   お問い合わせ RSS

SmartSection > xoops > SmartSection > SmartSection 2.12/2.13

SmartSection 2.12/2.13

投稿者: Ken 掲載日: 2007-4-14 (20250 回閲覧)
SmartSection 2.13 が 2007年2月16日にリリースされています。

SmartSection 2.13 を評価した。
大きなバグはないが、日本語環境ではいつくか問題あり。
2.12 で報告したバグのうち1つだけ 2.13 で修正されています

(1) $max_imgsize が未定義 これだけ修正されていた
(2) _MD_POSTEDON が未定義
(3) 「コメント機能を無効に」すると、Notice が表示される
(4) キーワード表示が文字化けする
(5) PDFが文字化けする
(6) 「記事をメールで送信」が文字化けする


(1) $max_imgsize が未定義
$max_imgsize is undefined

添付ファイルの追加で下記の Notice が出る
-----
Notice [PHP]: Undefined variable: max_imgsize in file smartsection/include/fileform.inc.php line 42
-----

include/fileform.inc.php

$max_imgsize = 0;	// これを追加
$file_box = new XoopsFormFile(_MD_SSECTION_FILE_TO_UPLOAD, "userfile", $max_imgsize);



(2) _MD_POSTEDON が未定義
_MD_POSTEDON is undifined

作成された PDF に _MD_POSTEDON がそのまま出力される
fpdf/makepdf_config.php にて _MD_POSTEDON が使用されている

language/english/main.php

define('_MD_POSTEDON',"投稿情報 : ");	// これを追加



(3) 「コメント機能を無効に」すると、Notice が表示される
Notice is showing when "Disable comments"

「コメント機能を無効に」すると、下記のエラーが表示される
------
Notice [PHP]: Undefined variable: com_itemid in file smartsection/item.php line 192
Notice [PHP]: Undefined variable: com_order in file smartsection/item.php line 192
Notice [PHP]: Undefined variable: com_mode in file smartsection/item.php line 192
Notice [PHP]: Undefined variable: link_extra in file smartsection/item.php line 192
Notice [PHP]: Undefined variable: com_itemid in file smartsection/item.php line 192
Notice [PHP]: Undefined variable: com_order in file smartsection/item.php line 192
Notice [PHP]: Undefined variable: com_mode in file smartsection/item.php line 192
Notice [PHP]: Undefined variable: link_extra in file smartsection/item.php line 192
Notice [PHP]: Undefined variable: com_itemid in file smartsection/item.php line 192
Notice [PHP]: Undefined variable: com_order in file smartsection/item.php line 192
Notice [PHP]: Undefined variable: com_mode in file smartsection/item.php line 192
Notice [PHP]: Undefined variable: link_extra in file smartsection/item.php line 192
Notice [PHP]: Undefined index: commentsnav in file smartsection/item.php line 193
------

comment_view を使用するときの条件がおかしい
comment_view.php では、
一般設定のコメント機能が有効のときに、表示される
「 XOOPS_COMMENT_APPROVENONE != $xoopsModuleConfig['com_rule'] 」
しかし、itemp.php では、
「$itemObj->cancomment() == 1」 のときは、
「 smartsection_getConfig('com_rule') <> 0 」 は判定されない

item.php

// if (($itemObj->cancomment() == 1) || (!$xoopsModuleConfig['commentatarticlelevel'] && smartsection_getConfig('com_rule') <> 0)) {
 
if ( (($itemObj->cancomment() == 1) || !$xoopsModuleConfig['commentatarticlelevel'] ) && (smartsection_getConfig('com_rule') <> 0) ) {


(4) 日本語環境: キーワード表示が文字化けする
[Japanese] character garble showing keyword

参考 Bug: cannot show keyword in Japanese

class/keyhighlighter.php

function highlight ($buffer) {

// 下記を修正
 $this->preg_keywords = preg_replace ('/[^\w ]/si', '', $this->keywords);
 
  ↓
 
 if ( XOOPS_USE_MULTIBYTES ) {
   $this->preg_keywords = trim($this->keywords);
  } else {
    $this->preg_keywords = preg_replace ('/[^\w ]/si', '', $this->keywords);
 }
 
}



(5) 日本語環境: PDFが文字化けする
[Japanese] character garble showing PDF

参考 SmartSection ->pdf->日本語
本文と文書情報を正しく表示されるようにした

fpdf/language/japanese.php

// 下記を追加

// overwrite class PDF_Japanese in fpdf/japanese.php 

function SJISWrite($h,$txt,$link)
{
	$txt = $this->_jp_encoding($txt, 'SJIS-win', 'EUC-JP');
	parent::SJISWrite($h,$txt,$link);
}
 
// overwrite class FPDF in fpdf.php 
function _putinfo()
{
	$this->_out('/Producer '.$this->_textstring('FPDF '.FPDF_VERSION));
	if(!empty($this->title))
		$this->_out('/Title '. $this->_jp_putinfohexstring($this->title) );
	if(!empty($this->subject))
		$this->_out('/Subject '.$this->_jp_putinfohexstring($this->subject));
	if(!empty($this->author))
		$this->_out('/Author '.$this->_jp_putinfohexstring($this->author));
	if(!empty($this->keywords))
		$this->_out('/Keywords '.$this->_jp_putinfohexstring($this->keywords));
	if(!empty($this->creator))
		$this->_out('/Creator '.$this->_jp_putinfohexstring($this->creator));
	$this->_out('/CreationDate '.$this->_textstring('D:'.date('YmdHis')));
}
 
function _jp_putinfohexstring($s)
{
	//Format a text string
	//for infomation properties hex
	$s = $this->_jp_encoding($s , 'UTF-16BE', 'EUC-JP') ;
	$s = '<' . 'FEFF' . strtoupper(bin2hex($s)) . '>'; // FEFF is BOM
	return $s ;
}
 
function _jp_encoding(&$text, $out_charset, $in_charset)
{
	if ( function_exists('mb_convert_encoding') ) {
		$text = mb_convert_encoding($text, $out_charset, $in_charset);
	} elseif( function_exists('iconv') ) {
		$text = iconv($in_charset, $out_charset . "//TRANSLIT", $text);
	}
	return $text;
}



(6) 日本語環境: 「記事をメールで送信」が文字化けする
[Japanese] character garble in "send article"

参考 XOOPS 友達に紹介:文字化け修正 モジュール

class/item.php

function getAdminLinks()
{

// 下記を修正
//	$maillink = "mailto:?subject=" . sprintf(_MD_SSECTION_INTITEM, $xoopsConfig['sitename']) . 
//      "&body=" . sprintf(_MD_SSECTION_INTITEMFOUND, $xoopsConfig['sitename']) . ": " . $this->getItemUrl();
 
	$subject = sprintf(_MD_SSECTION_INTITEM, $xoopsConfig['sitename']);
	$body    = sprintf(_MD_SSECTION_INTITEMFOUND, $xoopsConfig['sitename']) . ": \n" . $this->getItemUrl();
	$subject = $this->convert_for_japanese($subject);
	$body    = $this->convert_for_japanese($body);
	$maillink = "mailto:?subject=" . $subject . "&body=" . $body;
}


// 下記を追加
function convert_for_japanese($str)
{
// no action, if not flag
	if ( ! _SSECTION_FLAG_JP_CONVERT )
	{
		return $str;
	}

// no action, if not Japanese
	global $xoopsConfig;
	if ( $xoopsConfig['language'] != 'japanese' )
	{
		return $str;
	}

// presume OS Browser
	$agent = $_SERVER["HTTP_USER_AGENT"];
	$os      = '';
	$browser = '';
	if (preg_match("/Win/i", $agent))
	{	$os = 'win';	}
	if (preg_match("/MSIE/i", $agent))
	{	$browser = 'msie';	}

// if msie
	if ( ($os == 'win') && ($browser == 'msie') )
	{
// if multibyte
		if ( function_exists('mb_convert_encoding') )
		{
			$str = mb_convert_encoding($str, 'SJIS', 'EUC-JP');
			$str = rawurlencode($str);
		}
	}

	return $str;
}



ダウンロード
日本語ファイルとバグ修正ファイルを作成した

日本語ファイル
(2) 「_MD_POSTEDON が未定義」 を含む

修正ファイル
XFsection から SmartSection への移設 を含む

ページ移動
良く読まれた記事 smartsection のテスト1:画像添付
投票者の合計: 0
平均: 0
投稿された内容の著作権はコメントの投稿者に帰属します。

投稿者 スレッド
souhalt
投稿日時: 2007-8-29 21:21  更新日時: 2007-9-1 8:27
半人前
登録日: 2007-8-16
居住地:
投稿数: 31
 【要注意】SmartSection 印刷用ページに文字化け
本家サイトの SmartSection 各ページにおいて、現象が確認されたので、本文をフォーラムに移動しました。
こちら↓を参照願います。

はっぴぃ・りなっくす - サポート - XOOPS 一般 - 【要注意】SmartSection 印刷用ページに文字化け

投稿者 スレッド
souhalt
投稿日時: 2007-9-13 23:05  更新日時: 2007-9-13 23:05
半人前
登録日: 2007-8-16
居住地:
投稿数: 31
 【要注意】SmartFactory 系モジュールのタブ表示異常対策に関する情報収集
【要注意】SmartFactory 系モジュールのタブ表示異常対策に関する情報収集

このモジュール (SmartSection) の XOOPS Cube Lagacy 2.1 互換性にかかわる関連情報です。


Xoops Users Group Japan - SmartFactory 系モジュールのタブ表示異常対策に関する情報収集
スポンサー

寄付
配布しているソフトが気に入ったら、寄付をお願いします。
寄付

PageRank のページ毎の表示
http://linux.ohwada.jp/ modules/smartsection/item.php?
PageRank 0 PageRank

メインメニュー

マニュアル

ログイン