Unknown Artifacts
 
Login
ユーザ名:
パスワード:

パスワード紛失 新規登録
AccessCounter
今日 : 21
昨日 : 75
総計 : 16976






XOOPS (5)
hacks, modules, scripts


当サイトデータベースには計5件のファイルがあります

新着ダウンロード

カテゴリ: XOOPS modules
今すぐダウンロード!attachfile 0.16 ヒット数 バージョン: 0.16
掲載日:  2008-4-19
説明:
attachfileは任意のモジュールにファイル添付機能を追加するモジュールです。

 ※バージョンアップに際しては当ドキュメント下部の履歴を参照してください。
  特定の環境では手動での作業が必要になります。

GIJOEさん作のd3forum-0.49 (alpha)を参考にして作成したものであり、見よう見まね
でDuplicatable V3(D3)技術に対応してみました。
任意のモジュールに機能を追加する機構もd3forumのコメント統合を真似しています。
ただ、XOOPSやPHP、D3への理解が不完全な状態で作成したため、現バージョンには多く
の不具合が含まれているかもしれません。

確認環境:
  サーバー:XOOPS 2.0.16a JP(XOOPS Cube Legacy 2.1で動作したとの報告あり)
  クライアント:Windows XP SP2
         Firefox 2.0.0.11 / Internet Explorer 7

※ファイル添付機能を追加する対象モジュール毎の権限設定プラグインを
 XOOPS_TRUST_PATH/modules/attachfile/plugins/モジュール名/permission.php
 として追加する必要があります。
 現バージョンではd3forum用のプラグインのみ存在します。

 権限設定をせずにひとまず使いたいという場合は以下のディレクトリをコピーしてデ
 ィレクトリ名をモジュール名に変更してください。
 XOOPS_TRUST_PATH/modules/attachfile/plugins/_sample


@D3モジュールを設定する(既に設定してある場合は不要です)

01.DocumentRootの外に専用のディレクトリを作ってください。
  例) /home/yourhome/xoops_trust_path/

02.上記ディレクトリへのフルパスをmainfile.phpに設定してください。
  例) define('XOOPS_TRUST_PATH','/home/yourhome/xoops_trust_path');


@インストールする

01.「D3モジュールを設定する」を実施してください。

02.attachfileのアーカイブを展開してください。

03.アーカイブ内のhtml/modules/attachfileをXOOPS_ROOT_PATH/modulesの下にコピー
  してください。
  このとき、ディレクトリ名はattachfile以外に変えても構いません。

04.アーカイブ内のhtml/class/smarty/pluginsの中身を
  XOOPS_ROOT_PATH/class/smarty/pluginsにコピーしてください。

05.アーカイブ内のxoops_trust_path/modules/attachfileを
  XOOPS_TRUST_PATH/modulesにコピーしてください。
  このとき、ディレクトリ名はattachfileのままにしてください。

06.XOOPS_TRUST_PATH/uploads/attachfileを作成してください。
  このフォルダはWebサーバに書込み権限を設定する必要があります。
  手順03にてディレクトリ名をattachfile以外に変えた場合はこのフォルダも同じ名
  前にする必要があります。

07.XOOPSモジュール管理画面でattachfileモジュールをインストールしてください。
  このとき、attachfileモジュールがメインメニューに表示されないように表示順を
  0に設定します。

08.XOOPSグループ管理画面かaltsysモジュールで必要なグループに対してattachfile
  モジュールへのアクセス権限を付与してください。


@任意のモジュールにファイル添付機能を追加する

01.対象のモジュールに対して以下のファイルが存在することを確認します。
  D3モジュールの場合、ここでいう「モジュール名」とはXOOPS_TRUST_PATH/modules
  内のディレクトリ名です(XOOPS_ROOT_PATHの方ではありません)。
  XOOPS_TRUST_PATH/modules/attachfile/plugins/モジュール名/permission.php

  存在しない場合は以下のフォルダをコピーして作成する必要があります。
  XOOPS_TRUST_PATH/modules/attachfile/plugins/_sample
  attachfile_check_upload_permission_plugin()は、対象のモジュールの対象コン
  テンツに対して編集権限が存在する場合にtrue、それ以外にfalseを返します。
  attachfile_check_download_permission_plugin()は、対象のモジュールの対象コ
  ンテンツに対して参照権限が存在する場合にtrue、それ以外にfalseを返します。

  ひとまずコンテンツに対する権限如何に関わらず使えるようにしたい場合は
  _sampleをそのままコピーして使ってください。

