Home >Exceptional Script >Smart Board type-L

- Multi Attachment・Multi MODE-返信ボード -
Smart Board type-L v2.3 (Multi Attachment・Multi MODE-返信式掲示板)
  • [ オリジナルスクリプト改造版 ] の機能的な特徴
    1. KENT-WEBにて配布されているオリジナル(Joyful Note Ver: 7.3)を改造したスクリプトです。
    2. 複数の画像アップロードが可能です。(従来のコメントの左側に表示される他にコメント下部に10枚追加出来ます)
    3. 追加する参照フォーム数をフォーム内にて変更可能です。
    4. 顔アイコン表示に対応しています。
    5. 見出し(タイトル枠:ヘッドライン)色を投稿フォームで選択する事が出来ます。記事枠の色と同期しています。
    6. トピック機能は廃止しました。また、YoutTubeには未対応です。
    7. シークレットモード(掲示板休止モード)があります。(閲覧のみ可能。)
    8. ダイアリーモードがあります。(管理者のみが投稿編集可能)
    9. ダイアリーモード限定で投稿フォームよりお天気マークが入力可能です。
    10. ダイアリーモードでは、コメント返信が可能となります。
    11. ダイアリーモードには「カレンダー」「最新記事リスト」「最近のコメントリスト」「月次アーカイブ」があります。
    12. 掲示板直リンク対策。掲示板への直リンクはTOPページ等(設定ファイルにて指定)に自動で移動します。
      設定ファイルにてon/off可能。
サンプル/ダウンロード

Smart Board type-L ver:2.3


モード切り替えPASS:8888、ダイアリー投稿(管理者限定) PASS:9999

サンプル利用規定 サンプル

改造内容により、互換ツールが必要になる場合がありますので、
「改造点」を必ず目を通して確認して下さい。
(すでにログがある方のみログを変換する必要があります)


( V 2.25 180 )

このプログラムを利用する上での利用規定です。必ず目を通しておいて下さい。
プログラムをダウンロードする場合、「利用規定」に同意したものとみなします。
プログラム利用規定

以下の書庫ファイルをダウンロードします。文字コードはUTF-8です。

Ver:2.3smart_board_l23.zip

(Ultimate File up:2023/09/25 14:08)

