移動した記事のURI変換 On-line manual
for うぇぶ会議室システム

Access counter

[Top][Up]


特徴

にあさんが提供しているうぇぶ会議室システムの拡張機能です。

うぇぶ会議室を設置しているサーバーの容量(file数)が多くなり過ぎて 記事を他のサーバーに移していませんか?
本スクリプトはその様な場合に移動した記事へのリンクを移動先のサーバーのアドレスへ変換する物です。

必要なモジュール/ファイル

NamePurposeLinkComments
movedmsg.plScript本体
移動した記事のURIを変換する
アーカイブファイルに含まれています このモジュールはうぇぶ会議室のスクリプトと同じディレクトリに入れておく
site.plうぇぶ会議室の設定file うぇぶ会議室に含まれています
forum.plうぇぶ会議室のSubroutine郡

ユーザーの環境に合わせる修正

[site.pl] [forum.pl] [movedmsg.pl]

site.pl

movedmsg.plをrequire する。


require "movedmsg.pl";
package forum;
	

forum.pl

&Movedmsg'FilterOutputをcallする。
forum.pl中のline_out_convert subroutine に追加する。


sub line_out_convert {
	local(*_) = @_;

	&Movedmsg'FilterOutput(*_);
	s/\r\n?/\n/g;
	s/\n/\r\n/g;
}
	

movedmsg.pl

Variable NameExplanation
$Movedmsg'article_expr

記事file名のmatch式
article.cgiをカスタマイズして記事file名の生成式を変えていなければそのままでよい


$Movedmsg'article_expr = '[0-9]{5,5}\.html';
		
$Movedmsg'mirror_site

移動先addressの共通path

以降に出てくる定義を簡略化するために使用
直接記述すれば必ずしもこの変数を使う必要は無い、 また、複数のサーバーに分かれているときは適宜追加してください


$Movedmsg'mirror_site = 'http://www.hogehoge.jp/%7Efoo/cgi-bin/forum';
		
@Movedmsg'moved_info

記事の移動情報を定義する配列。

会議室名、移動先のパス(記事が置かれているディレクトリまで指定)、移動した記事番号の範囲を "="で連結して、

"会議室名=移動先のpath=記事番号の範囲",

と列挙する。

同じ会議室名の定義は複数出現してもよい。(移動記事の番号が不連続な場合等)

記事番号範囲はハイフン("-")で 必ず "小さい番号-大きい番号"の順で記述する。
"小さい番号"と"大きい番号"が同じになる場合のみ ハイフン("-")と"大きい番号"を省略できる.


@Movedmsg'moved_info = (
#	"Room name=New location of moved article=Associated message No.range"
#
	"test=$Movedmsg'mirror_site/test/=1-100",
	);
		

と記述すると、testの会議室の記事 1から100までが$Movedmsg'mirror_site/test/で指定されるaddressに 変換される。


[Top][Up]