02.XOOPSテンプレートマネージャ画面かaltsysモジュールで任意の場所にファイル添
  付機能へのリンクを埋め込みます。
  埋め込めるものは以下のものです。

アップロード用ウィンドウを開くためのリンクを表示(添付ファイル数つき)
{attachfile_attach_upload dirname=attachfile target_id=$post.id}
上記項目用のラベル(thとか)
{attachfile_attach_upload dirname=attachfile label=1}
ダウンロード用ウィンドウを開くためのリンクを表示(添付ファイル数つき)
{attachfile_attach_download dirname=attachfile target_id=$post.id}
上記項目用のラベル(thとか)
{attachfile_attach_download dirname=attachfile label=1}
添付ファイル数のみを表示
{attachfile_attach_num dirname=attachfile target_id=$post.id}
上記項目用のラベル(thとか)
{attachfile_attach_num dirname=attachfile label=1}

  なお、dirnameはattachfileモジュールのXOOPS_ROOT_PATH側のディレクトリ名で
  す(XOOPS_TRUST_PATH側ではありません)。
  大抵の場合はattachfileになるかと思います。

  target_idは対象のモジュールのコンテンツを一意に特定するためのIDです。
  対象のモジュールに合わせて設定してください。

  labelは常に1です。1という値自体はダミーです。

==============================================================================

【d3forumでの設定例】

 以下にd3forum-0.81の個別投稿の表示/編集画面でファイル添付機能を追加する際の
 テンプレートの改変箇所を示します。

d3forum_inc_eachpost.html
「<div class="d3f_info_ctrl">」の1行下あたり
------------------------------------
<{attachfile_attach_download dirname=attachfile target_id=$post.id}>
------------------------------------

d3forum_main_post_form.html
「<th class="head"><{$smarty.const._MD_D3FORUM_OPTIONS}></th>」の2行上あたり
------------------------------------
<tr valign="top" align="left">
<th class="head">
<{attachfile_attach_upload dirname=attachfile label=1}>
</th>
<td class="even">
<{attachfile_attach_upload dirname=attachfile target_id=$post.id}>
</td>
</tr>
------------------------------------

==============================================================================

【picoでの設定例】

 以下にpico-1.12にファイル添付機能を追加する際の手順を示します。

01.XOOPS_TRUST_PATH/modules/attachfile/plugins/_sampleをコピーして
  XOOPS_TRUST_PATH/modules/attachfile/plugins/picoを作成してください。
  本来ならここでpicoの権限をチェックするロジックを入れるますが、今回はひとま
  ずこのまま使います。

02.picoのテンプレートに以下のコードを追加します。

pico_main_content_form.html
「<{$smarty.const._MD_PICO_TH_CONTENTOPTIONS}>」の3行上あたり
------------------------------------
<tr valign="top" align="left">
<th class="head">
<{attachfile_attach_upload dirname=attachfile label=1}>
</th>
<td class="even">
<{attachfile_attach_upload dirname=attachfile target_id=$content.id}>
</td>
</tr>
------------------------------------

pico_main_viewcontent.html
「<!-- print icon -->」の1行上あたり
------------------------------------
<{attachfile_attach_download dirname=attachfile target_id=$content.id}>
------------------------------------

==============================================================================

【noneでの設定例】

 以下にnone-1.0にファイル添付機能を追加する際の手順を示しています。

http://www.unknown-artifacts.info/cms/modules/d3forum/index.php?post_id=18

==============================================================================

