G-LIGHT掲示板をタッチブラウザ対応にする方法

しかも準W3C仕様


G-LIGHT v4.51の glight.cgi 90行目辺りから以下の様に変更。

#〜〜〜〜〜(☆前略)〜〜〜〜〜
## --- HTMLのヘッダー
sub header{
print "Content-type: text/html\n\n";
print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
print "<HTML lang=\"ja-JP\">\n<head>\n";
print "<META HTTP-EQUIV=\"Content-type\" CONTENT=\"text/html; charset=Shift_JIS\">\n";
print "<meta http-equiv=\"content-style-type\" content=\"text/css\">\n";
print "<title>$title</title>\n";
print "<style type=\"text/css\">\n";
print "<!--\n";
print "body \{font-size: 12pt; font-family:\"MS ゴシック\"; \}\n";
print "-->\n";
print "</style>\n";
print "</head>\n";
#〜〜〜〜〜(☆中略)〜〜〜〜〜
# ログチェック
unless ($init =~ /^GLIGHT/) { &log_err; }

&header;

print "<DIV ALIGN=\"CENTER\">\n";
print "<img src=\"http://homepage1.nifty.com/gojoudan/gif/bbs1_ttl.gif\" alt=\"悟浄七段の掲示板\" width=300 height=60>\n";
print "<hr color=\"#FFFFFF\" size=3 width=\"90\%\">\n";
print "[<a href=\"$home\" target=\"_top\">Home</a>]\n";
print "[<a href=\"$script?mode=find\">ワード検索</a>]\n";

if ($pastkey) {
print "[<a href=\"$script?mode=past\">過去ログ</a>]\n";
}

print "[<a href=\"$script?mode=enter\">管理用</a>]\n";
print "<hr color=\"#FFFFFF\" size=3 width=\"90\%\"></div>\n";
print "<form method=\"$method\" action=\"$script\">\n";
print "<input type=hidden name=mode value=\"regist\">\n";
print "<blockquote>\n";
print "<b>おなまえ</b>\n";
print "<input type=text name=name size=\"$nam_wid\" value=\"$c_name\"><br>\n";
print "<b>Eメール</b>\n";
print "<input type=text name=email size=\"$nam_wid\" value=\"$c_email\"><br>\n";

# 題名部
if ($subject) {
print "<b>タイトル</b>\n";
print "<input type=text name=subj size=$sub_wid><br>\n";
}

print "<b>URL </b>\n";
print "<input type=text size=$url_wid name=url value=\"http://$c_url\"><br>\n";
print "<b> 雀士イメージ </b><select name=icon>\n";
foreach (0 .. $#GFILE) {
if ($c_icon eq "$GFILE[$_]") {
print "<option value=\"$GFILE[$_]\" selected>$CHARA[$_]\n";
} else {
print "<option value=\"$GFILE[$_]\">$CHARA[$_]\n";
}
}

print <<"HTML";
</select>
<small>[<a href="$script?mode=image" target=\"_blank\">雀士イメージ参照</a>]</small><br>
<b>メッセージ</b><small> (<b>↓</b>タッチブラウザで書き込む際は終了キーで脱出)</small><br>
<textarea cols="$com_wid" rows=7 name=comment wrap="$wrap"></textarea><br>
<input type=submit value="和了(送信)"><input type=reset value="流局(クリア)">
<b>振聴キー</b> <input type=password name=pwd size=8 maxlength=8 value="$c_pwd">
<small>記事削除時に使用</small></blockquote></form>
<br><blockquote><small>
1. おなまえとメッセージ欄は必須、HTMLタグは無効(テキスト表\示)。<br>
2. 記事は最大$max件まででそれを超えると古い記事から過去ログ入りします。<br>
3. 振聴(フリテン)キーは英数字で8文字以内で指定して下さい。<br>
</small></blockquote><hr>
HTML

if ($FORM{'page'} eq '') { $page = 0; }
else { $page = $FORM{'page'}; }

# 記事数を取得
$end_data = @lines - 1;
$page_end = $page + ($pagelog - 1);

if ($page_end >= $end_data) { $page_end = $end_data; }
foreach ($page .. $page_end) {
($no,$date,$name,$email,$local,$icon,$ad_ico,
$com,$res,$url,$host,$pw,$sub) = split(/<>/,$lines[$_]);

# 自動URLリンク
if ($autolink) { &auto_link($com); &auto_link($res); }

# Eメールをリンク
$imgname = $name;

if ($email) { $name="<a href=\"mailto\:$email\">$name</a>"; }

print "[$no] \n";

if ($subject == 1) {
if ($sub eq "") { $sub = "no title"; }
print "<font color=$sbj_color><b>$sub</b></font>\n";
print "投稿者:<font color=$link><b>$name </b></font>\n";
print "<small>投稿日:$date </small>\n";

} else {
print "<font color=\"#$link\"><b>$name </b></font>\n";
print "<font color=\"#$sbj_color\" size=2>$date </font>\n";
}

if ($url) {
print "<a href=\"http://$url\" target=\"_blank\">";
print "<img src=\"$img_url/home.gif\" alt=\"Link $imgname \'s HomePage\" border=0></a>\n";
}

print "<br><br><img src=\"$img_url/$icon\" alt=\"$imgname\"><blockquote><p>\n";
print "$com</p></blockquote>\n";

if ($res) {
print "<blockquote><hr color=\"#FFFFFF\"></blockquote>\n";
print "<blockquote><p><img src=\"$img_url/$ad_ico\" alt=\"$manager\">\n";
print "<br><br><font color=\"#$man_color\">$res</font><br>\n";
print "<font color=\"#$sbj_color\" size=2>[From $manager]</font>\n";
print "</p></blockquote>\n";
}
print "<hr>\n";
}

# 改頁処理
print "<br>\n";
$next_line = $page_end + 1;

if ($page_end ne $end_data) {
print "<form method=$method action=\"$script\">\n";
print "<input type=hidden name=page value=\"$next_line\">\n";
print "<input type=submit value=\"次の$pagelog局を表\示\">\n";
print "</form>\n";
}

# 削除フォーム
print "<br>\n";
print "<form action=\"$script\" method=$method>\n";
print "<input type=hidden name=mode value=\"usr_del\">\n";
print "<font color=\"#$t_color\" size=2>以下のフォームから自分の投稿記事を削除できます</font><br>\n";
print "■記事No<input type=text name=\"usr_no\" size=4>\n";
print "■振聴キー<input type=password name=\"usr_key\" size=6>\n";
print "<input type=submit value=\"記事削除\"><br>\n";
print "</form>\n";
# カウンタ処理
if ($counter) { &counter; }
## 著作権を表示(削除禁止)
print "<DIV ALIGN=\"CENTER\"><small><!-- $ver -->\n";
print "- <a href=\"http://www.kent-web.com/\" target=\"_top\">G-LIGHT</a> -\n";
print "Customized by <a href=\"http://homepage1.nifty.com/gojoudan/\" target=\"_top\">悟浄七段</a>\n";
print "</small></div>\n";
print "</body></html>\n";
exit;
}

## --- ログ書き込み処理
#〜〜〜〜〜(☆後略)〜〜〜〜〜

#過去ログフレーム対応用

G-LIGHT v4.51の glight.cgi 1450行目辺りを以下の様に変更。

#〜〜〜〜〜(☆前略)〜〜〜〜〜
print "<noframes>$body\n";
print "<h3>フレーム非対応のブラウザの方は<a href=\"./glight.cgi?mode=past&ue=on\">こちら</a>から…。</h3>\n";
print "</body></noframes>\n</frameset></html>\n";

} else {
#〜〜〜〜〜(☆後略)〜〜〜〜〜

プロジェクトに戻る

著作権情報 : KENT WEB悟浄七段
最終更新日 : 2001/10/21.