Diary Note

KENT WEBさんのDiary Noteです。
設置難易度は星4つ。中級の上です。
1つの記事に画像を3枚までアップできる本格的な日記帳システムです。

サンプル

サンプルはこちらです。
日記を書き込む事はできません。

ディレクトリ構成とパーミッション

public_html
		|-- diary_note (705) [名前は何でも良い]
				|-- diary.cgi (700)
				|-- admin.cgi (700)
				|-- init.cgi (600)
				|-- jcode.pl (600)
				|
				|-- log (700) [作成する]
				|		|-- index.dat (600)
				|
				|-- img (701) [作成する・アップロード画像・アイコン等]
						|-- *.gif (604)

各ファイルの初期設定(注意すべき部分)

diary.cgi

1行目
#!/usr/local/bin/perl
変更無しでOKです。

admin.cgi

1行目
#!/usr/local/bin/perl
変更無しでOKです。

init.cgi

32行〜33行目
# 管理パスワード
$pass = '
0123';
青字の部分を好きな半角英数字に変更。

61行〜63行目
# 日記記事のレイアウト
# → right center left のいずれか
$layout = '
left';
日記記事とカレンダーのレイアウトを指定します。

73行〜76行目
# 画像ディレクトリとそのURL
# → 順に、サーバパス、URLパス(いずれも最後は / は不要)
$imgdir = '
./img';
$imgurl = '
http://xxx.xxx.com/cgi-bin/diary/img';
サーバパスはdiary.cgiからの相対パス。
URLパスはhttpから始まるURLを記入します。

78行〜80行目
# 投稿受理最大サイズ (bytes)
# → 例 : 102400 = 100KB
$cgi_lib'maxdata =
307200';
3枚の画像をアップロードする場合はその合計。
画像個々の大きさではないので注意。

82行〜85行目
# 画像ファイルの最大表示の大きさ(単位:ピクセル)
# → これを超える画像は縮小表示します
$MaxW =
170; # 横幅
$MaxH =
170; # 縦幅
日記表示部の画像サムネイルの大きさ。
縦横どちらかを超えると自動的に縮小表示します。

90行〜91行目
# 戻り先URL
$home = '
../index.html";
[ホームに戻る]のリンク先URLを自分のサイトに合わせてdiary.cgiからの相対パスで記入。

日記ポップアップの広告を非表示にする
:CGIの改造は自己の責任において行うようお願いします)
  カレンダーの日記が書かれた日をクリックするとその日の日記がポップアップで表示されますが、
  デフォルトではこの小さなウィンドウにもポップアップが表示され非常に見にくくなります。
  そこでこのポップアップ部分に表示される広告のみを非表示にします。

  diary.cgi
  376行〜379行目

376: &header; 377: print <<EOM; 378: <!--nobanner--> 379: <div align="center">

  「print <<EOM;」と書かれた次の行に「<!--nobanner-->」を追加する。
  これだけです。(^^)
スクリプト全体をEUC化する
:CGIの改造は自己の責任において行うようお願いします)
  多くのCGIは「シフトJISコード」で記述されています。
  本来は文字化けや正規表現処理などを考慮するとEUCコードで書く方が都合が良いのですが、
  EUCコードに対応したエディタを持っていない人などの為に最も一般的な
  シフトJISコードで書かれていることが多いのです。
  (参考リンク:文字化けについて

  そのために困った問題も起きてきます。
  代表的な例としては、シフトJISコードで「表示」という文字を、CGIスクリプト中に記述して
  出力すると「侮ヲ」と文字化けしてしまいます。
  文字化けした文字の前に「\(バックスラッシュ・日本語文字コードでは円になります)」を
  追加することで文字化けを防ぐことも出来るのですが、完全に回避できる訳ではないし
  いちいち追加するのも面倒です。

  そこで「Diary Note」を例としてスクリプトをEUC化する方法を書いてみます。

  diary.cgi
  スクリプトをEUCを扱えるエディタで開き「EUC-JP」で保存し直します。

  admin.cgi
  スクリプトをEUCを扱えるエディタで開きます。

  8行〜11行目

08: # 外部ファイル取り込み 09: require './cgi-lib.pl'; 10: # require './jcode.pl'; 11: require './init.cgi';

  10行目をコメントアウト。

  713行〜714行目

713: # シフトJISコード変換 714: # &jcode'convert(*val, 'sjis');

  714行目をコメントアウト。
  「EUC-JP」で保存します。

  init.cgi
  スクリプトをEUCを扱えるエディタで開きます。

  151行〜154行目

151: <html lang="ja"> 152: <head> 153: <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=EUC-JP"> 154: <META HTTP-EQUIV="Content-Style-Type" content="text/css">

  153行目の「SHIFT-JIS」の部分を「EUC-JP」に変更します。
  「EUC-JP」で保存します。

  これでOK!。
  アップロードして、書き込んでみましょう。

画像の表示をポップアップにしたバージョン
  オリジナルのスクリプトでは画像をクリックすると新しいウィンドウを開き、画像を表示します。
  しかし小さな画像でも大きなウィンドウが開いてしまい、少々煩わしくなります。
  そこで画像の大きさにぴったり合ったポップアップウィンドウを開くバージョンを作りました。
  最初は改造法を載せるつもりだったのですが、修正箇所が多岐にわたりログの互換性も
  無くなってしまったために改造版として配布することにします。

  サンプルはこちら

  以下利用規程です
  1.本スクリプトはフリーソフトです。
    個人・法人に限らず利用者は自由に使用することができますが、著作権は放棄していません。
  2.利用者はスクリプトの著作権表示を削除する事は出来ません。
  3.本スクリプトはEUC-JPで記述されているため対応しているエディター(Win:秀丸・Mac:mi 等)
    以外では修正や保存をしないでください。
  4.まだβバージョンですので、使用はご自身の責任でお願いします。
    当サイトの管理者はスクリプトによって生じたいかなる損害に対しても責任は取れません。
  5.本スクリプトはKENT-WEB(敬称略)にて配布されているDiaryNoteに相当の改造を加えています。
    そのため本スクリプトについての如何なる質問もKENT-WEBに対してしないでください。
  6.サポートは掲示板にて行いますが、必ずしも回答があるとは限りませんので、あらかじめご了解ください。
    また、メールによる質問にはお答えはいたしておりません。
  7.本スクリプトの再配布および商用利用はご遠慮ください。
  8.KENT-WEBの「CGIスクリプト利用規程」を必ずお読みください。
  9.この「利用規定」は予告なく改編・加筆を行うことがあります。

ダウンロード停止中

インデックスへ戻る