【Bulletin2での設定例】

 Bulletin2の投稿画面はSmartyではなくXoopsFormで実装しているようですので、
 Bulletin2モジュールへのHackが必要になります。
 参考:
 http://suin.jp/modules/xhnewbb/viewtopic-topic_id-55-viewmode-flat.html

 以下にBulletin-2.04にファイル添付機能を追加する際の手順を示します。
 このケースではテンプレートの変更だけでなくBulletin2モジュールに対するHackを
 行いますので、Bulletin2をアップデートする際に注意が必要になります。

01.XOOPS_TRUST_PATH/modules/attachfile/plugins/_sampleをコピーして
  XOOPS_TRUST_PATH/modules/attachfile/plugins/bulletinを作成してください。
  本来ならここでbulletinの権限をチェックするロジックを入れますが、今回はひ
  とまずこのまま使います。

02.通常、attachfileは対象モジュールのテンプレートに組み込みますが、Bulletin2
  の場合は投稿画面がXoopsFormであるため、
  XOOPS_TRUST_PATH/modules/bulletin/include/storyform.inc.php
  を直接Hackします。
  以下のコードを追加してください。

storyform.inc.php
71行目「// options」の1行上あたり
------------------------------------
// for attachfile
require_once( XOOPS_ROOT_PATH.'/class/smarty/plugins/function.attachfile_attach_upload.php' );
$att_title_params['dirname'] = 'attachfile';
$att_title_params['label'] = '1';
ob_start();
smarty_function_attachfile_attach_upload( $att_title_params, $dummy );
$att_title = ob_get_contents();
ob_end_clean();
$att_content_params['dirname'] = 'attachfile';
if ( $storyid > 0 ) {
$att_content_params['target_id'] = $storyid;
}
ob_start();
smarty_function_attachfile_attach_upload( $att_content_params, $dummy );
$att_content = ob_get_contents();
ob_end_clean();
$form->addElement( new XoopsFormLabel( $att_title, $att_content ) );
------------------------------------

03.Bulletin2のテンプレートに以下のコードを追加します。

bulletin_item.html
「<div class="itemFoot">」の1行下あたり
------------------------------------
<{attachfile_attach_download dirname=attachfile target_id=$story.id}>
------------------------------------

==============================================================================


@参考:ファイルの管理方法

 ファイルシステム上のファイル名:
  プレフィクス+XOOPS_ROOT_PATH側ディレクトリ名+コンテンツID(10桁)

 プレフィクス:
  一般設定画面にて以下の3つから選択。
   ・なし(デフォルト)
   ・XOOPS_DB_PREFIXと同じ(末尾に"_"が付加される)
   ・XOOPS_DB_NAMEと同じ(末尾に"_"が付加される)

   例)DB名が"MyCMS"、テーブルのプレフィクスが"XOOPS"、XOOPS_ROOT_PATH側デ
     ィレクトリ名が"d3forum"、コンテンツIDが"0000000001"の場合
      「なし」→"d3forum0000000001"
      「XOOPS_DB_PREFIXと同じ」→"XOOPS_d3forum0000000001"
      「XOOPS_DB_NAMEと同じ」→"MyCMS_d3forum0000000001"

     ※いずれの場合もDB内のテーブル「attach」のカラム「saved_name」には
      "d3forum0000000001"として格納されている。


@TODO

 ・コンテンツ削除時にファイルも自動で削除するための機能
 ・ファイル管理画面
 ・チケットちゃんと対応
 ・XOOPS Cube Legacy 2.1対応(動作報告あり)
 ・添付ユーザとタイムスタンプの記録
 ・単一コンテンツに対する添付数制限機能
 ・メジャーモジュールのプラグイン対応
 ・メジャー言語対応
 ・JavaScriptのない環境への対応
 ・ファイルマネージャ機能(階層フォルダ、保存場所指定など)を実装する


@履歴

0.16(2008/04/19)
・ja_utf8の言語ファイルmain.phpがBOM付UTF8になっていたのをBOM無UTF8に修正。(thx:si-ra)

0.15(2008/03/23)
・ポップアップウィンドウ名を固定(attachfile_popup)に変更。
・XOOPS Cube Legacyの場合に言語設定をXCube_LanguageManagerから読み取るように変
 更。(thx:nobuo)
・ポップアップウィンドウのタイトルの取得元を多言語対応。
・ja_utf8の言語ファイルを追加。

