[HOME]   

グラデーション☆ボ〜ドの改造方法

最終更新日:2001年03月10日

グラデーション☆ボ〜ド ver.1.41の行数で解説しています。

発言ランキングを設定

掲示板にもチャットにあるような投稿数のランキング表示をつけてみましょう。
☆初期設定
■164行目あたり
### --- メイン処理 --- ###
        srand(time);
        &form_decode;
        if ($mode eq "gifview") { &gifview; }
        
■追加後
### --- メイン処理 --- ###
        $rankfile = 'rank.dat'; #ランキング用ファイル
        $limit = '30';          #発言ランキング保存日数
        srand(time);
        &form_decode;
        if ($mode eq "rankview") {&rankview; }#######追加
        if ($mode eq "gifview") { &gifview; }

rank.datは中身が空のファイルをpetitg.cgiと同じところに用意しておきます。
パーミッションは、666(サーバーによっては606 604 600)にしておいてください。
$limitは、発言ランキングを保存しておく日数を決めておきます。
保存日数内で一度も発言がないお名前と発言回数はランキング用ファイルから削除されます。

        if ($mode eq "rankview") {&rankview; } この行も追加しておきます。

☆ランキング一覧の呼び出し表示
■220行目あたり
        print "<hr width=90%>\n";
        print "[<a href=\"$homepage\" target=_top>トップにもどる</a>]\n";
        print "[<a href=\"$script?mode=howto\">掲示板の使い方</a>]\n";
        print "[<a href=\"$script?mode=find\">ワード検索</a>]\n";

        if ($pastkey) {
                print "[<a href=\"$petit2\">過去ログ</a>]\n";
                
■追加改造後
        print "<hr width=90%>\n";
        print "[<a href=\"$homepage\" target=_top>トップにもどる</a>]\n";
        print "[<a href=\"$script?mode=howto\">掲示板の使い方</a>]\n";
        print "[<a href=\"$script?mode=find\">ワード検索</a>]\n";
        print "[<a href=\"$script?mode=rankview\" target=\"_blank\">発言ランキング</a>]\n";#####追加
        if ($pastkey) {
                print "[<a href=\"$petit2\">過去ログ</a>]\n";
                
☆書き込みがあったらランキングファイル(rank.dat)に書き込み
■684行目あたり(同じようなところが1122行目あたりにもありますので注意してください。)
        # ログを更新
        open(OUT,">$logfile") || &error("Can't write $logfile");
        print OUT @new;
        close(OUT);

        # ロック解除
        &unlock($lockfile);

        # メール処理
        if ($mailing && $mail_me) { &mail_to; }

■追加改造後
        # ログを更新
        open(OUT,">$logfile") || &error("Can't write $logfile");
        print OUT @new;
        close(OUT);
        &ranking;       ###追加
        # ロック解除
        &unlock($lockfile);

        # メール処理
        if ($mailing && $mail_me) { &mail_to; }
☆追加のサブルーチン
以下のふたつのサブルーチンをpetitg.cgiの一番最後にコピーします。

[HOME]   
管理人:ファルコン・タカ