Home >Exceptional Script >Smart Board type-G

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

Smart Board type-G ver:2.6


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

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

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


( V 2.55 208 )

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

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

Ver:2.6smart_board_g26.zip

(Ultimate File up:2024/02/04 06:46)

展開ファイル内容
●ダウンロード後、解凍 します。解凍すると以下のファイルが展開されます。
smart.cgi ----------------- 掲示板本体プログラム
admin.cgi ----------------- 管理用プログラム
post.cgi ------------------ 投稿受理用プログラム
changeinit.cgi ------------ モード ON,OFF設定ファイル
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/pngren.pl ------------- PNG連結ライブラリ [配布元サイト閉鎖中 : 桜月氏作成]
lib/bin/*.png ------------- 画像認証用PNG画像
lib/bin/*.ttf ------------- 画像認証用フォントファイル
lib/CGI/Minimal.pm -------- データ受理モジュール
lib/login.pl -------------- 管理モード・ログインモジュール
lib/Digest/SHA/PurePerl.pm --- 暗号化モジュール [配布元]
lib/CGI/Session/ExpireSessions.pm --- セッションファイル消去モジュール [配布元]
lib/session.pl------------- セッションファイル
lib/thumb.pl -------------- 画像縮小モジュール
lib/CGI/Session.pm -------- セッション管理モジュール [配布元]
lib/CGI/Session/*.pm ------ セッション管理モジュール [配布元]
data/*.* ------------------ データファイル
data/past/ ---------------- 過去ログ用ディレクトリ
data/past/0001.cgi -------- 過去ログ用データ
data/session -------------- 管理セッションディレクトリ
data/pwd ------------------ 管理パスワードディレクトリ(回数カウント用)
data/pass.dat ------------- パスワードファイル
data/exchange.dat --------- モード切り替えデータ
data/iconfile.cgi --------- ユーザー登録アイコンログファイル
data/diarylog.cgi --------- ダイアリーログファイル
data/addno.dat ------------ 追加参照フォーム数カウントデータ
data/exchange.dat --------- モード切り替えデータ
data/memdata.cgi ---------- 会員ファイル
cmn/smart.css ------------- スタイルシートファイル
cmn/smart-mobile.css ------ モバイルスタイルシートファイル
cmn/admin-mobile.css ------ 管理・モバイルスタイルシートファイル
cmn/admin.css ------------- 管理・スタイルシートファイル
cmn/bbs.js ---------------- JSファイル
cmn/*.png ----------------- アイコン画像 [入手元]
cmn/dist/js/drawer.js ----- スマートフォン用メニュー・ジャバスクリプト
cmn/dist/css/drawer.css---- スマートフォン用メニュー・スタイルシート
cmn/viewer/*.* ------------ 画像ビューアー(オリジナルで使用) [入手元]
cmn/css/datepicker.css ---- jQuery UIのDatepicker用スタイルシート(カレンダー)
cmn/face/*.png ------------ 顔アイコンファイル群
cmn/icon/*.png ------------ 編集用等アイコン格納ディレクトリ
cmn/js/*.js --------------- jqueryファイル群
cmn/tool/*.png ------------ 管理モードにて使用するアイコン群
ses/ ---------------------- セッションディレクトリ
icon/ --------------------- 編集用等アイコン格納ディレクトリ
fancyBox/ ----------------- jQuery fancyBox v2.1.7プラグインディレクトリ(画像ビューアー) [配布元]
tmpl/*.html --------------- テンプレートファイル
img/ ---------------------- アップロードディレクトリ
diaryimg ------------------ ダイアリーモード添付アップロードディレクトリ
resupl -------------------- コメント返信添付アップロードディレクトリ
icon/weather -------------- 天気マークアイコンディレクトリ
smart_attch_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設定ファイル
          |      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ファイル
          |
          +-- cmn /  *.png
          |    |     smart.css
          |    |     smart_mobile.css
          |    |     admin.css
          |    |     admin-mobile.css
          |    |     bbs.js
          |    +--   face / *.png ... 顔アイコンファイル
          |    +--   icon / *.png ... 編集用等アイコン格納ディレクトリ
          |    +--   css / datepicker.css ... 顔アイコンファイル
          |    +--   js / *.js ... jqueryファイル
          |    +--   tool / *.png ... 管理モードで使用するアイコンファイル
          |    +--   viewer/ *.* ... 画像ビューアー(オリジナルで使用)
          |    |
          |    +--   dist/css/drawer.css
          |    +--   dist/js/drawer.js
          |    +--   dist/viewer/viewer.js, viewer.css
          |
          +-- lib / jacode.pl他
          +-- lib / login.pl ... 管理モード認証プログラム
          |    |
          |    |
          |    +-- Digest/SHA/PurePerl.pm ... 暗号化モジュール
          |    +-- Crypt / *.*
          |    +-- GD / *.*
          |    +-- bin / *.ttf
          |    |         *.png
          |    +-- CGI / Session.pm
          |    +-- CGI / Session / *.pm
          |    +-- CGI / Minimal.pm
          |    |         Minimal.pod
          |    +-- CGI / Minimal / *.pm
          |
          +-- ses [777]
          |
          +-- data [777] / log.cgi       [666]
          |    |           diarylog.cgi  [666] ... ダイアリーログファイル
          |    |           iconfile.cgi  [666] ... ユーザー登録アイコンログファイル
          |    |           addno.dat     [666] ... 追加参照フォーム数カウントファイル
          |    |           pastno.dat    [666] ... 過去ログファイル番号
          |    |           memdata.cgi   [666] ... 会員ファイル
          |    |           count.dat     [666] ... カウンターファイル
          |    |           pass.dat      [666] ... 管理認証ID&パスワード
          |    |
          |    +-- past/    [777]
          |    +-- pwd/   [777]
          |    +-- session/ [777]
          |
          +-- icon / *.png ... 画像以外添付ファイル対応アイコン
          |    |
          |    +-- weather  /  *.png ... お天気マークアイコン
          |
          +-- fancyBox
          |    |
          |    +-- demo
          |    |
          |    +-- lib
          |    |
          |    +-- source
          |    
          +-- tmpl / *.html
          |
          +-- resupl [777] /... コメント添付ファイル格納ディレクトリ
          |
          +-- img [777] /... 通常添付ファイル格納ディレクトリ
          |
          +-- diaryimg [777]  /... ダイアイリー添付ファイル格納ディレクトリ
設定修正
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
755 or 705 701 or 700 Ascii
init.cgi 644 or 604 600 Ascii
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/smart.css
cmn/smart_mobile.css
cmn/admin.css
cmn/admin-mobile.css
cmn/bbs.js
cmn/BackToTop.jquery.css
cmn/input_file_btn.css
- - Ascii
lib/bin/*.png
lib/bin/*.ttf
cmn/*.png
- - Binary
data/log.cgi
data/ses.cgi
data/pastno.dat
data/pass.dat
data/diarylog.cgi
data/iconfile.cgi
data/addno.dat
data/memdata.cgi
data/count.dat
666 or 606 600 Ascii
data | pastディレクトリ 777 or 707 700 Ascii
data/pwdディレクトリ
data/sessionディレクトリ
777 or 707 700 -
imgディレクトリ
diaryimgディレクトリ
resuplディレクトリ
777 or 707 700 Ascii
fancyBox/*.* fancyBox/demo fancyBox/lib fancyBox/source - - Ascii
以上、作業が完了したら「チェックモード」で動作チェックを行ないましょう。 「check.cgi」に直接アクセスすることで、簡易的なチェックを行うことができます。なお、動作チェック後はcheck.cgiはファイル削除しておきます。

check mode

改造 / バグフィクス / スタイル変更 / (バージョンアップ)
Date:2023/09/25
追加添付数変更メソッド微調整。
投稿フォーム内入力項目順をファインチューニング。
フッターを改良した。
スレッド(親記事)ロック機能に対応しました。

スレッドを閉じて、返信却下可能です。

投稿記事右下にある「ロックボタン」からロックします。

新規投稿時にフォーム右下にあるロックのチェックボックスをチェックしてから投稿するとロック記事が投稿されます。
Date:2022/12/04
検索表示の不具合を修正した。
Date:2022/10/29
テンプレートファイル内の文字を一部修正した。(日記→記事)
Date:2022/10/23
添付ファイルにファイル名{タイトル}を追加可能にした。
Date:2022/07/27
管理モードの修正機能において、サブルーチン"add_upload"が呼び出せない不具合を修正した。
Date:2022/06/11
メール送信が11枚届いてしまう不具合に対処しました。
Date:2022/06/09
管理モードへのアクセスが不可能というエラーがあったので、不具合に対処しました。

追加参照フォームの表示数の変更が出来ない不具合を修正しました。

Date:2022/06/08
添付画像にImage::Magickを使用したサムネイル表示がresizeされずに表示されてしまう不具合に対処しました。
Date:2022/06/07
ノーマルモードでの記事修正・削除機能の不具合を微調整しました。
管理モードでの削除機能の不具合を修正しました。
Date:2022/06/06
ノーマルモードにて返信が出来ないという不具合と添付ファイルのサムネイル表示の不具合を微調整しました。
Date:2022/05/15
サイレントモードにてメニュー内に「新規投稿」が表示されてしまう不具合を微調整しました。
アルバム表示にて、記事ナンバー表示が「!num!」と表示されていた不具合を修正しました。
Date:2022/05/09
通常の添付の他に「追加添付」としてさらに「10個」追加可能にした。

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

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

Youtube TAG以外にYoutube ID対応を追加した。
アイコン(フェースアイコン)機能を追加した。

設定ファイル(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-G 「ver:1.0-2.2」から「ver:2.5」に移行する方。

ダウンロードしたSmart Board-G-conversion_tool_all.zipを解凍すると以下のフォルダが展開されます。
○ 1.joyfulオリジナルからsmat2.5へ移行ログ変換ツール
○ 2.joyful改造版からsmart2.5へ移行ログ変換ツール
○ 3.SMART BOARD2.2から2.5へ変換ツール

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

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

3.のフォルダにはA.smartg_log_convet02x.cgiというファイルが格納されています。
AはSMART BOARD Ver.1.0-2.2までのスクリプトをSmart Board type-G ver:2.5にログファイルを変換するためのツールです。
 使い方はファイル内に記載されているので、エディタで開いて確認して下さい。

Smart Board-G-conversion_tool_all.zip