0.14(2007/12/23)
・d3forumへの適用例のバージョン表記をd3forum-0.49 (alpha)から0.81に変更(適用
 方法自体は変更なし)。
・Bulletin2モジュールへの適用方法をREADMEに明記。(thx:naox)
・実ファイル名にプレフィクスとしてXOOPS_DB_PREFIXやXOOPS_DB_NAMEを付加できる機
 能を追加。(thx:naao)
・READMEの「ファイルの管理方法」の記述を詳細化。

 互換上の注意:
  既に添付ファイルが存在する状態で「実ファイル名プレフィクス」設定を変更する
  場合、既存のファイル名は自動で変換されません。
  既に添付ファイルが存在する状態で「実ファイル名プレフィクス」設定を変更する
  際には手でファイル名を変更してください。
  なお、「実ファイル名プレフィクス」設定はDBに格納されている実ファイル名
  (attach.saved_name)には影響しませんので、DB内のデータを変更する必要はあ
  りません。

0.13(2007/07/07)
・picoモジュールへの適用方法をREADMEに明記。(thx:tomo_chan)
・noneモジュールへの適用方法をREADMEに明記。(thx:delphinus)
・表示順を0にすることをREADMEに明記。
・xoops_version.phpで存在しないcommon_functions.phpを参照していたのを修正。
 (thx:crash119)

0.12(2007/03/27)
・一般設定でアップロード用フォルダ名を設定するようになっていたのを、
 atttachfileのXOOPS_ROOT_PATH側のディレクトリ名を設定するように変更。

 互換上の注意:
  バージョン0.11以前を使っており、かつ、一般設定のアップロードパスの指定と
  atttachfileのXOOPS_ROOT_PATH側のディレクトリ名が異なる設定をしていた場合は
  手動でアップロード用ディレクトリ名を変更する必要があります。
  該当する場合はXOOPS_TRUST_PATH/uploads直下のフォルダ名をatttachfileの
  XOOPS_ROOT_PATH側のディレクトリ名と同じものに変更してください。
  なお、通常のインストールではアップロードパスもatttachfileのXOOPS_ROOT_PATH
  内のディレクトリ名も「atttachfile」であるため、この作業は不要です。

0.11(2007/03/26)
・ダウンロード時に「"Cache-Control: private」ヘッダをつけてIE6使用時に直接開け
 るように修正。
・テンプレートのmetaタグをtitleよりも前に移動。
・当ドキュメントをEUC-JPに変換。

0.10(2007/03/26)
・アーカイブ内のxoops_trust_path直下がmodulesになっていなかったのを修正。
・一般設定用の定数がDB制限の30文字を超えていたため正しく表示されていなかったの
 を修正。
・当ドキュメントに「uploads」フォルダの書込み権限の記述を追加。

0.01(2007/03/25)
・新規公開


当モジュールの提供元:http://www.unknown-artifacts.info/cms/
ライセンス:GPL

1564 回のダウンロード  1564  ファイルサイズ 49.55 KB  利用可能なOS/ソフト等   ホームページ http://www.unknown-artifacts.info/cms/
評価: 10.00 (2 票)
このダウンロードを評価する | 投稿 | ファイル破損/リンク切れを報告 | 友達に教える | コメント (2)


カテゴリ: XOOPS hacks
今すぐダウンロード!data.inc._for_d3forum0.49 1.00 ヒット数 バージョン: 1.00
掲載日:  2007-3-29
説明:
WhatsNewにd3forum(0.49a)の新着を掲載するためのプラグインです。
一応権限チェックもしています。

展開すると「d3forum」というフォルダができますので、「XOOPS_ROOT_PATH/modules/whatsnew/plugins」の中に上記「d3forum」フォルダを格納してください。

なお、d3forumを「d3forum」以外の名前で使用している場合は「d3forum」というフォルダ名と「data.inc.php」内の変数「$MOD_DIR」の値を、モジュールの名前に合わせて変更してください。

【注意】

通常WhatsNew用のプラグインはlimitで取得行数を制限してクエリを発行するのですが、今回は1発のクエリに権限チェックを含めることができなかったため、取得行数を30行と決めうちし、そこから不可視コンテンツを除外して規定数まで落とし込んでいます。

