トップトップ 新規新規 編集編集 一覧一覧 検索検索 ヘルプヘルプ

改造/common.pl






MIMEタイプ取得をdownload.cgiからcommon.plに移す

ファイルのMIMEタイプ取得を必要とするのはdownload.cgiだけに限らず、汎用性高いのでcommon.plのUtilに移し各種プラグインやCGIからも利用出来るようにする。

詳しくは改造/download.cgiを参照。






UserAgentチェックの機種、フラグを増やす

「common.pl」にあるユーティリティ関数「handyphone」によって利用者環境(UserAgent)をチェックし(主に携帯かどうか)、それぞれの環境にあったものを提供出来るようになっている (しかしデフォルトのFSWikiLiteでは関数は一応用意されているだけに留まり、実際には全く利用されていない)。

書かれたプログラムは古くてSoftbankすら含まれてなく、またiPhone等のスマートフォンも出てきてる現状、改造する事で対応を増やす。

改造方法

 #===============================================================================
 # 携帯電話かどうかチェックします。
 #===============================================================================
 sub handyphone {
 
 〜中略〜
 
 	if($ua=~/^DoCoMo\// || $ua=~ /^J-PHONE\// || $ua=~ /UP\.Browser/){
 		return 1;
 	} else {
 		return 0;
 	}
 }
 	if($ua=~/^DoCoMo\// || $ua=~ /^J-PHONE\// || $ua=~ /^Vodafone\// || $ua=~ /^MOT\// || $ua=~ /^SoftBank\// || $ua=~ /UP\.Browser/){
 		return 1;
 	} elsif($ua=~ /iPhone/){  #iPhone
 		return 2;
 	} else {
 		return 0;






ヘッダを改造

FSWikiLiteのWikiページヘッダは「common.pl」の「print_header」で生成されている。「FrontPage」「新規」「編集」等の上部メニューもここで生成されている。

ヘッダで指定出来る各種設定を追加したり、メニューが視覚的に分かりやすくなるようアイコンを付けたり、機種を判別してヘッダを変えたり等といった改造を行うとより使いやすくなる。

※IOは自分が利用している改造の方ではRSSや名前順一覧といったものもメニューに追加していて、そこらへんもいずれ説明追加予定で、その際にはここも修正される。

改造方法

 #-------------------------------------------------------------------------------
 # ヘッダを表示
 #-------------------------------------------------------------------------------
 sub print_header {
 	my $title = shift;
 	my $show  = shift;
 
 〜中略〜
 
 	print "</div>\n";
 	
 	print "<h1>".&Util::escapeHTML($title)."</h1>\n";
 }
 
 #-------------------------------------------------------------------------------
 # フッタを表示

上部メニューにアイコンを追加

    $SOZAI_DIR        = './sozai';  #追加分 FSWiki CGIが使う画像等素材用のディレクトリ
    $SOZAI_URL       = 'http://〜〜〜/sozai';  #追加分 FSWiki CGIが使う画像等素材用のURL
	print "    <a href=\"$MAIN_SCRIPT?p=FrontPage\">FrontPage</a>\n";
	print "    <a href=\"$EDIT_SCRIPT?a=new\">新規</a>\n";
	if($show==1){
		print "    <a href=\"$EDIT_SCRIPT?a=edit&p=".&Util::url_encode($in{"p"})."\">編集</a>\n";
	}
	print "    <a href=\"$MAIN_SCRIPT?a=search\">検索</a>\n";
	print "    <a href=\"$MAIN_SCRIPT?a=list\">一覧</a>\n";
	print "    <a href=\"$MAIN_SCRIPT?p=Help\">ヘルプ</a>\n";
 	print "    <a href=\"$MAIN_SCRIPT?p=FrontPage\"><img src=\"$SOZAI_URL/pagetop.gif\" border=\"0\" align=\"absmiddle\" alt=\"トップ\">トップ</a>\n";
 	print "    <a href=\"$EDIT_SCRIPT?a=new\" rel=\"nofollow\"><img src=\"$SOZAI_URL/pagenew.gif\" border=0 align=absmiddle alt=\"新規\">新規</a>\n";
 	if($show==1){
 		print "    <a href=\"$EDIT_SCRIPT?a=edit&p=".&Util::url_encode($in{"p"})."\" rel=\"nofollow\"><img src=\"$SOZAI_URL/pageedit.gif\" border=0 align=absmiddle alt=\"編集\">編集</a>\n";
 	}
 	print "    <a href=\"$MAIN_SCRIPT?a=list\" rel=\"nofollow\"><img src=\"$SOZAI_URL/pagelist.gif\" border=0 align=absmiddle alt=\"一覧\">一覧</a>\n";
 	print "    <a href=\"$MAIN_SCRIPT?a=search\" rel=\"nofollow\"><img src=\"$SOZAI_URL/search.gif\" border=0 align=absmiddle alt=\"検索\">検索</a>\n";
 	print "    <a href=\"$MAIN_SCRIPT?p=Help\"><img src=\"$SOZAI_URL/help.gif\" border=0 align=absmiddle alt=\"ヘルプ\">ヘルプ</a>\n";