d3downloadsとは
d3downloads は、Duplicatable V3 (D3) 対応のダウンロードモジュールで、主に次の機能があります。
- カテゴリ毎に閲覧・投稿・ファイルアップロード権限などの設定が可能
- 使いにくい mydownloads の管理画面を一新
- mydownloads 、wfdownloads v3.10以上、d3downloads からのインポートが可能
- もちろん、D3 モジュールなので、公開側のディレクトリ名は好きな名前で、複数インストール可能
なお、このモジュールを利用するには、あらかじめ altsys 0.61 以上がインストールされている必要があります。
Ver.1.42 で公開側ディレクトリのファイルを修正し、PROTECTOR_SKIP_FILESCHECKER の定義を追加しました。Ver.1.41 以前からアップデートする場合は、xoops_trust_path 側のファイルに加え、次のファイルの上書きアップロードが必要になります。
※ 修正したファイル XOOPS_ROOT_PATH/modules/dirname/index.php |
Ver.1.20 で、公開側ディレクトリに broken_check.sh を追加しました。このファイルは cronによるファイル破損/リンク切れチェック機能を利用する場合に必要になります(cronによるファイル破損/リンク切れチェック機能を利用しない場合は、アップロードする必要はありません)。
※ 追加したファイル XOOPS_ROOT_PATH/modules/dirname/bin/broken_check.sh |
|
+
| | 【参考】今回の修正点 | - 一般設定「HTML 許可時に危険なタグを除去する」を「HTML 許可時に強制書き換えをしないグループ」に変更
- 管理画面「使用環境チェック」のtypoを修正
※ 要モジュールアップデート
|
バグ報告・要望等
バグ報告・要望等については、
で管理しています。
インストール手順
※ (1) 〜 (4) は、すでに行っていれば、省略して構いません。
(1) まず、XOOPS_TRUST_PATH 用のディレクトリを作ります。
※ できるだけ、DocumentRoot の外にディレクトリを作るといいでしょう。
例) /home/yourhome/xoops_trust_path/
(2) そのディレクトリのフルパスを mainfile.php に記述します。
記述例 define('XOOPS_TRUST_PATH','/home/yourhome/xoops_trust_path');
※ XOOPS Cube Legacy 2.1 の場合は、mainfile.php の 39行目あたりに、define('XOOPS_TRUST_PATH', ''); とありますので、ここにフルパスで記述します。
※ XOOPS 2.0 の場合は、XOOPS_URL定義行の直後に記述するといいでしょう。
(3) 先に、altsysモジュール(v0.61以上)をインストールしておきます。
(4) XOOPS_TRUST_PATH の 下に、modulesディレクトリを作ります。(XOOPS_TRUST_PATH/modules/)
(5) html/modules/d3downloads を html/moduels の下にコピーします。
"d3downloads"というディレクトリ名は自由に変更することができます。
(6) html/class/smarty/plugins 内の Smarty plugin を html/class/smarty/plugins/ にコピーします。
(7) アーカイブの xoops_trust_path/modules/d3downloads を XOOPS_TRUST_PATH/modules/にコピーします。
この"d3downloads"というディレクトリ名は変更しないでください。
(8) アップロード機能を利用する場合、XOOPS_TRUST_PATH/uploads/d3downloads ディレクトリを作り、書込を許可します。
※ 公開側のディレクトリを d3downloads 以外の名前にした場合は、その名前に合わせて、アップロード先ディレクトリ名を変更してください。
例 XOOPS_TRUST_PATH/uploads/mydownload
( mydownload ディレクトリにインストールした場合)
(9) ファイルキャッシュ機能を利用する場合、XOOPS_TRUST_PATH/cache ディレクトリを作り、書込を許可します。
(10) 管理画面で、インストール操作をしてください。
※ XOOPS Cube Legacy 2.1 の場合は、「互換モジュール > モジュールのインストール」のページを開き、インストール。
※ XOOPS 2.0 の場合は、「システム管理 > モジュール管理」のページを開き、インストール。
(11) このモジュールの管理画面「ブロック管理/アクセス管理」で、ブロックの設定とアクセス権限の設定をしてください。
ファイルアップロード機能の設定について
一般設定でアップロードを許可する拡張子や最大ファイルサイズなどを設定することができます。
また、カテゴリ毎にファイルアップロード機能を利用できるグループ/ユーザーを選択できます。
なお、php や phtml などサーバー上で実行可能なファイルについては、この一般設定での設定は無視され、ファイルアップロードされた時点で強制終了する仕様になっています。
アップロード先ディレクトリの設定などに問題がなければ、アップロード機能を利用できるグループ/ユーザーの投稿画面にアップロードフォームが表示されます。
アップロードフォームが表示されない場合、管理画面の「使用環境チェック」を参考にして、アップロード先ディレクトのパミッションなどを確認してください。
本文編集エディタの設定について
一般設定により、FCKeditor か xoopsdhtml のいずれかを選択することができます。
ただし、FCKeditor は HTML を許可したグループ・ユーザーに対してのみ有効となります。
FCKeditor を利用する場合、事前に GIJOEさんのサイトで「FCKeditor on XOOPS」をダウンロードし、XOOPS_ROOT_PATH/common/ にアップロードする必要があります。
FCKeditor on XOOPS ダウンロードページ
xpWikiレンダラー機能との連携について
XOOPS_TRUST_PATH/modules/d3downloads/filters/enabled/ にフィルタープラグイン d3downloads_xpwiki.php をアップロードすることで、xpWikiレンダラー機能を利用することができます。
デフォルトでは、d3downloads_xpwiki.php は XOOPS_TRUST_PATH/modules/d3downloads/filters/disabled/ に置かれていますので、必要に応じてコピーしてご利用ください。
なお、xpwiki を「xpwiki」以外のディレクトリにインストールしている場合は、
d3downloads_xpwiki.php の 18行目あたり
$wiki =& XpWiki::getSingleton( 'xpwiki' );
d3downloads_xpwiki.php の 37行目あたり
$text = $wiki->transform( $text , 'xpwiki' ) ;
を使用環境に合わせて修正したうえで、ご利用ください。
cron によるファイル破損/リンク切れチェックについて
cron を利用できる環境では、コマンドラインでの定期的なファイル破損/リンク切れチェックが可能です。
- crontab の設定例 :
| 0 0 1 * * /usr/local/bin/php php -q -f home/***/html/modules/(dirname)/bin/broken_check.sh pass=パスワード limit=100 offset=0 |
- パスワードは必須で、「一般設定」により設定・変更が可能。limit と offset は必須ではなく、必要に応じて設定してください。
extra フォルダ内のファイルについて
アーカイブのextraフォルダ内には、次のファイルがありますので、必要に応じて、ご利用ください。
- piCal 用プラグイン
- d3pipes 用ジョイント
- mydownloads と URL互換にする .htaccess
.htaccess は Bulletin2 用のをそのままお借りしました。
mod_rewrite が利用できるサーバーで、この .htaccess を XOOPS_URL/modules/(dirname)/ に置くと
次の URL のどちらでもアクセスすることができます。
XOOPS_URL/modules/(dirname)/index.php?page=singlefile&cid=1&lid=1
XOOPS_URL/modules/(dirname)/singlefile.php?cid=1&lid=1
※ 使用環境によっては、ドット(.)で始まるファイル名が不可視ファイル扱いになる場合がありますので、アーカイブには htaccess.txt というファイル名で同梱しています。
※ この htaccess.txt を .htaccess にリネームしたうえでお使いください。
0.95b 以前 から 0.95c へのアップデートについて
d3forum 0.83 のリリースに合わせ、Ver.0.95c でコメント統合クラスを最新方式に変更しました。
このため、xoops_trust_path に加えて、Smarty plugin の上書きアップロードが必要になります。
既に d3forum 0.83 以降を利用している場合には、Smarty plugin の上書きアップロードは不要です。
0.80 以前 から 0.80b へのアップデートについて
Ver.0.80b で、HTML Purifier を Standalone Distribution にしたのに合わせ、ファイルの配置を一部変更しました。
変更前 xoops_trust_path/modules/d3downloads/library/ 内に HTML Purifier を配置
変更後 xoops_trust_path/modules/d3downloads/class/ 内に HTML Purifier を配置
Ver.0.80b 以降では xoops_trust_path/modules/d3downloads/library/ 内のファイルは必要ありませんので、このディレクトリ毎削除してもかまいません。
0.10 から 0.20 へのアップデートについて
Ver.0.20 でアップロード機能を実装したのに合わせて、公開側のディレクトリに画像ファイルを追加しました。
Ver.0.10 から Ver.0.20 にバージョンアップされる方は、XOOPS_TRUST_PATH 側に加えて、公開側のファイルも上書きしたうえで、モジュールアップデートしてください。
0.01 から 0.02 へのアップデートについて
Ver.0.02 から個別のダウンロード情報毎に、HTML、顔アイコン、改行、XOOPSコードの使用の有無を選択できるようになりましたが、テーブルの構造を変更したため、Ver.0.01 からモジュールアップデートを行うと、これらの設定が全て無効になってしまいます。
Ver.0.01 から Ver.0.02 にバージョンアップされる方は、管理画面で一度だけ「アップデート実行」をクリックしてください。
そうすることで、顔アイコン、改行、XOOPSコードを有効にすることができます。
なお、HTML に関しては、このアップデータでは有効にすることはできません。
必要な方は、お手数ですが、個別の編集フォームにて HTML を有効にしてください。');
謝辞
このモジュールの公開にあたり以下の方々への謝辞を述べさせて頂きます。
GIOJE さん < http://xoops.peak.ne.jp/ >
- 閲覧・投稿権限の設定処理、インポート機能などは GIOJE さんのフォーラムモジュール d3forum を参考にさせていただきました。
Marijuana さん < http://marijuana.ddo.jp/> >
- ファイルダウンロード機能については、Marijuana さんの mydownloads+ を参考にさせていただきました。
LiveValidation < http://www.livevalidation.com/ >
- 投稿時の Validation として利用させていただいています。
HTML Purifier < http://htmlpurifier.org/ >
- HTML 許可時のセキュリティ対策として利用させていただいています( PHP5 でのみ動作 )。
htmLawed < http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed/ >
- HTML 許可時のセキュリティ対策として利用させていただいています( PHP4 でのみ動作 )。
nao-pon さん < http://xoops.hypweb.net/ >
- mbstring が有効になっていない環境に対応するため HypMBString クラス(mbstring エミュレータ)を利用させていただいています。
更新履歴
1.47 2009-7-2 ※ 要モジュールアップデート
- 一般設定「HTML 許可時に危険なタグを除去する」を「HTML 許可時に強制書き換えをしないグループ」に変更
- 管理画面「使用環境チェック」のtypoを修正
1.46 2009-6-18 ※ 要モジュールアップデート
- 一般設定に「モジュール用CSSのURI」と「livevalidation用CSSのURI」を追加
1.45 2009-6-1 ※ 要モジュールアップデート
1.44 2009-3-15 ※ 要モジュールアップデート
- イベント通知に「このページにコメントが追加された場合に通知する」を追加
- 英語環境で利用時に、投稿画面の一部が文字化けしたり、レイアウトが崩れたりしていたのを修正(thx yun)
- ファイルサイズを最大約 2GB まで入力できるよう修正(1.44a)
- 言語ファイル portuguesebr を追加(thx leco1) 1.44b
1.43 2009-3-5
- Google Chrome でのダウンロードで、マルチバイトのファイル名が文字化けしていたのを修正
- HypCommonFunc をインストールしている環境で、投稿時に mb_detect_encoding が誤認識し、文字化けする場合があったのを修正
1.42 2009-2-24
- XOOPS_ROOT_PATH/modules/dirname/index.php に PROTECTOR_SKIP_FILESCHECKER の定義を追加(thx GIJOE)
- ページナビを修正し、スタイルシートによるスタイル指定に対応
1.41 2009-2-10
- 本文編集エディタとして xoopsdhtml を選択時、随時 fckeditor に切り替えできるように修正(HTMLを許可したカテゴリでのみ有効)
- SQLエラーが発生し、正常にインストールできない場合があったのを修正(thx GIJOE)
- 同梱の smarty_function_xoopsdhtmltarea を trim()無しバージョンに差し替え(thx GIJOE)
1.40 2009-2-3 ※ 要モジュールアップデート
- これまで画面遷移してからエラー表示していた処理を、極力遷移することなくその場でエラー表示するよう修正(javascript を利用)
- d3forum 0.85 に対応し、一般設定に「コメント統合の表示順序」と「コメント統合のフラット表示における最大表示件数」を追加
- ライセンスを非表示に設定した場合、投稿時に livevalidation がエラーになっていたのを修正(thx rockle)
- モジュール管理者権限のあるユーザーが、(自分が投稿したもの以外の)投稿を修正しようとすると、エラーになっていたバグを修正(thx rockle)
1.30 2009-1-15 ※ 要モジュールアップデート
- 安定版としてリリース
- ダウンロード一覧表示に、ファイル名と MD5 checksum を追加
- 「ファイル破損/リンク切れを報告」で、管理者あてのメッセージ等を入力できるよう修正
- 画像管理モジュールの画像j情報を非同期通信により取得するよう修正( prototype.jsを利用)
- 「ファイル破損/リンク切れを報告」で、Warning が出ていたのを修正(1.20固有のバグ)
1.20 2008-12-24 ※ 要モジュールアップデート
- cron用ファイル破損/リンク切れチェックコマンド(ROOT/modules/dirname/bin/broken_check.sh) を追加
- 一般設定に「cron 用ファイル破損/リンク切れチェックコマンドのパスワード」を追加
- モジュールトップページなどの件数表示で、閲覧権限のないカテゴリの件数が加算されていたバグ(1.09以降のエンバグ)を修正
1.10 2008-12-14 ※ 要モジュールアップデート
- 簡易的に登録項目を追加できる「追加項目」機能を実装
- 説明本文に [title]、[filename]、[filename2]、[expired] を記入すると、入力済のタイトル、ファイル名、掲載期限に変換する機能を追加
- 「スクリーンショット画像を表示する」が有効な場合、説明本文中の好きな位置に画像を貼り付けできるように修正([siteimg]タグを利用)
- lightbox_plus を利用してスクリーンショット画像を表示するよう修正
- 「ピックアップダウンロード」ブロックを追加
- 一般設定で設定したライセンスが投稿フォームに正常に反映されていなかったバグを修正
1.09 2008-12-2 ※ 要モジュールアップデート
- お気に入りのダウンロード情報を登録することができる「マイリンク」機能を実装
- 「マイリンク一覧」ブロックを追加
- カテゴリページなどで、「下層カテゴリも表示」を選択できるよう修正
- 「高人気ダウンロード」、「ダウンロード情報一覧 」のブロックオプションに「下層カテゴリも表示」を追加
- 連携して利用する画像管理モジュールとして、これまでの myAlbum-P に加え、GnaviD3 と webphoto に対応
1.08 2008-11-20 ※ 要モジュールアップデート
- カテゴリーなどをシリアライズ化したデータを保存するようにし、通常時はそのデータを利用することで、DBへのアクセスを軽減
- 一般設定で、ダウンロード一覧表示のデフォルト表示順を選択できるよう修正
- d3downloads を複数インストールしている環境で、ダウンロード情報のモジュール間コピーを可能に
- サブメニューに「自分の投稿」を追加(デフォルトでは一般設定でオフになっています)
- パンくずを xoops_breadcrumbs 規格対応のものに統一
1.07 2008-11-4 ※ 要モジュールアップデート
- 管理画面に「アクセス権限管理」を新設、カテゴリ間アクセス権限コピーなどの機能を実装
- 「カテゴリ管理」の機能を拡充し、サブカテゴリの設定等の操作性を向上
- 「ダウンロードURL」欄に、XOOPS_TRUST_PATH、XOOPS_ROOT_PATH、XOOPS_URL を入力できるよう修正
1.06 2008-10-23
- 履歴情報から登録内容を復元できる機能を実装
- 「アップロードファイルの破損チェック」で、ゴミとして残っているファイルを削除できるよう修正
- ダウンロード情報を不承認にした時のアップロードファイル削除処理に誤りがあったなどいくつかのバグを修正
1.05a 2008-10-18
- ダウンロード情報の承認時などで、Warning と Notice が出ていたのを修正(1.05固有のバグ)
1.05 2008-10-17 ※ 要モジュールアップデート
- ダウンロード情報毎に 2種類までのファイルをアップロードできるよう修正
- 履歴情報の削除時にアップロードしたファイルをうまく削除できていなかったなどいくつかのバグを修正
1.04 2008-10-14 ※ 要モジュールアップデート
- 本文フィルター機能を実装し、xpWikiレンダラー機能との連携を可能に
1.03 2008-10-11 ※ 要モジュールアップデート
- 登録項目に「ホームページタイトル」と「ライセンス」を追加(「ライセンス」は一般設定でオフにすることも可)
- 一般設定に「投稿をユーザーの投稿数に反映」を追加
- 「アップロードファイルの破損チェック」機能を追加
1.02 2008-10-8 ※ 要モジュールアップデート
- 「モジュールトップのメッセージ」(一般設定)と「カテゴリの説明」(カテゴリ管理)を設定・表示できるよう修正
- 管理画面に「ファイル破損報告」を追加
1.01 2008-10-5 ※ 要モジュールアップデート
- メインメニューに「掲載日順一覧」を追加
- ゲスト・登録ユーザー向けに新規登録用カテゴリセレクトを追加
- D3NotificationHandlerクラスを利用してイベント通知処理を行うよう修正
1.00 2008-9-30 ※ 要モジュールアップデート
0.97 2008-7-4
- 再編集時、XOOPS_TRUST_PATH のパスが丸見えになっていたのを修正
- DocumentRoot 内に XOOPS_TRUST_PATH を設定時、再編集後にファイル名が消えるバグ(0.96固有のバグ)を修正(thx aki38x)
0.96c 2008-7-1
- gticket2 と PHP4用 HTML再構築ライブラリ htmLawed を更新
0.96b 2008-6-6
- memory_limitが少なくても、できるだけ大きなサイズをダウンロードできるよう修正(thx Gemini)
0.96 2008-6-1 ※ 要モジュールアップデート
- 一般設定に「本文編集エディタ」を追加(HTML許可時に FCKeditor on XOOPS を選択可)
- プレビュー機能の動作を改善し、できるだけ必要以上のエラーメッセージが出ないよう修正(thx chaosez)
0.95c 2008-5-24 ※ xoops_trust_path に加え Smarty plugin の上書きアップロードが必要
- コメント統合クラスを最新方式に変更 (要d3forum-0.83以上)
- 一部環境でインストールできない場合があったため mysql.sql を修正(thx xoops_beginner)
0.95b 2008-5-18
- 一部環境で文字化けが発生してしまっていたのを修正(thx avtx30)
- HTML 許可時の HTMLフィルタを kses から htmLawed に変更( PHP4 でのみ動作 )
0.95 2008-5-15 ※ 言語定数を変更したため要モジュールアップデート
- 安定版としてリリース
- HTML 許可時に、PHP5 に加え PHP4 の環境でも XSSにつながる危険なタグを除去するように修正
- 一部環境で、一般設定と「ダウンロード情報ブロック」の言語定数が表示されなかったバグを修正
0.90b 2008-5-11
- Internet Explorer 使用時に LiveValidation が正常に動作していなかったのを修正
0.90 2008-5-8
- カテゴリーツリーなどをファイルキャッシュに保存し、サーバーへの負荷を多少軽減できるよう修正
0.80e 2008-5-8
- search.php で Notice が発生する場合があったのを修正
0.80d 2008-5-4
- MyTextSanitizerをオーバーライドするクラスでサニタイズするよう修正
0.80c 2008-4-30 ※ 一般設定で不具合があった場合は要モジュールアップデート
- 一般設定項目名の文字数オーバーを修正(thx gugiga、かめいんこ)
0.80b 2008-4-27
- 安定版としてリリース
- セキュリティ対策として、$_POST/$_GET の取得時に NULL Byte を削除するよう修正
- HTML Purifier を Standalone Distribution に変更
0.80 2008-4-19 ※ 要モジュールアップデート
- ユーザー毎に閲覧・投稿権限を設定できる機能を追加
- グループ/ユーザー毎にファイルアップロード権限を設定できるよう修正
0.70b 2008-4-19
- 特定の条件で閲覧できないカテゴリが RSS/ATOM で配信されることがあったバグを修正
- 一部に GTicket が機能していなかったページがあったのを修正
0.70a 2008-4-17
- XOOPS Cube Legacy 2.1x で & を含むダウンロード URL に正しくアクセスできていなかったのを修正
0.70 2008-4-14 ※ 要モジュールアップデート
- 一般設定に「パンくずを表示する」を追加
- RSS/ATOM、whatsnew プラグインが 2階層より下層のサブカテゴリの情報を正しく配信していなかったバグを修正
0.60d 2008-4-11
- サブカテゴリに登録したダウンロード情報の修正ができなくなっていたバグ(0.60c固有のバグ)を修正
- アップデート時に Warningが表示されるなどのバグを修正(thx avtx30)
0.60c 2008-4-10
- 言語ファイル english を修正(thx avtx30、davidl2)
- 入れ忘れていたfunction.d3forum_comment.php を同梱
- 投稿・編集時に閲覧できないカテゴリを選択できるなどおかしな仕様になっていたのを修正
0.60b 2008-4-8
- 言語ファイル english を追加(thx avtx30)
0.60a 2008-4-7
- 一般設定の「RSSの表示件数」が反映されていなかったバグを修正、ついでに ATOM に対応
0.60 2008-4-5 ※ 要モジュールアップデート
- xoops_breadcrumbs 規格に対応
- セキュリティ対策としてアップロード時にファイルのヘッダをチェックするよう修正
- Tell A Friendモジュール利用時のリンクがおかしくなっていたなどいくつかのバグを修正
0.50c 2008-4-2
- sitemapモジュールの xml_google.php がエラーになってしまっていたのを修正
0.50b 2008-4-1
- wfdownloads v3.20 からのインポートに対応(thx avtx30)
- ダウンロード時、マルチバイトのファイル名が文字化けしないようにとりあえず対応
0.50a 2008-3-30
- Internet Explorer 使用時、投稿画面で javascript のエラーが発生していたのを修正
0.50 2008-3-30 ※ 要モジュールアップデート
- wfdownloads v3.10 からのインポート機能を実装
- ファイルアップロード時にリアルタイムで拡張子チェックをするよう修正(LiveValidationを利用)
- ファイルアップロード時に ID番号がないファイルが保存される場合があったのを修正
0.40 2008-3-27 ※ 要モジュールアップデート
- サイズの大きなファイルをダウンロードできない場合があったため visit.php を修正
- スタイルシートを DBテンプレート化
- セキュリティ対策として HTML 許可時に HTML Purifier を利用して不正なタグを除去するように修正
0.30 2008-3-25 ※ 要モジュールアップデート
- 一般設定に、「myAlbum-P で登録した画像をスクリーンショット画像として利用する」を追加
0.20b 2008-3-23 ※ 要モジュールアップデート
- 一般設定に、デフォルトの「利用可能な OS/ソフト等」を設定できる機能を追加
- 「アップロード環境チェック」でファイルサイズのチェックが正しく動作していなかったバグを修正
0.20a 2008-3-22
- カテゴリ新規作成時におけるアクセス権限のデフォルト値を変更
- カテゴリ新規作成時に「自動承認(編集)」がうまく保存できていなかったバグを修正
0.20 2008-3-21 ※ 要モジュールアップデート
- アップロード機能を実装
- extraフォルダ内に piCal 用プラグインを同梱
- d3pipes 用ジョイントのタイムスタンプがおかしくなっていたバグを修正
0.10b 2008-3-18
- 「ダウンロード情報一覧」ブロックを追加
- トップページに管理者向け新規投稿セレクトボックスを新設
- sitemapプラグインでサブカテゴリをうまく表示できていなかったバグを修正
- extraフォルダ内に d3pipes 用ジョイントを同梱
0.10a 2008-3-17
- 管理画面のカテゴリ移動で、カテゴリを選択しなくても実行してしまっていたバグを修正
- その他細かなバグを修正
0.10 2008-3-16 ※ 要モジュールアップデート
- カテゴリ毎に設定可能なスクリーンショット画像表示機能を追加
- サブメニュー、ダウンロード情報内容ブロックを追加
- 閲覧できないカテゴリにアクセスできるなどいくつかのバグを修正
- その他細かなバグを修正
0.02 2008-3-12 ※ 要モジュールアップデート
- 個別のダウンロード情報毎に、HTML、顔アイコン、改行、XOOPSコードの使用の有無を選択できるように修正
- 管理人投稿フォームで、ファイル破損報告と投票の内容の表示・削除ができるように修正
- 一般設定で設定した件数になると履歴情報がすべて消えてしまっていたバグ
- その他細かなバグを修正
0.01 2008-3-10