そのため、「不可視コンテンツ数+規定数>30」の場合には規定数よりも少ない件数(場合によっては0件)しかWhatsNewに表示されません。
適宜30という値を調整してお使いください。

可能な限り取得したいのであればqueryに対するlimit(ここでは30)を外し、while文の中でのlimitチェックだけにしてください。

……と、ここまで書いて「フェッチしながら処理してるんだからqueryに対するlimitが無くても大丈夫じゃん」って気がしてきましたが、気にしない。
気になる人は修正して使ってください。

349 回のダウンロード  349  ファイルサイズ 2.45 KB  利用可能なOS/ソフト等   ホームページ http://www.unknown-artifacts.info/cms/
評価: 3.00 (3 票)
このダウンロードを評価する | 投稿 | ファイル破損/リンク切れを報告 | 友達に教える | コメント (0)


カテゴリ: XOOPS hacks
今すぐダウンロード!d3forum_hack_for_import_newbb2 1.00 ヒット数 バージョン: 1.00
掲載日:  2007-3-27
説明:
newbb 2.01 -> d3forum 0.49a import hack.
-----------------------------------------------------------------------------
01.Backup file "XOOPS_TRUST_PATH/modules/d3forum/include/import_functions.php".
02.Rename the function "d3forum_import_from_newbb1" to "d3forum_import_from_newbb1_orig" in "import_functions.php".
03.Copy and paste this function to "import_functions.php".
04.** YOU SHOULD CHECK AND MODIFY PERMISSIONS IN EACH CATEGORY AND FORUM. **
05.** YOU SHOULD CHECK AND MODIFY EACH POST. **
06.Synchronize topics/forums/categories by advanced menu (it will correct the order and timestamp in lists).
07.If you have html posts, you should check "Allow HTML" in preferences.

d3forum does not support attached file.
If you use "attachfile" module, you may make "attached files" code in this function effective.
But, "attached files" code is negligently made, you should carefully use this code.
-----------------------------------------------------------------------------

newbb2をd3forumにインポートするためのhackです。
「XOOPS_TRUST_PATH/modules/d3forum/include/import_functions.php」内の関数「d3forum_import_from_newbb1」を「d3forum_import_from_newbb1_orig」に変更し、このhackをコピー&ペーストで貼り付けてください。

何となく権限の移行もしていますが、newbb2とd3forumは異なる構造ですので完全な移行はできません。
適宜手直ししてください。

詳細な手順は上記怪しげな英文を参照のこと。

また、当サイトにあるファイル添付モジュール「attachfile」を使っている場合はhack内の「attached files」の部分のコメントアウトを外すことで添付ファイルも移行できます。
……が、自分の環境で動くことを第一に作ったものですので、各環境に合わせて変数「$mydirname_attachfile」の値などを調整して使ってください。

注意:「attached files」の部分のコメントアウトを外してインポートを実行すると、その時点で「attachfile」内にある「d3forum」用の添付ファイルは削除されます。

500 回のダウンロード  500  ファイルサイズ 10.65 KB  利用可能なOS/ソフト等   ホームページ http://www.unknown-artifacts.info/cms/
評価: 0.00 (0 票)
このダウンロードを評価する | 投稿 | ファイル破損/リンク切れを報告 | 友達に教える | コメント (0)


カテゴリ: XOOPS scripts
今すぐダウンロード!jp_download 1.00 ヒット数 バージョン: 1.00
掲載日:  2007-3-10
説明:
ファイルシステム上にEUC-JPの名前で格納されたファイルをSJISの名前でダウンロードするためのスクリプトです。

※PHPの学習がてらに作ったものですので、ご利用にあたっては中身をよくご確認ください。

【使い方】

「jp_download.php」をWebからアクセスできる場所に格納してください。

URL「/resources/jp_download.php」でアクセスできる場所に格納した場合、XOOPS2標準のダウンロードモジュールの「ダウンロードURL」に
/resources/jp_download.php?filename=/foo/日本語ファイル.zip
と設定すると、基底パス(後述)内の「foo」フォルダに格納されたEUC-JPの名前を持つ「日本語ファイル.zip」をSJISファイル名でダウンロードできるようになります。

