magazine

◆概要
メールマガジンなどのログ表示として使おうと思って作ったのですが、用途は色々あるかもしれません。
記事に、閲覧者がコメントする事が出来ます。
タグが分かる方はある程度自由にデザイン出来ます。 (ホームページ作成ソフト等での編集はしないで下さい)
  • デザイン自由
  • 各記事毎の閲覧カウント表示可能
  • 閲覧者コメント表示可能(のべ)
  • 記事修正、一括削除、閲覧者コメント削除可能(管理者)
  • 閲覧者コメントタグ入力不可
  • 閲覧者コメント連続投稿不可(同一記事に対して)
  • 記事タグ制限(現状FONT,Bのみ)
  • 自動リンク
  • 排他制御(ロック)


  • 管理者モード入室は、「http://〜/magazine.cgi?action=master」となります。

    ◆サンプル/ダウンロード
    ダウンロード
    Ver1.01

    [サンプル1(上記ダウンロードはこのデザインです)]

    ◆設置
    magazine.cgiをエディタなどで開き、1行目をお使いのサーバに合わせて設定して下さい。
    #!/usr/local/bin/perl

    [パーミッション]※サーバ毎に異なりますので、ご利用のサーバで確認して下さい
    magazine(仮) [755] - magazine.cgi [755]   本体CGI
      data.cgi [666]   タイトル保持ファイル
      sub.html [644]   タイトル用デザインファイル
      news.html [644]   記事用デザインファイル
      jcode.pl [644]   日本語ライブラリ
      cnt [777]   カウンタファイル生成フォルダ
      log [777]   記事ファイル生成フォルダ
      com [777]   閲覧者コメントファイル生成フォルダ
      lock [777] - magazine [644] ロックフォルダ/ファイル
    ( フォルダ / ファイル )

    ◆設定
    magazine.cgiをエディタなどで開き、「設置する方が設定して下さい」の所を設定します。

    [ $pass ]
    書き込み、削除等を行う際に必要な管理者パスワードです。半角英数のみ設定可能です。

    [ $submax ]
    1ページに表示するタイトルの数を指定します。

    [ $pagemax ]
    管理者モード時の1ページに表示する記事数を指定します。

    [ $commax ]
    各記事にユーザがコメント出来る最大数を指定します。

    [ $newday ]
    新着とする日数を指定します。

    [ $newtag ]
    新着記事に付ける新着用タグを記述します。
    シングルコーテーションは使用出来ません。
    例)
    <font color=#FF0000>New!</font>
    <img src="new.gif">

    [ $subsort ]
    タイトルを古い順に並べる時は「0」
    新しい順に並べる時は「1」を指定します。

    [ $newup ]
    新着記事のタイトルを最上位に表示する場合は「1」を指定します。
    $subsortが1の時は意味がありません。

    ◆デザインファイル説明
    [ タイトル一覧用デザインファイル / sub.html ]
    タイトル一覧用のデザインファイルです。
    完全なhtmlファイルとなるように記述します。
    このファイルはmagazine.cgiから読み出されます。
    直接表示する訳ではありませんので、ホームページ作成ソフト等での編集は行わないで下さい。
    不具合の原因になります。
    <html>
    <head>
      :
      :
    <body bgcolor=#FFFFFF text=#000000>

    <!--KUGIRI1--> … タイトル一覧開始指示用区切り

    ※この位置に記述されたタグは、一度だけ書き出されます。
     必要なければここには何も書かなくてOKです。

    <!--LOOP_START--> … 1タイトル表示開始指示区切り
    <a href="<!--URL-->"><!--SUB--></a><!--NEW-->
    ※この位置に記述されたタグは、タイトル数分書き出されます。
    <!--LOOP_END--> … 1タイトル表示終了指示区切り

    ※この位置に記述されたタグは、一度だけ書き出されます。
     必要なければここには何も書かなくてOKです。

    <!--KUGIRI2--> … タイトル一覧終了指示用区切り

    </body>
    </html>

    <!--URL-->記事へのリンクに置換されます
    <!--SUB-->タイトルに置換されます
    <!--DATE-->書込日付に置換されます
    <!--NEW-->新着期間中のみ$newtag(上記設定参照)に置換されます

    [ 記事表示用デザインファイル / news.html ]
    記事表示用のデザインファイルです。
    完全なhtmlファイルとなるように記述します。
    このファイルはmagazine.cgiから読み出されます。
    直接表示する訳ではありませんので、ホームページ作成ソフト等での編集は行わないで下さい。
    不具合の原因になります。
    <html>
    <head>
      :
      :
    <body bgcolor=#FFFFFF text=#000000>

    <!--KUGIRI1--> … 記事開始指示用区切り

    表示回数:<!--CNT-->

    <big><!--SUB--></big>

    <!--COM-->

    ※↓これは閲覧者によるメッセージ受付用フォームです。
     必要なければ記述しなくてOKです。
     赤字部分は固定
    <form action="magazine.cgi" method=post>
    <input type=hidden name=mode value=com>
    <input type=hidden name=key value=<!--KEY-->>
    おなまえ <input type=text size=30 name=name>
    ひとこと <input type=text size=50 name=com>
    <input type=submit value="送信">
    </form>

    <!--LOOP_START-->
    <!--NAME--> … <!--COM-->
    <!--LOOP_END-->

    <!--KUGIRI2--> … 記事終了指示用区切り

    </body>
    </html>

    <!--CNT-->表示回数に置換されます
    <!--SUB-->タイトルに置換されます
    <!--COM-->記事内容/ユーザコメントに置換されます
    <!--KEY-->記事内部コードに置換されます。コメントのformに指定して下さい。
    <!--NAME-->ユーザの名前に置換されます
    <!--DATE-->ユーザコメント書込時刻に置換されます
    <!--HOST-->ユーザIPアドレスに置換されます

    ◆エラーが出る場合の対処
    [ パスワードが違います ]
    magazine.cgiのパスワードを確認して下さい。
    $pass = 'パスワード';

    [ データファイルが読み込めません ]
    data.cgiが読めません。存在しない場合は再ダウンロード、存在する場合はパーミッションを確認して下さい。

    [ デザインファイルが読み込めません ]
    sub.htmlかnews.htmlが存在しません。再ダウンロードして下さい。

    [ デザインファイルのフォーマットが正しくありません ]
    [ デザインファイルに表示部分がありません ]
    sub.htmlかnews.htmlの中身の記述が正しくありません。再ダウンロードし、オリジナルの状態からやり直して下さい。

    [ このサーバでは設置出来ません ]
    申し訳ありませんが、お使いのサーバではご利用頂けません。

    [ ログデータファイルが作成出来ません ]
    logフォルダがあるか確認して下さい。
    ない場合は手で作成しても構いません。ある場合はパーミッションを確認して下さい。

    [ カウンタファイルが作成出来ません ]
    cntフォルダがあるか確認して下さい。
    ない場合は手で作成しても構いません。ある場合はパーミッションを確認して下さい。

    [ コメントファイルが作成出来ません ]
    comフォルダがあるか確認して下さい。
    ない場合は手で作成しても構いません。ある場合はパーミッションを確認して下さい。

    [ ロックファイルが作成出来ません ]
    [ ロック失敗。しばらくしてからアクセスして下さい ]
    実際に混み合っているか、正しく設置されていない可能性があります。
    ・lockフォルダがない → 手で作成して下さい
    ・lockフォルダのパーミッションが777相当ではない → ファイル生成可能なパーミッションを指定して下さい
    ・lockフォルダの中にmagazineファイルがない → 中身カラのmagazineファイルを手で作成して下さい

    [ コメント用ファイルがオープン出来ません ]
    コメント用ファイルが無くなった可能性があります。
    設置をやり直して下さい。

    ◆更新履歴
  • サンプル公開(04/03 v1.0)
  • 初版リリース(04/08/09 v1.0)
  • CGIの中身が見えてしまう等のバグ修正(04/08/18 v1.01)