CGI-Search | カスタマイズノートトップ
キーワード検索  

RSS1.0/RDF
登録データへコメントを投稿しよう
分類: データベース全般
人気度: 5/5 
ご要望からカスタマイズしたものです。各登録データに対しコメント投稿を出来るようにします。ブログのコメントと同じようなものです。
コメント投稿は、登録データにのみ対応しています。ユーザーデータには対応していません。また、コメント表示デザインなどは全てCSSで指定してありますので、簡単に変更出来ます。
初めはパッケージ(モジュール)として開発したのですが、AmigoDatabaseの登録データの連動性を考慮し結果ライブラリとしました。また、開発予定のトラックバック機能は入っておりません。今後、別のカスタマイズとして追加したいと思います。
カスタマイズとしてはかなり荒削りです。機能としてもっとあればいいと思うものもあります。例えば、管理者やデータ登録者へのコメント投稿お知らせメール機能など。今後のバージョンアップにて更に充実させて行くように致しますので取敢えずは今の内容でご容赦下さい。
対象バージョン及び更新履歴
対象バージョン: ver9.85
  • 2010/06/24 ver1.1 新設定機能を追加(db-comment.cgi,db-comment-set.cgiを修正)
     1)同一IPによる連続投稿を時間制限します
     2)コメント内のURLに自動リンクするかしないか
     3)コメント内の改行を許可するかしないか
     4)投稿者のコメント編集を許可するかしないか
  • 2010/06/15 ver1.0 新規公開
  • カスタマイズ方法

    1. 利用にあたって

    1) 著作権の表示

    本スクリプトライブラリをご利用した場合、当サイトの著作権リンクが表示されます。このリンクを削除すること、見えにくく又は見えなくすることを禁止させて頂きます。また、著作権リンク表示がサイトデザインにそぐわない場合など、フォントやフォントサイズ、カラー、リンク文字などの調整は許可しますので各自で調整して下さい。リンク文字は最低限「CGI-Search」は残して下さい。

    2) 他のカスタマイズの利用

    本カスタマイズには、新規ユーザー登録のスパムボット対策を行おう を組み入れています。別途ダウンロードして頂き、指定ディレクトリへFTPアップロードして頂く必要があります。詳細は下段の「4. 導入方法」にてご説明します。

    2. コメント投稿機能

    利用可能な機能は次の通りです。
    • 利用者設定:誰でも利用可能か登録ユーザーのみのどちらか
    • 投稿者のCOOKIE保存機能、COOKIE削除機能
    • 投稿者によるコメント編集、削除機能
    • 管理者によるコメント編集、削除機能
    • 投稿者のコメント編集を許可(ON,OFF)
    • コメント内容にURLがあれば自動リンク(ON,OFF設定可能)
    • コメント内容の改行を無視する設定(ON,OFF設定可能)
    • コメント内容にHTMLタグは無効
    • 管理者室から投稿済みの全コメントリストを表示可能。そこから編集、削除も可能
    • 管理者一覧表示ではEmailやIPなどの確認も可能
    • コメントを1ページに表示する数を指定可能
    • コメント表示順を新しい順か古い順に指定可能
    • データ詳細ページを「dp=****.html」としている場合にも対応可能
    • 誰でも投稿可能設定時に登録キーによりスパムなどを遮断(別カスタマイズの導入)
    • 同一IPの連続投稿の許可時間を設定可能

    3. ダウンロード

    本スクリプトのご利用は本サイトのスクリプト利用規約に無条件で同意したものとします。
    次のダウンロードページから本スクリプトファイルをダウンロードして下さい。 新規ユーザー登録のスパムボット対策を行おう
    セキュリティワードライブラリファイル「db-securityword.cgi」を次のリンクよりダウンロードして下さい。
    ダウンロードファイルは「db-securityword.txt(TEXT形式)」になっています。ダウンロード後に「db-securityword.cgi」とファイル名を変更して下さい。
    ※既にこのカスタマイズを導入されている方は新たにダウンロードの必要はありません。
    ダウンロード db-securityword.txt

    4. 導入方法

    1) ファイルの確認

    ダウンロード後、アーカイブファイルを解凍して頂くと、以下のディレクトリ構造で各ファイルが梱包されています。全てのファイルが揃っているかご確認下さい。
    • comment.zipを解凍
      comment(ver)ディレクトリ(databaseディレクトリ)
        ├ comment.css (644 or 604)
        ├ dataディレクトリ
        │  └ commentディレクトリ (777 or 707)
        │      ├ accessディレクトリ (777 or 707)
        │      │  └ access.log (666 or 606)
        │      └ submit.dat (666 or 606)
        ├ lockディレクトリ
        │  └ COMMENT.lk2 (644 or 604)
        └ libディレクトリ
            ├ db-comment.cgi (644 or 604)
            ├ db-comment-set.cgi (644 or 604)
            └ templateディレクトリ
                └ comment.html (644 or 604)
    • db-securityword.cgi

    2) FTPアップロード

    前項のディレクトリ構造に基づき、それそれのファイルをFTPアップロードします。パーミッションは前項の「(777 or 707)」などとなっている部分をご確認下さい。
    commentディレクトリは新規作成して下さい。commentディレクトリのパーミッションは"777"又は"707"とします。
    db-securityword.cgiはdb-comment.cgiと同じlibディレクトリへFTPアップロードします。パーミッションは他のライブラリファイルと同じ"644"又は"604"で結構です。

    3) 設定ファイル

    「db-comment-set.cgi」をテキストエディターなどで開き必要な項目を設定します。
    初期作動に必ず確認して頂きたい項目は次の2項目です。
    # コメントディレクトリ
    $ComDir="./data/comment";
    新しく作成したcommentディレクトリまでの相対パスを指定します。起点はdatabase.cgiです。
    # データ詳細ページテンプレートHTML
    # ※コメントを表示するデータ詳細ページが標準のdefault.html以外の場合に
    #   そのテンプレートHTMLのファイル名を指定
    # ※標準のdefault.htmlの場合は指定しないこと
    $DataHtml='';
    データ詳細ページが「lib/template/data-part/data/default.html」の場合には設定不要です。
    URLなどで「database.cgi?cmd=dp&num=**&dp=*****.html」として詳細ページを運営している場合に限り、「*****.html」を指定することが可能です。
    因みに「default.html」と「*****.html」の複数のデータ詳細ページでの運営は出来ません。どちらかのデータ詳細ページのみとなります。

    db-securityword.cgiの設定は新規ユーザー登録のスパムボット対策を行おうを確認して下さい。なお、設定はdb-securityword.cgiファイル内設定のみの変更で結構です。カスタマイズ解説内のその他のファイル修正は行う必要はありません。
    設定を変更した場合は、保存した上で再度FTPアップロードして下さい。

    5. database.cgiの修正

    database.cgiの最初の方を次のように修正します。
      &GetFormData;
      @cmd{'ac','ar','c','ca','uj', ... 省略 ... 'dp','fm','fma','lt'}='';
    + @cmd{'comra','comec','comep','comea','comda','comcd','comal'}='';
      
      ... 省略 ...
      
      sub fma{ &Lrequire('./lib/db-fm.cgi'); &FormMailAct }
      sub lt { &Lrequire('./lib/db-lt.cgi'); &LockTest }
    + sub comra{ &Lrequire('./lib/db-comment.cgi'); &CommentRegistAction; }
    + sub comec{ &Lrequire('./lib/db-comment.cgi'); &CommentEditLogin; }
    + sub comep{ &Lrequire('./lib/db-comment.cgi'); &CommentEditPage; }
    + sub comea{ &Lrequire('./lib/db-comment.cgi'); &CommentEditAction; }
    + sub comda{ &Lrequire('./lib/db-comment.cgi'); &CommentDeleteAction; }
    + sub comcd{ &Lrequire('./lib/db-comment.cgi'); &CookieDeleteAction; }
    + sub comal{ &Lrequire('./lib/db-comment.cgi'); &CommentAdminList; }

    「_KanriMenu」サブルーチンを次のように修正します。
      <OPTION value="ce" $select{ce}>CSVファイルエクスポート</OPTION>
      <OPTION value="rs" $select{rs}>カウントリセット日時設定</OPTION>
      <OPTION value="cr" $select{cr}>カウントリセット実行</OPTION>
    + <OPTION value="comal" $select{comal}>投稿コメント一覧</OPTION>
      <OPTION value="ar" $select{ar}>管理室へ戻る</OPTION>

    6. db-uc.cgiの修正

    「UserRoom」サブルーチンを次のように修正します。
    - }&Html('user-room.html');}
    + }if($FORM{DataNum}){ $FORM{num}=$FORM{DataNum}; &dp; }
    + &Html('user-room.html');}

    7. user-certify.htmlの修正

    テンプレートHTML「/lib/template/user-certify.html」のhiddenフォーム部分を次のように修正します。
      <INPUT type="hidden" name="Cookie" value="1">
    + <input type="hidden" name="DataNum" value="$FORM{DataNum}">
      <TABLE style="font-size : 9pt;">

    8. default.htmlの修正

    データ詳細テンプレートHTML「/lib/template/data-part/data/default.html」を修正します。この変更がコメント投稿及び表示の変更になります。
    「3) 設定ファイル」の設定で"default.html"以外を指定した場合はそのファイルを変更して下さい。
    HEAD部分にCSSファイル読込設定を追加します。
      <META http-equiv="Content-Style-Type" content="text/css">
    + <link rel="stylesheet" href="./comment.css" type="text/css" media="all">
      <TITLE>$CNF{Set}{ScriptName} [$CNF{Set}{DataName}詳細]</TITLE>
    コメント投稿及びコメント表示させたい位置に次の記述を追加します。
    そのままコピーしますとスペースなどの不要なものまでコピーされてしまいます。必ず「view plain」又は「copy to clipboard」をクリックしてソースから直接コピーして下さい。
    <div id="Comment_form">
    <!---HTML--->
    &Lrequire('./lib/db-comment.cgi');
    my$Posts=&ComPostsNum;
    if($Posts>0){
        print qq(<h3>Comment: <span style="font-size:10pt;">投稿数($Posts)</span></h3>\n);
        &CommentView;
    }print qq(<h3>Comment Form: <span style="font-size:10pt;">投稿数($Posts)</span></h3>\n);
    &CommentForm;
    print <<"<!---HTML--->";
    </div>
    「<!---HTML--->」と「print <<"<!---HTML--->";」は必ず追加した行の先頭(1文字目)に記述するようにして下さい。
    また、前述記述の同行には他の文字は記述しないようご注意下さい。

    9. サポート

    バグ報告、設置トラブルなどご質問、ご要望がありましたらAmigoDatabaseファンフォーラムへご投稿下さい。
    但し、AmigoDatabase以外への設置や改造などに関するご質問はご遠慮下さい。ですが、改造について通常利用の範疇で改良が必要であるかと思われることは結構です。
    引用文中の「+」や「-」についてはこちらをご覧下さい。引用文の「+」や「-」が正しく表示されていない場合があります。「view plain」をクリックして頂ければ正しい引用文が表示されます。
    update at 2010/06/25(Fri) 00:51:25. DataNum 50 [ TOP ]

    Comment: 投稿数(1)

    サンプルとしてコメント投稿です
    各カスタマイズへのご意見やご要望などをコメント投稿して頂ければ幸いです。なお、コメントに対しての管理者からのお返事は一切行いませんので予めご了承下さい。
    実稼働中ですのでテスト投稿などはお控え下さい。
    コメントを編集した場合、コメント欄の一番下にその日時が自動挿入されます。
    編集:2010/06/15(火) 22:16
    Posted by Bear@管理人 at 2010/06/15(火) 17:30 [ 編集 ]
    Comment System by CGI-Search

    Comment Form: 投稿数(1)


    コメント投稿は登録ユーザー限定です。ログインした状態でご利用下さい。
    • カスタマイズへのご意見やご要望などのコメントにご利用下さい。
    • 不適切な発言は即時削除致します。
    • 管理人はコメントに対し一切お返事を致しませんの予めご了承下さい。
    • 導入トラブルやご質問、バグの報告はAmigoDatabaseファンフォーラムまでお願いします。
    [ TOP ]