なお、リンクなどで扱う場合は
<a href="/resources/jp_download.php?filename=%2Ffoo%2F%93%FA%96%7B%8C%EA%83t%83%40%83C%83%8B.zip">ダウンロード</a>
などのように、ファイル名をSJISでURLエンコードした名前を指定してください。

実際にファイルが格納されている(ファイルシステム上の)場所の基底パスはスクリプト内の変数「$curdir」で設定します(デフォルトではスクリプトが存在するフォルダです)。

【履歴】

2007/03/10:バージョン1.00

324 回のダウンロード  324  ファイルサイズ 6.00 KB  利用可能なOS/ソフト等   ホームページ http://www.unknown-artifacts.info/cms/
評価: 0.00 (0 票)
このダウンロードを評価する | 投稿 | ファイル破損/リンク切れを報告 | 友達に教える | コメント (0)


カテゴリ: XOOPS scripts
今すぐダウンロード!redirect 1.01 ヒット数 バージョン: 1.01
掲載日:  2007-3-10
説明:
単純にリダイレクトするためのスクリプトです。
組織内のコンテンツから外部のサイトにリンクを辿る場合に、「?userid=XXXXX」などクエリに含まれている文字列が外部サイトのリクエストヘッダ「Referer」に含まれて流出してしまうのを防ぎます。

※PHPの学習がてらに作ったものですので、ご利用にあたっては中身をよくご確認ください。

【使い方】

「redirect.php」をWebからアクセスできる場所に格納してください。

URL「/resources/redirect.php」でアクセスできる場所に格納した場合、リンクを記述する際に
<a href="/resources/redirect.php?url=http%3A%2F%2Fwww.example.com%2F">外部リンク</a>
と記述すると、そのリンクをクリックした際に「http://www.example.com/」にリダイレクトされます。

なお、「url」の引数はリダイレクト先のURLをURLエンコードした文字列です。

XOOPS 2.0.16a JPの場合は「class/module.textsanitizer.php」内に以下のような関数を追加し、同ファイル内で「makeClickable」を呼んでいる箇所の後ろに同じように「makeRedirect」を呼ぶようにすることで、コンテンツ内のリンクが自動的にリダイレクトに置き換わります。
※下記コードの2箇所にある「example.com」の部分はXOOPSを設置しているドメインを記してください。これは自分のドメイン内でのリンクをリダイレクトに置き換えないようにする処理です。
※カスタムブロックの場合は「class/module.textsanitizer.php」を通らないのでご注意ください。
    function &makeRedirect(&$text)
    {
		$text = preg_replace("/( href=)([\"\'])(.+?):\/\/(.+?(\.example\.com)+?.*?)([^, \r\n\"\(\)'<>]+)/i", " _href_=\\2\\3://\\4\\6", $text);

		$patterns = array("/( href=)([\"\'])(.+?):\/\/([^, \r\n\"\(\)'<>]+)/ie");
		$replacements = array('"\\1\\2/resources/redirect.php?url=".urlencode("\\3://\\4")');
		$text = preg_replace($patterns, $replacements, $text);

		$text = preg_replace("/( _href_=)([\"\'])(.+?):\/\/(.+?(\.example\.com)+?.*?)([^, \r\n\"\(\)'<>]+)/i", " href=\\2\\3://\\4\\6", $text);
        return $text;
    }
また、WordPress ME(0.6.0 alpha)モジュールを使っている場合は上記と同じようなロジックを「modules/wordpress/wp-includes/functions-formatting.php」内の関数「convert_chars」の末尾あたりに追加することで対応できます。

【履歴】

2007/03/10:バージョン1.01

322 回のダウンロード  322  ファイルサイズ 5.98 KB  利用可能なOS/ソフト等   ホームページ http://www.unknown-artifacts.info/cms/
評価: 0.00 (0 票)
このダウンロードを評価する | 投稿 | ファイル破損/リンク切れを報告 | 友達に教える | コメント (1)