展開ファイル内容
●ダウンロード後、解凍 します。解凍すると以下のファイルが展開されます。
smart.cgi ----------------- 掲示板本体プログラム
admin.cgi ----------------- 管理用プログラム
post.cgi ------------------ 投稿受理用プログラム
changeinit.cgi ------------ モード ON,OFF設定ファイル
change.cgi ---------------- モード切り替えプログラム
comment.cgi --------------- コメント返信投稿処理プログラム
diaryicoreg.cgi ----------- ダイアリーモードユーザー登録アイコン投稿プログラム
diaryreg.cgi -------------- ダイアリー投稿用プログラム
icoreg.cgi ---------------- ユーザー登録アイコン投稿プログラム
captcha.cgi --------------- 画像認証プログラム
init.cgi ------------------ 設定ファイル
check.cgi ----------------- 設定チェックプログラム
lib/Calendar/Japanese/Holiday.pm -- 祝日モジュール [配布元]
lib/jacode.pl ------------- 文字コード変換モジュール [入手元]
lib/Crypt/RC4.pm ---------- 暗号化モジュール [配布元]
lib/GD/SecurityImage.pm --- 画像認証作成モジュール [配布元]
lib/Digest/SHA/PurePerl.pm -- 暗号化モジュール [配布元]
lib/CGI/Session.pm -------- セッション管理モジュール [配布元]
lib/pngren.pl ------------- PNG連結ライブラリ [配布元サイト閉鎖中 : 桜月氏作成]
lib/bin/*.png ------------- 画像認証用PNG画像
lib/bin/*.ttf ------------- 画像認証用フォントファイル
data/*.* ------------------ データファイル
data/past/ ---------------- 過去ログ用ディレクトリ
data/past/0001.cgi -------- 過去ログ用データ
data/pwd/ ----------------- 管理パスワードディレクトリ(回数カウント用)
data/ses/ ----------------- セッションディレクトリ[管理モード]
data/iconfile.cgi --------- ユーザー登録アイコンログファイル
data/diarylog.cgi --------- ダイアリーログファイル
data/addno.dat ------------ 追加参照フォーム数カウントデータ
data/exchange.dat --------- モード切り替えデータ
cmn/bbs.css --------------- スタイルシートファイル
cmn/bbs.js ---------------- JSファイル
cmn/*.png ----------------- アイコン画像 [入手元]
cmn/view/*.* -------------- 画像ビューアー [入手元]
tmpl/*.html --------------- テンプレートファイル
img/ ---------------------- 添付アップロードディレクトリ
diaryimg ------------------ ダイアリーモード添付アップロードディレクトリ
resupl -------------------- コメント返信添付アップロードディレクトリ
icon ---------------------- 編集用等アイコン格納ディレクトリ
icon/weather -------------- 天気マークアイコンディレクトリ
lightview-3.5.1/ ---------- jQuery プラグインディレクトリ(画像拡大表示) [配布元]
smart_ext_convet.cgi ------ 添付ファイル変換ツール
smart_log_convet.cgi ------ ログファイル変換ツール
referer_error.html -------- 直リンク用HTMLファイル
ディレクトリ構成例
●全体のディレクトリ構成とファイル位置の設置例は以下のとおりです(かっこ内はパーミッションの設定値)。
ディレクトリ構成例
public_html / index.html (トップページ等)
      |
      +-- smart /  smart.cgi       [755] ... 掲示板本体
            |      post.cgi        [755] ... 投稿用プログラム
            |      diaryreg.cgi    [755] ... ダイアリー投稿用プログラム
            |      icoreg.cgi      [755] ... ユーザー登録アイコン投稿プログラム
            |      changeinit.cgi  [755] ... モード ON,OFF設定ファイル
            |      change.cgi    [755] ... モード切替プログラム
            |      check.cgi       [755] ... 使用後削除
            |      admin.cgi       [755] ... 管理画面
            |      diaryicoreg.cgi [755] ... ダイアリーモードユーザー登録アイコン投稿プログラム
            |      diaryreg.cgi    [755] ... ダイアリー投稿用プログラム
            |      comment.cgi     [755] ... コメント返信投稿処理プログラム
            |      init.cgi        [644] ... 設定ファイル
            |      captcha.cgi     [755] ... 画像認証用Program
            |      smart_attch_convet.cgi  [755] ... 添付ファイル変換ツール(使用後削除)
            |      smart_log_convet.cgi    [755] ... ログファイル変換ツール(使用後削除)
            |      referer_error.html      [644] ... 直リンク用HTMLファイル
            |
            +-- lib / *.pl
            |    |
            |    +-- GD / *.*
            |    +-- Crypt / *.*
            |    +-- CGI / *.*
            |    +-- Digest / *.*
            |    +-- bin / *.*
            |
            +-- data / log.cgi       [666]
            |    |     ses.cgi       [666]
            |    |     diarylog.cgi  [666] ... ダイアリーログファイル
            |    |     iconfile.cgi  [666] ... ユーザー登録アイコンログファイル
            |    |     addno.dat     [666] ... 追加参照フォーム数カウントデータ
            |    |     exchange.dat  [666] ... モード切り替えデータ
            |    |     pastno.dat    [666]
            |    |     pass.dat      [666]
            |    |
            |    +-- past [777] / 0001.cgi [666]
            |    +-- pwd/ [777]
            |    +-- ses/ [777]
            |
            +-- resupl   [777]  /... コメント添付ファイル格納ディレクトリ
            |
            +-- img      [777]  /... 通常添付ファイル格納ディレクトリ
            |
            +-- diaryimg [777]  /... ダイアイリー添付ファイル格納ディレクトリ
            |
            +-- cmn / *.*
            |    |
            |    +-- view / *.*
            |    +-- face / *.png ... 顔アイコンファイル
            |
            +-- icon / *.png ... 画像以外添付ファイル対応アイコン
            |    |
            |    +-- weather  /  *.png ... お天気マークアイコン
            |
            +-- lightview-3.5.1
            |    |
            |    +-- css
            |    |
            |    +-- js
            |
            +-- tmpl / *.html
設定修正
init.cgi をエディタで開いて以下の箇所を修正します。
$cf{authkey} = 1;
アクセス制限を行う場合「1」、制限しない場合「0」に設定します。
$cf{authtime} = 60;
ログイン有効期間(分)を設定します。
$cf{thumbnail} = 0;
(画像を自動縮小する場合は「1」とします。これにより大きな画像でも縮小されるため、閲覧速度が軽減されます。ただし、サーバ側でImage::Magickが利用できることが条件です。Image::Magickの可否は「check.cgi」でチェックすることができます。)
$cf{max} = 100;
(最大記事数の設定です。これを超える記事とその添付ファイルは古い順に削除されます)
$cf{pastkey} = 1;
過去ログを生成する場合には 1 とします
$cf{imgdir} = "./img";
(アップロードされるファイルの格納ディレクトリをサーバパスで指定します。フルパスで記述する場合は、/ から記述します)
$cf{imgurl} = "./img";
(上記のディレクトリのURLパスを指定します。フルパスの場合 http:// から記述します)
$cf{imgcheck} = 1;
(アップされた添付ファイルを管理者がチェック後に表示する場合は「1」とします)
$cf{tubesize} = "640.5px";
YouTube表示サイズ(width:max-size)横幅を指定します。縦の長さは自動で縮小します。通常854pxですが、大きいと表示するのに時間がかかると思われる場合に使用します
$cf{topsort} = 1;
レス記事がついた親記事を一番トップへ移動させる場合には1を、親記事を投稿順とするには「0」とします
$cf{maxdata} = 512000;
(1度に投稿できるデータ容量の制限値をバイト数で指定します。例えば、102400バイト=100KBとなります)
$cf{ok_text} = 0; # TEXT
$cf{ok_gif} = 1; # GIF
$cf{ok_png} = 1; # PNG
$cf{ok_jpeg} = 1; # JPEG
(アップロードを許可するファイル形式を指定します。許可するファイルを「1」とします)
$cf{use_captcha} = 1;
スパム対策に画像認証を使用する場合の設定です。使用しない場合は「0」、使用する場合でライブラリー版を使用する場合は「1」、モジュール版を使用する場合は「2」とします
※画像認証(投稿キー機能)についての詳細は右記ページをご覧ください。: 画像認証について
$cf{max_failpass} = 5;
(管理パスワードの最大間違い制限を指定します。この回数以上になるとログインがロックされます。
※運用の注意点は右のリンクをご覧ください: 管理パスワードについて
$cf{mode_pass} = '8888';
モード切り替えパスワード設定。【[mode=0,通常掲示板][mode=1,掲示板休止][mode=2,ダイアリーモード]】
$cf{diary_mode} = 1;
ダイアリーモード使用。使用する場合は「1」に設定する。
$cf{diary_pass} = '9999';
ダイアリー管理モード(管理者投稿)入室パスワード設定。任意で変更修正。
管理モードに入室すると、記事投稿、編集、閲覧が可能になります。
$cf{diarybbs_cgi} = './joyful.cgi?mode=diary';
ダイアリー管理モード時に追加添付参照フォーム数を変更した時の戻るURL【URLパス】。変更不可
$cf{addattach} = [0,1,3,5,7,9,10];
追加添付ファイル入力フォーム数(MAX=10)。maxで「5」の場合は[0,1,3,5]《 2,4,6,8は使用不可!》
$cf{attach_defo} = 3;
追加添付ファイル入力フォーム数の初期値。
閲覧者が初めてこの掲示板を開いた時に見る入力フォームの行数です。
変更可能な数値は「0~9」までの数値の内、(0,1,3,5,7,9)です。初期数値は「3」に設定されています。
$cf{addcnt} = './data/addno.dat';
追加添付ファイル採番ファイル【サーバパス】。パーミッションは「666」
$cf{refstep} = 0;
掲示板直リンク対策。使用する場合は「1」に設定。
$cf{redirect} = "https://www.transformsite.com/sample/joyful_multiple/referer_error.html";
掲示板直リンク対策時にリダイレクトするウェブページ。戻り先のURL【URLパス】
通常、サイトのTOP PAGEを指定して、メニューから掲示板に誘導する。
必ずご自分の環境に合わせて修正すること。
$cf{comment} = 1;
コメント返信機能ON/OFF、0=no 1=yes
$cf{approve} = 0;
コメント承認制 (0=no 1=yes)、投稿記事を管理者が表示前に確認する場合(スパム対策)
$cf{max_res} = 5;
最大コメント投稿数を設定します。(通常「20」ぐらいまでが限度です)
smart.cgi, post.cgi, admin.cgi, check.cgi, captcha.cgi, diaryreg.cgi, icoreg.cgi, diaryicoreg.cgi, comment.cgi, changeinit.cgi, smart_attch_convet.cgi, smart_log_convet.cgi をエディタで開いて以下の箇所を修正します。
#!/usr/local/bin/perl
(プロバイダで定められたPerlへのパスを指定します)
パーミッション
●修正が完了したら各ファイルを所定のディレクトリへFTP転送し、アクセス権 (パーミッション) を、以下のとおり設定します。
ファイル名 パーミッション 転送MODE
一般サーバ suEXEC
CGIWrap
smart.cgi
post.cgi
admin.cgi
check.cgi
captcha.cgi
diaryreg.cgi
icoreg.cgi
comment.cgi
diaryicoreg.cgi
changeinit.cgi
smart_attch_convet.cgi
smart_log_convet.cgi
705 or 755 701 or 700 アスキー
init.cgi 604 or 644 600 アスキー
lib/*.*
lib/login.pl
lib/Crypt/*.*
lib/GD/*.*
lib/bin/*.*
lib/CGI/Session/*.pm
lib/CGI/Session.pm
lib/CGI/*.pm
lib/CGI/*.pod
lib/CGI/Minimal/*.pm
lib/Digest/SHA/PurePerl.pm
cmn/bbs.css
cmn/bbs.js
cmn/admin.css
cmn/BackToTop.jquery.css
cmn/form.css
cmn/input_file_btn.css
- - アスキー
data/log.cgi
data/diarylog.cgi
data/iconfile.cgi
data/addno.dat
data/count.dat
data/pastno.dat
data/past/0001.cgi
606 or 666 600 アスキー
imgディレクトリ
diaryimgディレクトリ
resuplディレクトリ
data/pastディレクトリ
data/pwdディレクトリ
data/sesディレクトリ
707 or 777 705 or 755 -
cmn/*.gif
cmn/*.png
lib/bin/*.ttf
- - バイナリ
lightview-3.5.1/*.*
lightview-3.5.1/css
lightview-3.5.1/js
- - Ascii
以上、作業が完了したら「チェックモード」で動作チェックを行ないましょう。 「check.cgi」に直接アクセスすることで、簡易的なチェックを行うことができます。なお、動作チェック後はcheck.cgiはファイル削除しておきます。

check mode

改造点
Date:2023/09/25
追加添付数変更メソッド微調整。
投稿フォームファインチューニング。
フッターを改良した。
投稿フォームにてメールアドレス入力無効だったものを復活させて有効にした。
メールアドレスの記事内への表示と非表示を投稿フォームより選択可能にした。
TOPページ右上に検索窓を設置し、検索を容易にした。
Date:2023/03/04
過去ログ表示の不具合を修正した。
Date:2022/12/04
検索表示の不具合を修正した。
Date:2022/10/23
添付ファイルにファイル名{タイトル}を追加可能にした。
Date:2022/06/11
メール送信が11枚届いてしまう不具合に対処しました。
Date:2022/06/09
添付画像にImage::Magickを使用したサムネイル表示がresizeされずに表示されてしまう不具合に対処しました。
追加参照フォームの表示数の変更が出来ない不具合を修正しました。
Date:2022/05/09
通常の添付の他に「追加添付」としてさらに「10個」追加可能にした。

通常の添付は今まで通り、コメントの左側に配置表示して、追加添付はコメントの下側に配置される。

追加参照フォームの表示数を選択可能とした。(0,1,3,5,7,9,10)個から選択する。

タイトル表示に表示枠を設け、見出し形式にした。さらに、見出しの色をユーザーが投稿フォームから選択可能にした。

見出し色を選択すると、同色にて記事枠も表示される。

アイコン(フェースアイコン)機能を追加した。

設定ファイル(init.cgi)にて、使用するかどうかの「on,off」が可能。

アイコンをユーザー(ゲスト)が登録可能な機能を追加した。

ユーザーが自分の好みのアイコンを登録出来るようにした。さらに専用属性も付加した。

画像以外の添付ファイルについて、対応するアイコン表示(各拡張子に対応)に変更した。

.pdf .doc .docx .xls .xlsx
.ppt .pptx .txt .zip .mp3 .mp4

ダイアリーモード(日記帳モード)を追加。

日記帳として、管理者のみが使用可能(管理パスワード使用)。

お天気マークを入力可能とした。

投稿者名は管理者と決まっているので、入力を省略した。

掲示板への直リンク禁止機能を追加。

設定ファイルにて「on,off」可能。

email入力は除外しました。
サイレント(掲示板休止)モードへの切り替えも専用のPASSにて容易に変更出来ます。
トピック表示機能は廃止。

変換ツール(新規の方は関係ありません。)

アップデート留意事項:下記ツールは「Joyful Note v7.3」,もしくはSmart Board type-L 「ver:1.0-1.8」から「ver:2.0」に移行する方。

ダウンロードしたSmart Board-L-conversion_tool.zipを解凍すると以下のフォルダが展開されます。
○ 1.smart-L_joyfulオリジナルからsmart2.0へ移行ツール
○ 2.smart-L(1.0-1.8)からsmart-L2.0へ移行ツール

1.のフォルダにはA.smartl_log_convet02.cgi, B.smartl_ext_convet.cgiの2種類のファイルが同梱されています。
AはjoyfulオリジナルからSmart Board type-L ver:2.0にログファイルを変換するためのツールです。
Bはjoyfulオリジナルでの添付ファイル形式をSmart Board type-L ver:2.0に対応させるために変換するツールです。
 先ずAを使用してから、Bを使用します。それぞれの使い方はファイル内に記載されているので、エディタで開いて確認して下さい。

2.のフォルダにはA.smartl_log_convet02x.cgiというファイルが格納されています。
Aはsmart-L(1.0-1.8)からsmart-L2.0へにログファイルを変換するためのツールです。
 先ずAを使用してから、Bを使用します。それぞれの使い方はファイル内に記載されているので、エディタで開いて確認して下さい。

Smart Board-L-conversion_tool.zip