本情報はいささか古く、現在ではハック無しで組み込まれた、こちらのd3forum_rをどうぞご使用ください。
本体ハックをしたくない方は、plugin版もありますので、そちらをご検討ください。
実装済みのサイト(参考まで) : d3diaryデモサイト
元ネタ:(XUGJ)d3forum-d3diary統合元モジュール閲覧権限フィルター
(本ハックでは実装方法を少し変えています。)
d3forumのコメント統合の、元記事閲覧権限を制御する機能を使うとき、コメントのタイトルやコメント者がd3forum側で表示されてしまう気持ちが悪さを回避するためのハックをメインとし、本名表示対応やゲスト名表示、ツリー表示、テーマ色の反映などの周辺ハックを取り込んだ物です。
なお、d3forumの更に先の関連モジュールとの連携は、d3pipes(とattachfile:2010-11-2追加)を除いて手を入れていません。 (例えば、新着情報、piCalなど。。) 元記事に閲覧権限が無いコメントでも、それらには発信される可能性がありますので、ご承知おきださい。 今後手をつけるかもしれませんが、切りが無いので期待薄と思ってください。
以下のファイルをダウンロード、解凍し、trust以下のフォルダを xoops_trust_path/ 以下に上書き、html側のsmartyプラグインをsmarty/pluginsフォルダにアップロードして、モジュールアップデートを実行してください。
ダウンロードファイル | 適応d3forum本体バージョン |
d3com_auth_diff_0.85_003a5.zip 第三版-a4 最新 いくつかのバグFIXなどの最終版 | 0.85 |
d3com_auth_diff_0.85_003a.zip; 第三版-a、 「0.85_003」でのcomment_functions.phpの不具合修正。 コメント統合のクラス取得処理を改善。 (注意)smartyPlugin 「function.d3comment.php」も変更しています。 | 0.85 |
d3com_auth_diff_0.85_002.zip 第二版 | 0.85 |
メインとなる機能です。 D3コメント統合を行った各モジュールの、D3commentクラス内の、「Validate_id」メソッドへの問い合わせを行って、その結果で判定します。 対象となるページは、
となっています。
各モジュールへの問い合わせた結果は、そのモジュールのD3commentクラスの「validate_id」実装内容次第です。
但し、listtopics ページと listtopics_over_categories ページ については、管理者とアドミニストレータに対しては、問い合わせ結果に関わらず全て表示します。 理由は、どこか表示しておかないと、元記事が削除されたりしてモジュール間の記事リンクが切れた場合に、迷子になった記事のメンテナンスが出来なくなってしまうからです。 今回のハックによる副作用として、このような迷子記事は 一般ユーザーやゲストからは一切見えなくなりますので、そのメリット・デメリットを考慮のうえご使用ください。
同梱したd3pipesブロックジョイント「D3pipesBlockD3forumrev」も同様に権限継承がなわれます。 (Topics/Posts をパラメータで選択)
このTopicsジョイントでは、d3forumオリジナルのジョイントではアサインされない、トピック内の最新コメント本文もアサインします。 今回追加したPostsジョイントも同様です。
なお、タイトル部分に[掲示板名]を付加しております。
各ハックでは、テンプレートに external_link_id をアサインしています。
使い方としては、 各ページでの飛び先をコメント元記事に変更したりすることを想定しています。
block_list_posts.html、block_list_topics.html テンプレートの中にサンプルでコメントアウトしていますので、必要に応じて内容を調整し有効化してください。
オリジナルのソースでは、ゲスト名がアサインされていなかったのを、topicslist、topics_over_categoriesでは「first_post_gname」「last_post_gname」でアサインしています。
元ネタ:(XUGJ)d3forumのlisttopicsのゲスト名
管理画面に、「uname」(ユーザーID)/「name」(本名:ニックネーム) の表示選択を付けて、全ての表示を切り替えるようにハックしました。 なお、notification機能の送信先ユーザー名(X_UNAME)についてはコア側なので変更していません。 コアがXCLでしたら、RYUSさんが公開している、RyusExmailString preloadの使用をお勧めします。
元ネタ - XUGJ
d3forumのテンプレート、モジュールCSSは、独自の色調を採用しており、テーマを変更するたびに テーマの色調に調整しなければなりません。 調整箇所を集約する工夫がなされているとはいえ、結構面倒ですし、サイト訪問ユーザーが自由に切り替えられないのは困ります。
これを、特に見づらくなる部分を重点的にテーマのCSS要素を継承する設定に変更してあります。
2011/05/15 第三版+(0.85_003a5)
2010/11/05 第三版(0.85_003a)
2010/11/04 第三版(0.85_003)
2010/11/01 第二版(0.85_002)
2009/07/03 初版(0.85_001)公開
実体ページ:inc/d3com_auth_002
関連ページ: