==============================================================================
ܼ
Ϥ
D3⥸塼ꤹʴꤷƤפǤ
󥹥ȡ뤹
ǤդΥ⥸塼˥եźյǽɲä
D3⥸塼ǤˤĤ
d3forumǤ
picoǤ
noneǤD3⥸塼
Bulletin2Ǥ
piCalǤD3⥸塼
d3blogǤ
XWORDSǤD3⥸塼
͡źդեź襳ƥĤɽΥҥ
͡եδˡ
TODO

==============================================================================
Ϥ

attachfileǤդΥ⥸塼˥եźյǽɲä⥸塼Ǥ

С󥢥åפ˺ݤƤɥȲ򻲾ȤƤ
δĶǤϼưǤκȤɬפˤʤޤ

GIJOEd3forum-0.49 (alpha)򻲹ͤˤƺΤǤꡢ褦ޤ
Duplicatable V3D3˵ѤбƤߤޤ
ǤդΥ⥸塼˵ǽɲä뵡d3forumΥ򿿻Ƥޤ
XOOPSPHPD3ؤԴʾ֤ǺᡢԶ礬ޤޤ
뤫⤷ޤ

ǧĶ
СVer1,00XOOPS 2.0.16a JP
Ver1,00ʹߡXOOPS Cube Legacy 2.1
饤ȡWindows XP SP3
Firefox 3.0.5 / Internet Explorer 7

եźյǽɲäоݥ⥸塼θץ饰
XOOPS_TRUST_PATH/modules/attachfile/plugins/⥸塼̾/permission.php
Ȥɲäɬפޤ
СǤd3forumѤΥץ饰Τ¸ߤޤ

򤻤ˤҤȤޤȤȤϰʲΥǥ쥯ȥ򥳥ԡƥ
쥯ȥ̾⥸塼̾ѹƤ
XOOPS_TRUST_PATH/modules/attachfile/plugins/_sample

==============================================================================
D3⥸塼ꤹʴꤷƤפǤ

01DocumentRootγѤΥǥ쥯ȥäƤ
Webۤ˥桼Ǥʤ˺äƤ
) /home/yourhome/xoops_trust_path/

02嵭ǥ쥯ȥؤΥեѥmainfile.phpꤷƤ
) define('XOOPS_TRUST_PATH','/home/yourhome/xoops_trust_path');

==============================================================================
󥹥ȡ뤹

01D3⥸塼ꤹפ»ܤƤ

02attachfileΥ֤ŸƤ

03html/modules/attachfileXOOPS_ROOT_PATH/modulesβ˥ԡ
Ƥ
ΤȤǥ쥯ȥ̾attachfileʳѤƤ⹽ޤ

04html/class/smarty/pluginsȤ
XOOPS_ROOT_PATH/class/smarty/plugins˥ԡƤ

05xoops_trust_path/modules/attachfile
XOOPS_TRUST_PATH/modules˥ԡƤ
ΤȤǥ쥯ȥ̾attachfileΤޤޤˤƤ

06XOOPS_TRUST_PATH/uploads/attachfileƤ
ΥեWebФ˽߸¤ꤹɬפޤ
03ˤƥǥ쥯ȥ̾attachfileʳѤϤΥեƱ̾
ˤɬפޤ

07XOOPS⥸塼̤attachfile⥸塼򥤥󥹥ȡ뤷Ƥ
ΤȤattachfile⥸塼뤬ᥤ˥塼ɽʤ褦ɽ
0ꤷޤ

08XOOPS롼״̤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򤽤ΤޤޥԡƻȤäƤ

ʲΥڡʤҤ褳ˤphotosite󤬡֥åץɤϴԤΤߤ
¡ɤϴԤϿ桼Τ߲ġפȤץ饰ä
äƤޤ
http://hiyokosan.com/modules/hiyokobbs2/index.php?action=QuestionView&id=104

02XOOPSƥץ졼ȥޥ̤͡altsys⥸塼Ǥդξ˥եź
յǽؤΥ󥯤ߤޤ
ΤϰʲΤΤǤ$post.idβսоݥ⥸塼ˤäưۤ
ޤˡ

åץѥɥ򳫤Υ󥯤ɽźեեĤ
{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}

ʤdirnameattachfile⥸塼XOOPS_ROOT_PATH¦Υǥ쥯ȥ̾
XOOPS_TRUST_PATH¦ǤϤޤˡ
ξattachfileˤʤ뤫Ȼפޤ

target_idоݤΥ⥸塼ΥƥĤդꤹ뤿IDǤ
оݤΥ⥸塼˹碌ꤷƤ

labelϾ1Ǥ1ȤͼΤϥߡǤ

==============================================================================
D3⥸塼ǤˤĤ

attachfileD3⥸塼ᥤ󥿡åȤˤƤ뤿ᡢD3⥸塼Ŭ
ѤϰʲκȤɬפǤ
ʸ㤬ƤʤD3⥸塼ŬѤݤˤϤɲú
ȤƼ»ܤƤ

01.XOOPS_ROOT_PATH/modules/⥸塼̾פβˡmytrustdirname.phpפȤ
եʲƤǺƤ
---------------------------------------
<?php
$mytrustdirname = '⥸塼̾' ;
?>
---------------------------------------

==============================================================================
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.18˥եźյǽɲäݤμ򼨤ޤ

01XOOPS_TRUST_PATH/modules/attachfile/plugins/_sample򥳥ԡ
XOOPS_TRUST_PATH/modules/attachfile/plugins/picoƤ
ʤ餳picoθ¤ååޤϤҤȤޤ
Τޤ޻Ȥޤ

02picoΥƥץ졼Ȥ˰ʲΥɤɲäޤ

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">
	<{if $content.id == "0"}>
	<{assign var="content_id"}>
	<{else}>
	<{assign var="content_id" value=$content.id}>
	<{/if}>
	<{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ǤD3⥸塼

ʲ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򥢥åץǡȤݤդɬפˤʤޤ

01XOOPS_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 ) );
------------------------------------

03Bulletin2Υƥץ졼Ȥ˰ʲΥɤɲäޤ

bulletin_item.html
<div class="itemFoot">פ1Բ
------------------------------------
<{attachfile_attach_download dirname=attachfile target_id=$story.id}>
------------------------------------

==============================================================================
piCalǤD3⥸塼

ʲpiCal-0.89˥եźյǽɲäݤμ򼨤ޤ

01.XOOPS_TRUST_PATH/modules/attachfile/plugins/_sampleפ򥳥ԡ
XOOPS_TRUST_PATH/modules/attachfile/plugins/piCalפƤ

02.XOOPS_ROOT_PATH/modules/piCalסʺpiCalפʬϼºݤΥե̾
碌ޤ¾ʬơpiCalפΤޤѹޤˤβ
mytrustdirname.phpפȤեʲƤǺƤ
---------------------------------------
<?php
$mytrustdirname = 'piCal' ;
?>
---------------------------------------

03XOOPS_ROOT_PATH/modules/piCal/class/piCal.phpפ2161
ʡfunction get_schedule_edit_html( )Ρif( $editable )פˤ˰
ɲá
---------------------------------------
if( $editable && ! empty( $_GET[ 'event_id' ] ) ) {
include_once( XOOPS_ROOT_PATH . "/class/smarty/plugins/function.attachfile_attach_upload.php" ) ;
$attach_dummy = "" ;
$attach_label_params[ "dirname" ] = "attachfile" ;
$attach_label_params[ "label" ] = "1" ;
ob_start() ;
smarty_function_attachfile_attach_upload( $attach_label_params, &$attach_dummy ) ;
$attach_label = ob_get_contents();
ob_end_clean() ;
$attach_contents_params[ "dirname" ] = "attachfile" ;
$attach_contents_params[ "target_id" ] = intval( $_GET[ 'event_id' ] ) ;
ob_start() ;
smarty_function_attachfile_attach_upload( $attach_contents_params, &$attach_dummy ) ;
$attach_contents = ob_get_contents();
ob_end_clean() ;
$ret .= "
<tr>
<td class='head'>".$attach_label."</td>
<td class='even'>".$attach_contents."</td>
</tr>\n" ;
}
---------------------------------------

04XOOPS_ROOT_PATH/modules/piCal/class/piCal.phpפ1871
ʡfunction get_schedule_view_html( $for_print = false )
_PICAL_TH_LASTMODIFIEDפ3Բˤ˰ʲɲá
---------------------------------------
<tr>
<td class='head'>".$attach_label."</td>
<td class='even'>".$attach_contents."</td>
</tr>
---------------------------------------

05XOOPS_ROOT_PATH/modules/piCal/class/piCal.phpפ1814
ʡfunction get_schedule_view_html( $for_print = false )
$contactפβˤ˰ʲɲá
---------------------------------------
include_once( XOOPS_ROOT_PATH . "/class/smarty/plugins/function.attachfile_attach_download.php" ) ;
$attach_dummy = "" ;
$attach_label_params[ "dirname" ] = "attachfile" ;
$attach_label_params[ "label" ] = "1" ;
ob_start() ;
smarty_function_attachfile_attach_download( $attach_label_params, &$attach_dummy ) ;
$attach_label = ob_get_contents();
ob_end_clean() ;
$attach_contents_params[ "dirname" ] = "attachfile" ;
$attach_contents_params[ "target_id" ] = intval( $event->id ) ;
ob_start() ;
smarty_function_attachfile_attach_download( $attach_contents_params, &$attach_dummy ) ;
$attach_contents = ob_get_contents();
ob_end_clean() ;
---------------------------------------

==============================================================================
d3blogǤ

ʲd3blog-1.02.5aθƤɽԽ̤ǥեźյǽɲäݤ
ƥץ졼ȤβѲս򼨤ޤ

d3blog_inc_entry.html
<ul class="d3blogFooter clearFix">פβ
------------------------------------
<li><{attachfile_attach_download dirname=attachfile target_id=$entry.bid}></li>
------------------------------------

d3blog_main_submit.html
<legend><{$smarty.const._MD_D3BLOG_LANG_TRACKBACK}></legend>פ
3Ծ夢</fieldset>
------------------------------------
<{* attachfile *}>
<div class="label"><{attachfile_attach_upload dirname=attachfile label=1}></div>
<div class="control">
<{if $entry.bid > 0}>
<{attachfile_attach_upload dirname=attachfile target_id=$entry.bid}><br />
<{else}>
<{attachfile_attach_upload dirname=attachfile}><br />
<{/if}>
</div>
------------------------------------

==============================================================================
XWORDSǤD3⥸塼

ʲΥڡǤʡXWORDS-0.46˥եźյǽɲäݤμ
ƤäƤޤ
http://www.mc8.jp/X/modules/d3forum/index.php?post_id=90

==============================================================================
͡źդեź襳ƥĤɽΥҥ

źդեϰʲΤ褦ʥ󥯤ǥɤǤޤźоݤȤʤä
ƥİʳ⥢Ǥޤ¤ˤĤƤattachfile/plugins
ˤäźоݥƥĤˤƥåޤˡ
nnnβս꤬źեեꤹ뤿attach_idǤ
http://example.com/xoops/modules/attachfile/index.php?mode=download&attach_id=nnn

ΤᡢƥĤ<img>src°˾嵭URL򵭤вɽ
ޤ<a>href°˾嵭URL򵭤ХեؤΥ󥯤ĥޤ

ŪˤϤäΤϸ̤Υ⥸塼ФϥåǤϤʤXOOPS Code
ĥб̵Ȼפޤ

ʲ˲ɽȥ󥯤Υץ򼨤ޤ
ʤˡΥ⥸塼˴ؤ餺XOOPS CodeѤǤսꤹ٤Ƥ
ŬѤޤΤǤդ
ޤɽˤĤƤϡֲɽʤ$allowimage=0ˡˤʤäƤ
ϥ󥯤ɽޤʤ̾źоݥ⥸塼δ̤
ꤷޤˡ
[attach_img=nnn]Ǥ[/attach_img]
[attach=nnn]եؤΥ󥯤Ǥ[/attach]

XOOPS 2.0.16a JPξ硧
ʲΥե򹹿ޤ
ե롧XOOPS_ROOT_PATH/class/module.textsanitizer.php
ؿxoopsCodeDecode()
------------------------------------
// for attachfile image
$patterns[] = "/\[attach_img=(['\"]?)([0-9]*)\\1](.*)\[\/attach_img\]/sU";
if ($allowimage != 1) {
	$replacements[] = '<a href="'.XOOPS_URL.'/modules/attachfile/index.php?mode=download&attach_id=\\2">\\3</a>';
} else {
	$replacements[] = '<img src="'.XOOPS_URL.'/modules/attachfile/index.php?mode=download&attach_id=\\2" alt="\\3" />';
}
// for attachfile
$patterns[] = "/\[attach=(['\"]?)([0-9]*)\\1](.*)\[\/attach\]/sU";
$replacements[] = '<a href="'.XOOPS_URL.'/modules/attachfile/index.php?mode=download&attach_id=\\2">\\3</a>';
------------------------------------

XOOPS Cube Legacy 2.1ξ硧
ʲΥե򥳥ԡƤ
ԡattachfile֤extras/preload/AttachFileCode.class.php
ԡ衧XOOPS_ROOT_PATH/preload/AttachFileCode.class.php

==============================================================================
͡եδˡ

ե륷ƥΥե̾
ץեXOOPS_ROOT_PATH¦ǥ쥯ȥ̾ܥƥID10

ץե
̤ˤưʲ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

ƥĺ˥ե⼫ưǺ뤿εǽ
ե
åȤб
źե桼ȥॹפεϿ
ñ쥳ƥĤФźտµǽ
᥸㡼⥸塼Υץ饰б
᥸㡼б
JavaScriptΤʤĶؤб
եޥ͡㵡ǽʳإե¸ʤɡˤ
ƻźյǽ
IE7бhttp://d.hatena.ne.jp/cruel/20081129#p1ˡˡ

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


1.022009/08/16
READMEΡpicoǤפpico-1.12ѤεҤpico-1.18ѤεҤ
thx:hiro
̤źեեɲá

1.012009/01/12
extras/preload/AttachFileCode.class.phpXCLpreloadץ˹碌

READMEΡֻ͡źդեź襳ƥĤɽ
ҥȡפextras/preload/AttachFileCode.class.phpμɽʤ

ˤMIME-Typeµǽɲáthx:mosluce

1.002009/01/10
README
READMEˤȸꤷץ饰ƤҤ褳ǼĤURL
ܡthx:photosite
READMEˡD3⥸塼ǤˤĤơפɲá
piCal⥸塼ؤŬˡREADMEthx:taniken
d3blog⥸塼ؤŬˡREADMEthx:mai
READMEXWORDSattachfileŬѤˡ򼨤URL򵭺ܡthx:ʡ
READMEˡֻ͡źդեź襳ƥĤɽ
ҥȡפɲá
ɽźեѤextras/preload/AttachFileCode.class.phpɲá

0.162008/04/19
ja_utf8θեmain.phpBOMUTF8ˤʤäƤΤBOM̵UTF8˽
thx:si-ra

0.152008/03/23
ݥåץåץɥ̾attachfile_popupˤѹ
XOOPS Cube Legacyξ˸XCube_LanguageManagerɤ߼褦
thx:nobuo
ݥåץåץɥΥȥμ¿б
ja_utf8θեɲá

0.142007/12/23
d3forumؤŬΥСɽd3forum-0.49 (alpha)0.81ѹŬ
ˡΤѹʤˡ
Bulletin2⥸塼ؤŬˡREADMEthx:naox
¥ե̾˥ץեȤXOOPS_DB_PREFIXXOOPS_DB_NAMEղäǤ뵡
ǽɲáthx:naao
READMEΡ֥եδˡפεҤܺٲ

ߴա
źեե뤬¸ߤ֤ǡּ¥ե̾ץեѹ
硢¸Υե̾ϼưѴޤ
źեե뤬¸ߤ֤ǡּ¥ե̾ץեѹ
ݤˤϼǥե̾ѹƤ
ʤּ¥ե̾ץեDB˳ǼƤ¥ե̾
attach.saved_nameˤˤϱƶޤΤǡDBΥǡѹɬפϤ
ޤ

0.132007/07/07
pico⥸塼ؤŬˡREADMEthx:tomo_chan
none⥸塼ؤŬˡREADMEthx:delphinus
ɽ0ˤ뤳ȤREADME
xoops_version.php¸ߤʤcommon_functions.php򻲾ȤƤΤ
thx:crash119

0.122007/03/27
ǥåץѥե̾ꤹ褦ˤʤäƤΤ
atttachfileXOOPS_ROOT_PATH¦Υǥ쥯ȥ̾ꤹ褦ѹ

ߴա
С0.11ȤäƤꡢġΥåץɥѥλ
atttachfileXOOPS_ROOT_PATH¦Υǥ쥯ȥ̾ۤʤ򤷤Ƥ
ưǥåץѥǥ쥯ȥ̾ѹɬפޤ
XOOPS_TRUST_PATH/uploadsľΥե̾atttachfile
XOOPS_ROOT_PATH¦Υǥ쥯ȥ̾ƱΤѹƤ
ʤ̾Υ󥹥ȡǤϥåץɥѥatttachfileXOOPS_ROOT_PATH
Υǥ쥯ȥ̾atttachfileפǤ뤿ᡢκȤפǤ

0.112007/03/26
ɻˡ"Cache-Control: privateץإåĤIE6ѻľܳ
褦˽
ƥץ졼Ȥmetatitle˰ư
ɥȤEUC-JPѴ

0.102007/03/26
xoops_trust_pathľmodulesˤʤäƤʤäΤ
ѤDB¤30ʸĶƤɽƤʤä

ɥȤˡuploadsץեν߸¤εҤɲá

0.012007/03/25


==============================================================================
⥸塼󶡸http://www.unknown-artifacts.info/cms/
饤󥹡GPL
