yPHPzEthna part.2 ..
[2ch|¥Menu]
2:nobody‚³‚ñ
07/08/03 08:22:09 BNMV6wHx
Q. ŒöŽ®‚̃hƒLƒ…ƒƒ“ƒgˆÈŠO‚ɂ킩‚è‚â‚·‚¢à–¾–³‚¢‚ÌH
A. LLƒtƒŒ[ƒ€ƒ[ƒN–{‚Æ“¯‚¶“à—e‚̃‚ƒm‚ª‚±‚±‚ÉB
URLØÝ¸(labs.gree.jp)

Q. CSRF‚Æ‚©‚Ì‘Îô‚ÍH
A. ƒvƒ‰ƒOƒCƒ“‚ª“¯«‚³‚ê‚Ä‚éBŽ©“®‚Å‚â‚Á‚¿‚Ⴄ•û–@‚à‚ ‚邿(by haltÀ¿)
URLØÝ¸(project-p.jp)

Q. ‰½‚±‚êAEUC-JP‚È‚ÌH
A. “Á’è‚̃vƒƒWƒFƒNƒg‚¾‚¯‘¼‚Ì•¶ŽšƒR[ƒh‚É‚µ‚½‚¢‚È‚ç
URLØÝ¸(d.hatena.ne.jp)

Ethna‚ð‚܂邲‚ÆUTF-8‚ÅŽg‚¢‚½‚¢‚È‚ç
URLØÝ¸(blog.c--v.net)

Q. ActionForm‚ð‘‚­‚Ì‚ª‚©‚Á‚½‚é‚¢
A. URLØÝ¸(as-roma.com)

3:nobody‚³‚ñ
07/08/03 08:22:36
CSRF‚”‚Á‚ĂȂÉH

4:nobody‚³‚ñ
07/08/04 17:47:54
Šù‘¶Ethna‚ðUTF8‚É‚·‚é•û–@(‚»‚Ì2)

$ethna_dir= '/usr/local/bin/lib/Ethna'; //Ethna–{‘Ì‚ª“ü‚Á‚Ä‚¢‚éƒfƒBƒŒƒNƒgƒŠ‚ðŽw’è‚·‚é
$pattern = $ethna_dir.'/*';
$files=glob($pattern);
while(count($files) > 0){
@@foreach($files as $file) {
@@@@conv_file($file);
@@}
@@$pattern.='/*';
@@$files=glob($pattern);
}
function conv_file($file) {
@@global $ethna_dir;
@@if(is_dir($file)) return;
@@$body = file_get_contents($file);
@@if(stripos($body, 'EUC-JP')){
@@@@if($file!=$ethna_dir.'/class/Ethna_SmartyPlugin.php'){
@@@@@@$body=str_ireplace('EUC-JP', 'UTF8', $body);
@@@@}
@@}
@@$body = mb_convert_encoding($body, 'UTF8', 'EUC-JP');
@@file_put_contents($file, $body);
}

5:nobody‚³‚ñ
07/08/04 17:54:15
DB‚Ì•¶ŽšƒR[ƒh‰]X
URLØÝ¸(d.hatena.ne.jp)

6:nobody‚³‚ñ
07/08/19 22:21:51
@@@@@@@@@@@@@‚
@@@@@@@@@@@@ /@PPPPPPPPPP /
@@@@@@@@@@@@/ Web1.0Žž‘ã‚ð’S‚Á‚½@@@/
@@@@@@@@@@@/ ‚±‚ÌÌÚ°Ñܰ¸‚Í–³Ž–‚É@/
@@@@@@@@@@ /@ŠJ”­‚ðI—¹’v‚µ‚Ü‚µ‚½@ /
@@@@@@@@@@/@‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½@ /
@@@@@@@@@ /@@@@@@@@@@@@@@@@/
@@@@@@@@@/@@@@ƒ‚ƒi[‚æ‚è@@@@@ /
@@@@@@@@ /PPPPPPPPPPP/
@ ÈQÈ@@/@@@@@@@@@@@@@@@@/ÈQÈ
@i@LÍMj@/@@@@@@@@@@@@@@@@/iLÍM@j
@i@@@@@‚Â@@@@@@@@@@@@@@@¼@@@@@j
@b b b@@@@@@@@@@@@@@@@@@ b b b
@i_QjQj@@@@@@@@@@@@@@@@@@iQiQ_j

7:nobody‚³‚ñ
07/08/20 02:13:10 hkP4IXYg
Ethna3ÏÀÞ°?

8:nobody‚³‚ñ
07/08/26 21:14:01 3CqBNeOx
‚±‚ñ‚É‚¿‚ÍBŋ߂ɂȂÁ‚Äethna‚ðŽg‚¢Žn‚ß‚½ŽÒ‚Å‚·B

ethnaã‚Åsmarty‚Ìdebugging console‚ð‚n‚m‚É‚µ‚½‚¢ê‡‚Í
‚Ç‚¤‚·‚ê‚΂¢‚¢‚̂łµ‚傤‚©H

ƒeƒ“ƒvƒŒ[ƒg‚É“n‚³‚ê‚Ä‚¢‚é’l‚ª’m‚肽‚¢‚̂ł·B
‚µ‚傤‚ª‚È‚¢‚̂š‚Ítemplate“à‚Å{debug}‚Æ‘‚¢‚Ä
Šm”F‚µ‚Ă܂·B

9:nobody‚³‚ñ
07/08/26 22:28:04
Ethna_Renderer_Smarty‚ð‘‚«Š·‚¦‚é‚©
APPID_ViewClass‚ ‚½‚è‚ɉÁ‚¦‚Ä‚¨‚¯‚ÎH

10:nobody‚³‚ñ
07/08/27 17:44:17 JOZKKR6F
APPID_ViewClass‚É‚¨‚¢‚Ä

$renderer->engine->debugging = true;

‚Æ‚µ‚½‚ç“®‚«‚Ü‚µ‚½I
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

11:nobody‚³‚ñ
07/08/29 18:09:54 d9IxmgRc
Ž¿–₳‚¹‚ĉº‚³‚¢B
ŠÂ‹«FRedhat + Apache + Ethna2.3.2 + PHP5.2.3 + PostgreSQL7.4.17
‚±‚̊‹«‚ÅWEB+DB‚Ìó‘Ô‚Å‚·B

Ethna‚©‚çDB‚ÉÚ‘±‚·‚éۂɈȉº‚̃Gƒ‰[‚ªo‚Ü‚·B
(ERR): Ethna_DB_PEAR.connect(class/Ethna_Backend.php:411): DBÚ‘±ƒGƒ‰[: [DB Error: connect failed] ** pgsql(pgsql)://dbuser:PASSWORD@tcp+localhost/testdb?new_link=1 [ERROR CODE(2)]

dsn‚ÌÝ’è‚Í
'dsn' => 'pgsql://dbuser:password@localhost/testdb',
‚ƂȂÁ‚Ä‚¨‚è‚Ü‚·Bpg_hba.conf‚ÌÝ’èŠm”F‚ׂ̈ÉA
ŠY“–ƒ}ƒVƒ“‚Ételnet‚ÅÚ‘±‚µApostgresƒ†[ƒU[‚É‚Ä
psql -u testdb ‚Ì–â‚¢‚Åuser:dbuser pass:password
‚Æ‚·‚é‚ÆÚ‘±‚·‚鎖‚ªo—ˆ‚Ü‚·B
l‚¦‚ç‚ꂤ‚錴ˆö‚͂ǂ̂悤‚È•¨‚Å‚µ‚傤‚©H

12:nobody‚³‚ñ
07/08/29 21:15:28
>>11
Ú‘±æ‚Ílocalhost‚Å‚¢‚¢‚ÌH

13:nobody‚³‚ñ
07/08/29 21:58:30
>>12
11‚Å‚·B
ApacheiPHP,Ethnaj‚©‚猩‚ÄA“¯ˆêƒ}ƒVƒ“‚ɃCƒ“ƒXƒg[ƒ‹‚µ‚½
DB‚ÉÚ‘±‚·‚éˆ×Alocalhost‚Å–â‘è‚È‚¢‚Ì‚©‚ÆŽv‚Á‚Ä‚¨‚è‚Ü‚µ‚½B
‚±‚Ì”Fޝ‚ÍŠÔˆá‚Á‚Ä‚¢‚é‚̂łµ‚傤‚©H
Šm”F‚̈×AƒT[ƒo‚ÌIPƒAƒhƒŒƒX‚ðŽw’肵‚Ă݂܂µ‚½‚ªAŒ‹‰Ê‚Í“¯‚¶ƒGƒ‰[‚Å‚µ‚½B
“IŠO‚ê‚ÈŽ–‚ðŒ¾‚Á‚Ä‚¢‚½‚ç\‚µ–ó—L‚è‚Ü‚¹‚ñcB

14:nobody‚³‚ñ
07/08/30 00:48:46
confiure‚Æ‚©Aphpinfo‚Ìî•ñ‚³‚炵‚Ă݂ê‚ÎHi‰Â”\‚ÈŒÀ‚èj

15:nobody‚³‚ñ
07/08/30 03:24:32
>>13
‚Â[[‚©BEthna‚Ç‚¤‚±‚¤Œ¾‚¤ˆÈ‘O‚ÉA•’Ê‚Épg_connect‚µ‚Äselect‚Å‚«‚é‚Ì‚©‚ÆB

16:nobody‚³‚ñ
07/08/30 11:41:22
>>14,15
11‚Å‚·B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
15—l‚̋‚é’Ê‚èApg_connect‚µ‚Ă݂½ŠAˆÈ‰º‚̃Gƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½‚ª
Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: Connection refused Is the server running on host "localhost" and accepting TCP/IP connections on port 5432?
‚¨‰A—l‚ÅAƒGƒ‰[ƒƒbƒZ[ƒW‚ª‚æ‚è’¼Ú“I‚ɂȂÁ‚½ˆ×A‚±‚ê‚𒲂ׂ½‚Æ‚±‚ë
pg_connect("dbname=testdb user=dbuser password=password")
‚ÌŒ`‚ÅihostŽw’èŠO‚µjs‚¯‚鎖‚ª”»–¾‚µ‚Ü‚µ‚½B‘S‚­EthnaŠÖŒW‚È‚©‚Á‚½‚Å‚·B‘å•Ï\‚µ–ó—L‚è‚Ü‚¹‚ñ‚Å‚µ‚½cB
‚à‚¤­‚µÚׂɒ²‚×Apgsql/data/postgresql.conf‚Ìtcpip_socket = true‚ð•ÏX‚·‚鎖‚Å
hostŽw’è‚à‰Â”\‚Ȃ悤‚Å‚·‚ªAlocalhost‚©‚çˆÈŠO‚ÍÚ‘±‚µ‚È‚¢‚½‚ßA‚±‚ê‚Íݒ肵‚È‚¢Œ`‚ÅI‚¦‚Ü‚µ‚½B
‰ðŒˆ‚ÌŽ…Œû‚ð‰º‚³‚Á‚½•ûX‚ÉŠ´ŽÓ’v‚µ‚Ü‚·B–{“–‚É‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B

17:nobody‚³‚ñ
07/08/30 15:25:18
>>16
‚ ‚ÁB‰´‚à‚»‚Ì–â‘è‚È‚Á‚½‚æ‚—
ˆá‚¤ƒtƒŒ[ƒ€ƒ[ƒN‚¾‚¯‚Ç‚³B
“¯‚¶‚悤‚Élocalhost‚Í‚¸‚µ‚½‚ç“®‚¢‚½B

18:nobody‚³‚ñ
07/08/30 16:02:13
localhost‚¾‚ÆUnix SocketŒo—R‚ÅÚ‘±‚µ‚É‚¢‚­‚¯‚ÇA127.0.0.1‚¾‚ÆTCP/IP‚Å
‚‚Ȃ¬‚És‚­‚©‚ç‚ÈB

EthnaŠÖŒW‚È‚µsage

19:nobody‚³‚ñ
07/09/09 00:35:07 R9DBCM/b
‚µ‚©‚µethna‚ÍŠJ”­‘±‚¯‚Ä‚¢‚­‹C‚ª‚ ‚é‚Ì‚¾‚낤‚©B
Å‹ßXV‚ª­‚È‚¢‚æ‚ËB

‚Ü‚ GREE‚ÅŽg—p‚³‚ê‚Ä‚¢‚é‚©‚çGREE‚ª’ׂê‚È‚¢‚¤‚¿‚Í
ŠJ”­‘±‚¯‚Ä‚¢‚­‚ñ‚¾‚낤‚¯‚ÇB

20:nobody‚³‚ñ
07/09/09 00:58:35
‰½‚à—\”õ’mޝ–³‚­‚ÄŽ¿–â‚·‚邯‚ÇAethna‚Á‚ÄPEAR‚ª‚¢‚é‚»‚¤‚¾‚¯‚ÇA
ƒŒƒ“ŽI‚ÉPEAR‚ª“ü‚Á‚ĂȂ¢ê‡A‚Ç‚¤‚·‚ê‚΂¢‚¢‚ÌH

21:nobody‚³‚ñ
07/09/09 01:09:28
>>20
lib‚ÉPEARƒRƒs[‚µ‚Ä‚¨‚¢‚Ä‚¨‚­B

22:nobody‚³‚ñ
07/09/09 01:19:37
PEAR‚ª‚È‚­‚Ä‚à“®‚­CakePHP‚É‚µ‚½‚æB

23:nobody‚³‚ñ
07/09/09 10:56:51
HACKED BY ALEMIN KRALIH‚È‚ñ‚©‚³‚ꂽ‚Ì‚©‚È@URLØÝ¸(ethna.jp)

24:nobody‚³‚ñ
07/09/09 11:40:17
>>23
‚±‚ê‚Í‚—
Ethna‚ʼn^—p‚µ‚Ä‚½‚çEthna‚ÌŒŠ‚ÆŽv‚í‚ꂽ‚¯‚Ç
Pukiwiki‚ʼn^—p‚µ‚Ă邩‚çƒZƒLƒ…ƒŠƒeƒBƒz[ƒ‹‚Ì‚»‚µ‚è‚͖Ƃꂽ‚Ë

25:nobody‚³‚ñ
07/09/09 11:45:09
’P‚É“€Œ‹‚µ‚ĂȂ©‚Á‚½‚©‚ç•ÒW‚³‚ꂽ‚¾‚¯‚¾‚ëB
ƒƒ{ƒbƒg‚É’Þ‚ç‚ê‚ñ‚È‚æB

26:nobody‚³‚ñ
07/09/12 07:43:28
AppObjectŽü‚è‚ð‚ª‚Á‚‚背ƒrƒ…[‚µ‚Ä‚éƒTƒCƒg‚È‚¢‚©‚È‚Ÿ
ORM‰‚߂ĉ½‚łȂ©‚È‚©ƒRƒc‚ª’͂߂Ȃ¢

27:nobody‚³‚ñ
07/09/12 10:00:03
AppObject‚̓Rƒ~ƒbƒ^[‚Ìl‚½‚¿Žg‚Á‚ĂȂ¢‚炵‚¢‚©‚ç‚ÈEE
itoh‚³‚ñ‚Æ‚©riaf‚³‚ñ‚Æ‚©‚̃uƒƒO‚Å‚¢‚­‚‚©‹LŽ–‚ª‚ ‚é‚©‚ÈB

28:nobody‚³‚ñ
07/09/12 23:01:07
‚»‚¤‚Ȃ̂©B

‚»‚̃uƒƒO“–‚½‚Á‚Ă݂܂·
‚ ‚肪‚Æ‚¤

29:nobody‚³‚ñ
07/09/13 02:43:53 k28u4udr
Ethna‚Ì’·Š‚Á‚ÄAuƒR[ƒh‚ª‘S•”“ǂ߂é”͈Ív‚Á‚ÄŒ¾‚¤‚Æ‚±‚¾‚ÆŽv‚¤B
ƒR[ƒh‚à‘Š“–‚«‚ê‚¢‚¾‚µA“ǂ݂₷‚¢B


Symfony‚Æ‚©cakePHP‚Æ‚©AŠm‚©‚ɂȂñ‚Å‚à‚Å‚«‚é‚ñ‚¾‚낤‚¯‚ÇA
ƒtƒŒ[ƒ€ƒ[ƒN•a‚ÉŠ|‚©‚è‚â‚·‚¢BRoR‚̃Œ[ƒ‹‚ðŠO‚ê‚½Žž‚Ì
‚à‚Ì‚·‚²‚¢–³—ÍŠ´‚ÉŽ—‚½Š´‚¶‚ÅB

‚ ‚ÆAŒy‚¢‚ËBF.WŽ©‘̂̃xƒ“ƒ`‚Á‚ē‚¢‚¯‚ÇB


‚¾‚©‚çAEthna‚ðƒx[ƒX‚ɃIƒŒ“I”Ä—pƒR[ƒh‚ð­‚µ‚¸‚‰Á‚¦‚Ä‚¢‚Á‚Ä
Š„‚ÆŽ‘ŽY‚ðì‚è‚â‚·‚¢B‚ ‚­‚܂ŃIƒŒ“I”Ä—p‚È‚ñ‚¾‚¯‚ÇB


‚Ü‚ŸAŽ©•ª‚Ì–{‹Æ‚ª‚¢‚í‚ä‚éƒz[ƒ€ƒy[ƒW§ì‚¾‚©‚炾‚¯‚ÇA
‚Q”NEthnaŽg‚Á‚Äu‚±‚ê‚Å‚«‚È‚¢Iv‚Á‚Ä‚±‚ƂȂ©‚Á‚½‚µA
Žg‚¢‘±‚¯‚Ä—Ç‚©‚Á‚½‚ÆŽv‚¤‚±‚Ƃ͑½‚¢‚ÈB

30:nobody‚³‚ñ
07/09/13 02:45:30
>>28
Ž©•ª‚à‘Š“–AppObject/AppManager‚ÍŽg‚Á‚Ă邩‚番‚©‚ç‚È‚©‚Á‚½‚ç
‚±‚±‚Å“š‚¦‚é‚æB

31:nobody‚³‚ñ
07/09/13 07:49:48
‰½X‚ª‚í‚©‚ç‚È‚¢‚Á‚ÄŽ¿–â‚Å‚«‚é‚Ù‚Ç—‰ð‚µ‚ĂȂ¢‚¾‚È‚±‚ꂪ

—Ⴆ‚ÎA
user {
@id primary
@name
@gid
}
group {
@id primary
@name
}
user_group_link {
@uid
@gid
}
‚Á‚Ä3‚‚̃e[ƒuƒ‹‚ª‚ ‚邯‚µ‚ÄMySQLAMyISAM‚ÈDB‚ÈꇂÉ
ƒ†[ƒUˆê——¨ƒ†[ƒUŒÂ•ÊC³
ƒOƒ‹[ƒvˆê——¨ƒOƒ‹[ƒvŒÂ•ÊC³
‚Ì4‚‚̉æ–Ê‚ðì‚邯‚µ‚Ä‚»‚Ì’†‚łǂñ‚ÈŠ´‚¶‚ÅAppObject/AppManager‚ðŽg‚¦‚΂¢‚¢‚Ì‚©‚ð
‚´‚Á‚­‚è‘‚¢‚ĖႦ‚邯Šð‚µ‚¢‚É‚å[
ˆê——‚Éuser.name‚Å‚ÌlikeŒŸõ‚Æ‚©•t‚¯‚éꇂǂñ‚ÈŠ´‚¶‚ÅAppManager‚ð
Žg‚¦‚΂¢‚¢‚©‚Æ‚©Ajoin‚·‚邯‚«‚ÍAppObject‚ð‡¬‚µ‚Ăق°‚Ù‚°‚Æ‚©‚à‚ ‚邯ł

32:nobody‚³‚ñ
07/09/13 18:53:31
riaf‚³‚ñ—D‚µ‚·‚¬‚é‚—‚—‚—‚—‚—

33:nobody‚³‚ñ
07/09/14 03:30:34
riaf‚³‚ñA‚ ‚肪‚Æ‚¤B
join•ÒŠú‘Ò‚µ‚Ä‚ ‚·B

ƒe[ƒuƒ‹‚Ì€–Ú–¼‚É“ú–{Œê‚ðŽg‚¢‚½‚¢‚Ì‚Å
‚¿‚å‚Á‚ƃAƒŒ‚µ‚Ä«‚ÈŠ´‚¶‚Å—V‚ñ‚ł݂܂·B
// Ethna_AppObject‚ðSmarty‚É“n‚·‚ÆMemoryŽg‚¢‚·‚¬‚Å“{‚ç‚ê‚é
// ‚̂œ{‚ç‚ê‚È‚¢‚悤‚Ƀwƒ‹ƒp[‚ð“ü‚ê‚Ă݂é
// AppObject::getMinimal() ‚Æ‚©ì‚Á‚Ä‚»‚±‚Ŷ¬‚µ‚½•û‚ª
// ‚æ‚¢‚©‚à’m‚ê‚È‚¢
class APPID_MinimalAppObject {
@var $prop;
@function APPID_MinimalAppObject(&$obj) {
@@// AppObject‚©‚çƒnƒbƒVƒ…‚ðƒQƒbƒc
@@$this->prop =& $obj->prop;
@}
@function get($key) {
@@return $this->prop[$key];
@}
}
@@if($diary->isValid()){
@@@//‚ ‚Á‚½‚Æ‚«
-@@@$this->af->setApp('diary', $diary->getNameObject());// ƒeƒ“ƒvƒŒ[ƒg‚Å{$app.diary.body}‚Æ‚©‚Ŏ擾‚Å‚«‚邿‚¤‚ɂȂé
+@@@$smarty =& $this->backend->ctl->getRenderer();
+@@@$helper =& new APPID_MinimalAppObject(&$diary);
+@@@$smarty->assign_by_ref('diary', &$helper);
@@} else {
@@@//–³‚¢‚Æ‚«
@@}
‚¨–Ú‰˜‚µŽ¸—炵‚Ü‚µ‚½B

34:30
07/09/14 03:44:54
>‚Á‚Ä3‚‚̃e[ƒuƒ‹‚ª‚ ‚邯‚µ‚ÄMySQLAMyISAM‚ÈDB‚ÈꇂÉ
> ƒ†[ƒUˆê——¨ƒ†[ƒUŒÂ•ÊC³

“TŒ^“I‚ȃpƒ^ƒ“‚¾‚ËB
‰´‚Ìꇈꗗ‚ƌ•ʂÍA
action/Admin/User.php
action/Admin/User/Edit.php
action/Admin/User/Edit/Conf.php
action/Admin/User/Edit/Do.php

view/Admin/User.php
view/Admin/User/Edit.php
view/Admin/User/Edit/Conf.php

‚Á‚Äì‚éB
action‚Æ‚µ‚Ä‚Íã‚©‚çA
Eƒ†[ƒU[ˆê——
Eƒ†[ƒU[“o˜^i•ÒWj
Eƒ†[ƒU[“o˜^•ÒWŠm”F
Eƒ†[ƒU[“o˜^ŽÀˆ—

‚ÅA
view/Admin/User.php
‚ц[ƒU[ˆê——•\ަ‚³‚¹‚邽‚ß‚ÌƒŠƒXƒg‚ðì‚邯‚ÇAˆê——ƒf[ƒ^‚ðŽ‚Á‚Ä‚­‚é‚Ì‚Í
User.php‚ł͊î–{“I‚É‚Í1siPHP4‚È‚ç2sj
preforward‚Å
$this->af->setApp('user', $this->backend->getManager('User')->getUserList());
‚Á‚Ä‘‚­B
PHP4‚¾‚ÆA‚±‚ê‚Å‚«‚È‚¢‚©‚ç
$user_m =& $this->backend->getManager('User');
$this->af->setApp('user', $user_m->getUserList());


35:30
07/09/14 03:45:29
‚±‚̂Ƃ«Žg‚Á‚Ä‚é‚Ì‚ªAppManager
AppManager‚ÍAƒfƒtƒHƒ‹ƒg‚ÅŽg‚¤‚à‚ñ‚Æ‚·‚邯
PROJECTID_UserManager.php ‚É
PROJECTID_UserManager extends Ethna_AppManager
‚Á‚Ăł«‚Ä‚éB‚±‚ê‚ðƒCƒ“ƒXƒ^ƒ“ƒX‰»‚µ‚Ä‚æ‚ñ‚Å‚é‚Ì‚ª
$this->backend->getManager('User')

‚¾‚©‚çAPROJECTID_UserManager.php ‚É
PROJECTID_UserManager::getUserList()
‚ð쬂·‚éB

‚ÅA‚±‚ê‚Ì’†g‚ňê”ÔƒVƒ“ƒvƒ‹‚Ȃ̂Í
function getUserList()
{
return $this->getObjectPropList('User');
}

‹A‚Á‚Ä‚­‚é‚͔̂z—ñ‚ÅA1‚–ڂ̗v‘f‚ÍŒŸõ‚µ‚½‘Sƒ†[ƒU[‚ÌƒŠƒXƒgB2‚–ڂ̗v‘f‚ÍAƒ†[ƒU[î•ñ‚ð”z—ñ‚ÅB
‚Ü‚ŸA‘f’¼‚Évar_dump‚·‚ê‚΂킩‚éB


36:30
07/09/14 03:46:35


ŽÀÛ‚Í‚±‚ꂾ‚¯‚¾‚ƈӖ¡‚ª‚È‚¢‚ñ‚ÅA
function getUserList($name)
{
}
‚Æ‚©‚µ‚ÄA$name‚É•”•ªˆê’v‚ÈUser‚ÌƒŠƒXƒg‚ð•Ô‚·‚悤‚É‚·‚éB‚±‚̂Ƃ«Žg‚¤‚Ì‚ÍEthna_AppSearchObject
‹ï‘Ì“I‚É‚Í
function getUserList($name)
{
$filter = array('name' => new Ethna_AppSearchObject($name, OBJECT_CONDITION_LIKE));
return $this->getObjectPropList('User', null, $filter);
}
‚Á‚Ä‚·‚éB

ID‚Ì‹t‡‚É‚µ‚½‚¢I‚Æ‚¢‚¤‚Æ‚«‚à‚ ‚é‚©‚ÆŽv‚¤
ORDER BY ID DESC, NAME ASC ‚Æ‚©‚µ‚½‚¢ê‡‚à‚ ‚邯Žv‚¤B‚»‚ÌꇂÍ
function getUserList($name)
{
$filter = array('name' => new Ethna_AppSearchObject($name, OBJECT_CONDITION_LIKE));
$order = array('id' => OBJECT_SORT_DESC, 'name' => OBJECT_SORT_ASC);
return $this->getObjectPropList('User', null, $filter, $order);
}
‚Á‚Ä‚â‚éB


37:30
07/09/14 03:47:13
‚³‚ç‚ÉA
LIMIT 10,20
‚Á‚Ä‚â‚肽‚¢ê‡‚ÍA
function getUserList($name, $offset, $limit)
{
$filter = array('name' => new Ethna_AppSearchObject($name, OBJECT_CONDITION_LIKE));
$order = array('id' => OBJECT_SORT_DESC, 'name' => OBJECT_SORT_ASC);
return $this->getObjectPropList('User', null, $filter, $order, $offset, $limit);
}
‚Á‚ÄŠ´‚¶B


‚Ƃ肠‚¦‚¸AEthna_AppManager::getObjectPropList‚ðŠo‚¦‚Ä‚¨‚¯‚Î9Š„‚­‚ç‚¢
AppManagerŽg‚¦‚邱‚ƂɂȂéB
–{“–‚ÍAgetObjectPropList‚̕Ԃè’l‚ªEthna::isError()‚ŃGƒ‰[‹N‚±‚µ‚ĂȂ¢‚©
ƒ`ƒFƒbƒN‚·‚é‚ñ‚¾‚¯‚ÇB

38:30
07/09/14 03:48:27
AppObjectŽg‚¤‚Ì‚ÍA
action/Admin/User/Edit/Do.php
‚¾‚¯‚¾‚ÈB

AppObject‚ÍAMySQL‚̃e[ƒuƒ‹ƒf[ƒ^‚Ì1ƒ‰ƒCƒ“‚»‚Ì‚à‚Ì‚¾‚ÆŽv‚Á‚Ä‚à‚ç‚Á‚Ä‚©‚Ü‚í‚È‚¢B
‚»‚ꂪORMB

‚Ȃ̂ÅAV‚µ‚­ƒ†[ƒU[‚ð’ljÁ‚µ‚½‚¢ê‡‚ÍAƒf[ƒ^‚ª‹ó‚ÌAppObject‚ðˆê‚Âì‚é
PROJECTID_Action_AdminUserEditDo::perform();‚Å
function perform()
{
$user =& $this->backend->getObject('User');
}
‚Á‚Ä‚â‚éB‚±‚ꂾ‚¯‚¾‚Ƃ܂¾’ljÁ‚µ‚ĂȂ¢‚̂ʼn½‚à‹N‚±‚ç‚È‚¢B
‚»‚±‚Å$user‚ÉAƒf[ƒ^‚ð‹l‚ßž‚ÞB‚±‚ê‚ÍActionForm‚Ƃ̘AŒg‚Å
function perform()
{
$user =& $this->backend->getObject('User');
$user->importForm(OBJECT_IMPORT_IGNORE_NULL);
}
‚±‚ê‚ÅA“KØ‚Éݒ肵‚Ä‚ê‚΃tƒH[ƒ€’l‚ª‚»‚̂܂ÜAppObject‚É“ü‚éB


39:30
07/09/14 03:49:19

‚Ü‚¾DB‚ɂ͒ljÁ‚³‚ê‚ĂȂ¢BÅŒã‚É
function perform()
{
$user =& $this->backend->getObject('User');
$user->importForm(OBJECT_IMPORT_IGNORE_NULL);
$user->add();
}
‚ÅI‚í‚èB

V‚µ‚­ƒ†[ƒU[‚ðì‚é‚ñ‚¶‚á‚È‚­‚ÄAŠù‘¶ƒ†[ƒU[‚Ì•ÒW‚È‚ç
function perform()
{
$user =& $this->backend->getObject('User', 'id', $id);
$user->importForm(OBJECT_IMPORT_IGNORE_NULL);
$user->update();
}
‚ÅI‚í‚èBʼn‚Ìs‚ÅAid=$id‚̃†[ƒU[ƒf[ƒ^‚ðŽ‚Á‚½AppObject‚ªŽæ‚ê‚éB
‚½‚¾A‚±‚ÌꇂÍAŠmŽÀ‚Éid=$id‚̃ŒƒR[ƒh‚ª‘¶Ý‚µ‚ÄAŽæ‚ê‚Ä‚¢‚é‚©‚ð
Šm”F‚·‚邽‚ß‚É
function perform()
{
$user =& $this->backend->getObject('User', 'id', $id);
if ($user->isValid()){
$user->importForm(OBJECT_IMPORT_IGNORE_NULL);
$user->update();
}
}
‚Á‚Ä‚â‚Á‚ÄA—LŒø«‚ðŠm”F‚·‚éB




40:30
07/09/14 03:50:25
‚ÅAAppManager‚©‚çAppObject‚ðˆêЇ޿“¾‚µ‚ÄAˆêЇUpdate‚Æ‚©Š|‚¯‚½‚¢ê‡‚ÍA
Ethna_AppManager::getObjectList‚ðŽg‚¤BgetObjectPropList‚Í”z—ñ‚ð•Ô‚µ‚½‚¯‚ÇA
getObjectList‚Í‘æ“ñˆø”‚ªAppObject‚ð—v‘f‚ÉŽ‚Á‚½”z—ñ‚ɂȂÁ‚Ä‚éB“–‘RgetObjectPropList‚æ‚èd‚¢‚æB

41:30
07/09/14 03:52:06
ŠÔˆá‚¦‚½
>getObjectList‚Í‘æ“ñˆø”‚ªAppObject‚ð
getObjectList‚͕Ԃè’l‚Ì‚Q‚–ڂ̔z—ñ‚ªAppObject‚ð

42:26,33
07/09/14 07:57:02
‚¨‚¨A‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
T––ŽŽ‚µ‚Ü‚­‚è‚Ü‚·B
‚ ‚肪‚Æ‚¤‚ ‚肪‚Æ‚¤B

43:26,33
07/09/15 07:04:30
30‚³‚ñAraif‚³‚ñA‚ ‚è‚ȂƂ¤‚ ‚肪‚Æ‚¤B

‰´“I‚܂Ƃß
WebProg‚ð‹É‚߂ċŽð‰®‚ðŠJ”­‚·‚é - AppObject‚ÌŽg‚¢•û
URLØÝ¸(d.hatena.ne.jp)
WebProg‚ð‹É‚߂ċŽð‰®‚ðŠJ”­‚·‚é - AppObject‚ÅJOIN‚·‚é•û–@
URLØÝ¸(d.hatena.ne.jp)
AppManager‚ÌŽg‚¢•û
½ÚØÝ¸(php”Â:34-41”Ô)

44:nobody‚³‚ñ
07/09/21 02:13:40
’N‚©urlhandler‚ð‰ð‚è‚â‚·‚­à–¾‚µ‚ÄEEEE


45:nobody‚³‚ñ
07/09/25 15:30:02
ƒZƒbƒVƒ‡ƒ“ƒIƒuƒWƒFƒNƒg‚©‚çƒZƒbƒVƒ‡ƒ“ID‚Á‚Ď擾o—ˆ‚é‚ñ‚Å‚µ‚傤‚©H

46:nobody‚³‚ñ
07/09/25 18:45:28
$session->session_name
‚Æ‚©H

47:nobody‚³‚ñ
07/09/25 19:42:56
>>44
‚»‚à‚»‚à‚ª•ª‚©‚è‚â‚·‚­‚È‚¢‚̂ʼn´‚ɂ̓~ƒŠ‚Å‚µ‚½B
‚ªA
URLØÝ¸(ethna.jp)
‚ɉÁ‚¦‚ÄA‚͂܂è‚Ç‚±‚ë
Ewww/index.php‚É$_SERVER['URL_HANDLER']‚ð–Y‚ê‚È‚¢
EAppID_UrlHandler.php‚É_getPath_Hoge‚ð–Y‚ê‚È‚¢B
Epath‚ª”í‚éꇂ͇”Ô‚É‹C‚ð‚‚¯‚é
—á:
var $action_map = array(
'hoge' => array(
'archive' => array(
'path' => 'archive',
...(snip)...
),
'archive_recent' => array(
'path' => 'archive/recent',
...(snip)...
),
‚Æ‚·‚邯A'path' => 'archive'‚ªæ‚Ƀ}ƒbƒ`‚µ‚Ä'path' => 'archive/recent'‚܂Ō©‚Ä‚­‚ê‚È‚¢B
$action_map‚Íforeach‚Ń‹[ƒv‚µ‚Ă邾‚¯‚Ȃ̂ҔԂª‚Ü‚¸‚¢‚Ƃ܂Ƃà‚É“®‚©‚È‚¢B
path‚Æpath_regexp‚ÍA•¡ŽG‚ȃ}ƒbƒ`‚ð”z—ñã‚Å—D悳‚¹‚邱‚ÆB

Epath_ext‚ª—v‚ç‚È‚¢ê‡‚Å‚à'path_regexp'‚Æ”z—ñ‚̌”‚ð‡‚킹‚éB
'path_regexp' => array('|^hoge$|', '|^hogehoge$|'),‚È‚çA
'path_ext' => array(array(), array()),‚Æ‚µ‚Ä‚¨‚©‚È‚¢‚Æ“®‚©‚È‚¢(‚Á‚Û‚¢)B
ƒAƒNƒVƒ‡ƒ“‚ðƒTƒCƒg’¼‰º(URLØÝ¸(example.com)‚Æ‚©)‚Ƀ}ƒbƒv‚·‚éꇂÍ'path_ext'=>array(),‚ÅB

48:nobody‚³‚ñ
07/09/25 19:49:41
Ethna_Session‚Í
setcookie($this->session_name, "", 0, "/");
‚Ìs‘S•”‚ð
list(, $path, $domain,) = session_get_cookie_params();
setcookie($this->session_name, '', 0, $path, $domain);
‚ɕς¦‚Ä‚¨‚­‚Æ
session_set_cookie_params(1200, '/admin/', '', true, true);
‚Æ‚©ƒGƒ“ƒgƒŠƒ|ƒCƒ“ƒg‚ÅŽw’è‚Å‚«‚ĕ֗˜‚Æ‚©B


49:nobody‚³‚ñ
07/09/27 17:12:13
‚ ‚é“ü—͉æ–Ê‚ÅAƒ}ƒXƒ^‚Ì”‚É‚æ‚Á‚ÄINPUT‚Ì”‚ª•Ï‚í‚鉿–Ê‚ª‚ ‚é‚ñ‚Å‚·‚ªA
ƒAƒNƒVƒ‡ƒ“ƒtƒH[ƒ€‚Ì’è‹`‚ÌŽd•û‚ª‚í‚©‚è‚Ü‚¹‚ñ
$_POST“™‚ð’¼Ú˜M‚邵‚©–³‚¢‚ñ‚Å‚µ‚傤‚©EEE

50:nobody‚³‚ñ
07/09/27 21:55:07
>>49
‚±‚̕ł̉ðà‚È‚ñ‚©‚Ç‚¤‚Å‚Á‚µ‚á‚낤H
URLØÝ¸(ethna.jp)

-- html
<input name="foo[]" value="v1" ...
<input name="foo[]" value="v2" ...
<input name="foo[]" value="v3" ...
-- /html

-- ActionForm
'foo' => array(
'type' => array(VAR_TYPE_STRING),
),
-- /ActionForm

51:49
07/09/28 09:27:35
‚¤‚ÙA‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·I
ƒAƒNƒZƒX‚³‚¦o—ˆ‚ê‚΂ ‚Ƃ͂ǂ¤‚ɂłà‚È‚è‚Ü‚·‚Ë
‚à‚µ‚­‚̓}ƒXƒ^”‚ÉãŒÀ‚ðÝ‚¯‚ÄArequired‚ªfalse‚ȃtƒH[ƒ€’l‚ð
ãŒÀ•ª‘‚¢‚Ä“¦‚°‚悤‚ÆŽv‚¢‚Ü‚·

52:nobody‚³‚ñ
07/10/01 21:54:03
Ethna‚ɃAƒoƒ^[‹@”\‚ª•t‚­‚Æ•·‚¢‚Ä”ò‚ñ‚Å‚«‚Ü‚µ‚½‚—

53:nobody‚³‚ñ
07/10/05 03:08:42
>>47
‡d
‹K§‚Å‘‚¯‚ñ‚©‚Á‚½(´EωEM)

php5‚Ȃ炢‚¿‚¢‚³‚ñ‚ª‘‚¢‚Ä‚é
Net_URL_Mapper‚ðŽg‚Á‚½ƒvƒ‰ƒOƒCƒ“‚ª‚悳‚°‚È‚ñ‚¾‚ª‚È‚ŸEEE

‚Æ‚±‚ë‚ÅAUrlHandler‚Åݒ肵‚½’l‚Á‚Ä‚à‚¤‚¿‚å‚Á‚ÆŠÈ’P‚Ɏ擾‚Å‚«‚È‚¢‚à‚ñ‚È‚ñ‚¾‚낤‚©EEE
AF‚É’è‹`‚µ‚È‚¢‚Ǝ擾‚Å‚«‚È‚¢‚Á‚Ă߂ñ‚Ç‚¢EEEE

54:nobody‚³‚ñ
07/10/05 18:13:07
Šî–{“I‚Éindex.php‚݂̂Ńeƒ“ƒvƒŒ[ƒg‚ðØ‚è‘Ö‚¦‚Ä
ƒAƒNƒVƒ‡ƒ“‚ðPOST‚µ‚Ä“®‚©‚µ‚Ä‚¢‚­ƒCƒ[ƒW‚Åì‚Á‚Ä‚¢‚½‚̂ł·‚ª
“–‘R‚Å‚·‚ªAƒAƒNƒZƒXƒƒO‚ðŒ©‚Ä‚à‘S‚Äindex.php‚ɂȂÁ‚Ä‚¢‚邽‚ß
‰æ–Ê–ˆ‚ɌŗL‚ÌURL‚ðŠ„‚èU‚肽‚¢‚Æl‚¦‚Ä‚¢‚Ü‚·B

ƒCƒ[ƒW‚Æ‚µ‚Ä‚ÍA@“ü—͉æ–Ê -> Šm”F‰æ–Ê -> Š®—¹‰æ–Ê
‚Ì‚»‚ꂼ‚ê‚ɌŗL‚ÌURL‚ðŠ„‚èU‚é•û–@‚ð–Íõ‚µ‚Ä‚¢‚Ü‚·B
“ü—͉æ–Ê:index.php?code=input
Šm”F‰æ–Ê:index.php?code=confirm
Š®—¹‰æ–Ê:index.php?code=finish
‚ÆŒ¾‚¤ƒŒƒxƒ‹‚Å‚à•t—^o—ˆ‚é‚È‚ç‚Ζâ‘è–³‚¢‚̂ł·‚ªAƒAƒNƒVƒ‡ƒ“‚ðPOST‚µ‚È‚ª‚ç
URL‚ɕω»‚ð•t‚¯‚é•û–@‚ª•ª‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½B

‘f’¼‚ÉGET‚Å“n‚·‚µ‚©‚È‚¢‚̂łµ‚傤‚©H

55:nobody‚³‚ñ
07/10/05 18:22:49
>>54‚Å‚·B
‘‚¢‚½’¼Œã‚É‹C‚ª•t‚¢‚½cB
‚±‚ê‚Ȃ畒ʂÉ<form action="index.php?=***">‚Å“n‚¹‚Ηǂ¢‚â‚ÆŒ¾‚¤Ž–‚Åc
ƒXƒŒ‰˜‚µA‘å•ÏŽ¸—ç’v‚µ‚Ü‚µ‚½B

56:nobody‚³‚ñ
07/10/06 01:24:36
>>54
<input type="hidden" name="action_*">
‚Æ‚©
<input type="submit" name"action_*" value="‚¶‚Á‚±`">
‚Æ‚©name‘®«‚É“ü‚ê‚ê‚Ηǂ¢

‚±‚±‚ç‚Ö‚ñ‚ÍEthna‚̃`ƒ…[ƒgƒŠƒAƒ‹‚É‚ ‚邿

57:nobody‚³‚ñ
07/10/11 16:33:35
smarty‚ÌincludejŠÖ”‚ðŽg‚Á‚ÄAƒwƒbƒ_[•”‚âƒtƒbƒ^[•”‚ð•ʃtƒ@ƒCƒ‹‚É‚µ‚½‚¢‚̂ł·‚ª
‚»‚ê—l‚ÌŠi”[ƒtƒHƒ‹ƒ_‚Ý‚½‚¢‚È‚à‚Ì‚Á‚ĂȂ¢‚̂łµ‚傤‚©H‚à‚µ‚­‚͉½‚©—Ç‚¢•û–@‚ ‚ê‚Î
‚¨Šè‚¢‚µ‚Ü‚·

58:nobody‚³‚ñ
07/10/11 17:31:02
>>57
ƒeƒ“ƒvƒŒ[ƒgƒfƒBƒŒƒNƒgƒŠ‚Ì’†‚ÉD‚«‚Ȃ悤‚ɃfƒBƒŒƒNƒgƒŠì‚Á‚ē˂Áž‚߂΂¢‚¢‚Å‚·‚æB

59:nobody‚³‚ñ
07/10/25 15:41:25 1vHLTuW2
ƒƒO‚Ìo—Í‚ð‚È‚ñ‚Å‚à‚¢‚¢‚©‚ç‘S•”ƒtƒ@ƒCƒ‹‚Éo—Í‚µ‚½‚¢‚Æ‚«‚͂ǂ¤‚·‚é‚Ì‚ñH

60:nobody‚³‚ñ
07/10/25 16:15:34
'log_facility' @ @ @ @ @=> 'file',
'log_level' @ @ @ @ @ @ => 'debug',

61:nobody‚³‚ñ
07/10/25 23:58:03
‚¨‚¨A‚ ‚肪‚½‚¢

‚¿‚Ȃ݂ɂȂñ‚¾‚¯‚Ç
Ethna_Controller ‚Ì getManagerClassName ‚Æ getObjectClassName B
”÷–­‚É–¼‘O‚̕ϊ·ƒƒWƒbƒN‚ªˆá‚¤
CVS”Å‚¾‚Æ“¯‚¶‚ɂȂÁ‚Ä‚ñ‚Ì‚©‚ÈH

62:nobody‚³‚ñ
07/10/27 21:04:42 euGofwdi
URLØÝ¸(ihc.mydisk.jp)

63:nobody‚³‚ñ
07/10/31 13:59:03 G97Omn6y
Ethna‚ÌADODB‚Á‚Ä Starttrans() Žg‚¦‚È‚¢‚Ì‚©‚ÈHƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“B

64:nobody‚³‚ñ
07/10/31 15:51:24
’¼Ú
$this->db->db->StartTrans();
‚Á‚ČĂׂΎg‚¦‚½‚ÆŽv‚¤

65:nobody‚³‚ñ
07/11/01 14:26:56
>>63-64
‚¢‚â‚¢‚âAPEAR_DB”łłàADOdb”łłàAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Í
$this->db->begin();
$this->db->rollback();
$this->db->commit();
‚Å“ˆê‚³‚ê‚Ă邿B


66:nobody‚³‚ñ
07/11/01 15:16:48
Ethna_DB_ADOdb.php‚¾‚Æbegin()‚Å’P‚ÉBeginTrans()‚ðŒÄ‚ñ‚ł邾‚¯‚¾‚¯‚ÇAADOdb‚ÌStartTrans()‚Á‚ÄBeginTrans()‚æ‚èFX‚Ƃ悫‚ÉŒv‚ç‚Á‚Ä‚­‚ê‚é‚ñ‚Å‚·‚æ
/**
@Improved method of initiating a transaction. Used together with CompleteTrans().
@Advantages include:
@ @ @ @ @ @ @
@a. StartTrans/CompleteTrans is nestable, unlike BeginTrans/CommitTrans/RollbackTrans. Only the outermost block is treated as a transaction.
@b. CompleteTrans auto-detects SQL errors, and will rollback on errors, commit otherwise.
@c. All BeginTrans/CommitTrans/RollbackTrans inside a StartTrans/CompleteTrans block are disabled, making it backward compatible.
@*/
function StartTrans($errfn = 'ADODB_TransMonitor')
{....

67:65
07/11/01 18:02:36
‚®‚ AStartTrans()‚Ì‚±‚Ƃ͒m‚ç‚È‚©‚Á‚½B‚²‚ß‚ñAtypo‚©‚Æ…orz
CompleteTrans()‚ŃGƒ‰[‚ðŽ©“®”»’肵‚½‚èAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“’†‚É
•ʂ̃ƒ\ƒbƒh‚Åcommit‚³‚ê‚Ä‚à‘åä•v‚Æ‚¢‚¤‚͕̂֗˜‚Å‚·‚ËB
ADOdb‚̓Ǝ©Šg’£‚Û‚¢‚©‚çAEthna_DB_ADOdb.php‚ðŠg’£‚·‚é‚©A>>64Ž‚Ì
‘‚¢‚½‚悤‚É’¼ÚŒÄ‚Ô‚Ì‚ª—Ç‚³‚»‚¤B

# ƒhƒLƒ…ƒƒ“ƒg‚Éu–ˆ‰ñƒGƒ‰[ƒ`ƒFƒbƒN‚·‚é•K—v‚È‚¢‚æv‚Ä‘‚¢‚Ä‚ ‚é‚Ì‚Í
# –³‘Ê‚ÉSQL‚ÌŽÀs‰ñ”‚ª‘‚¦‚Ä‚µ‚Ü‚¤‚̂Ŕ÷–­‚È‹C‚à‚·‚邯‚Ç…

68:nobody‚³‚ñ
07/11/01 23:50:53
Ú‚µ‚¢l‚¨‚µ‚¦‚ÄA

EthnaŽg‚Á‚Ä‚Ä@action‚É‘‚­‚ׂ«‚© view‚É‘‚­‚ׂ«‚©–À‚¤‚ñ‚¾‚ªA

—Ⴆ‚Îaction‚Å
AppManagerŽg‚Á‚Ä•K—v‚ȃf[ƒ^Žæ‚Á‚Ä‚«‚Ä‚½‚Æ‚µ‚Ä
‚‚¢‚Å‚É af->set()‚Åo—͂̂¨‘V—§‚Ä‚à‚µ‚Ä‚µ‚Ü‚Á‚½•û‚ªŠy‚ÉŠ´‚¶‚é‚ñ‚¾‚ªA

‚ ‚¦‚ÄA‚Ç‚±‚©‚É—­‚߂è‚¢‚Äview‘¤‚Åaf->set()‚·‚ׂ«‚Ȃ̂©‚ËH


69:nobody‚³‚ñ
07/11/02 00:16:52
>>68
actionform‚Ìset‚Íactionclass‚Ìperform‚É“ü‚é‘O‚Ì’iŠK
‚‚܂èAauthenticate‚Æprepare‚Ås‚¤‚ׂ«B

view‚Å‚â‚é‚̂͂à‚Á‚Ă̂ق©B

AppObject/AppManager‚ȂǂÌModel‚É‚à‹É—Ís‚©‚·‚ׂ«‚ł͂Ȃ¢B


‚Æ‚¢‚¤ƒ‹[ƒ‹•t‚¯‚Å‚â‚Á‚ÄMVCˆÓޝ‚µ‚Ä‚éB

70:68
07/11/02 00:42:53
>69 EthnaŽg‚í‚È‚¢‚Å‚­‚¾‚³‚¢B


71:69
07/11/02 01:00:21
>>70
‚Ç‚¤‚¢‚¤‚±‚ÆH

72:nobody‚³‚ñ
07/11/02 15:32:51
>>68
‚»‚̕ӂÍMVC‚̃WƒŒƒ“ƒ}‚¾‚ÆŽv‚¤B
Œø—¦“I‚É‚ÍAAction‚Ŏ擾‚µ‚½î•ñ‚ðView‚ÅŽg‚¦‚é‚Ì‚ª‚¢‚¢‚¯‚Ç
“Á’è‚ÌAction‚ð’ʉ߂µ‚È‚¢‚ÆView‘¤‚ų‚µ‚¢î•ñ‚ð—˜—p‚Å‚«‚È‚¢
‚Æ‚È‚é‚ÆAˆ—‚Æ•\ަ‚ª•ª—£‚³‚ê‚È‚¢‚±‚ƂɂȂ邩‚ç”÷–­B

Ž©•ª‚Í‘½­–³‘Ê‚¾‚Ƃ͎v‚¢‚‚‚àAAction‚ÆView‚Å‚»‚ꂼ‚êŽæ“¾
‚µ‚Ä‚¢‚邿BŒ‹‰Ê‚ðƒLƒƒƒbƒVƒ…‚Å‚«‚é‚à‚̂̓LƒƒƒbƒVƒ…‚µ‚½‚èAmemcached‚ð
Žg‚Á‚½‚肵‚ÄADB‚Ì•‰‰×‚Íã‚°‚È‚¢‚悤‚É­‚µl‚¦‚Ă͂¢‚邯‚ÇB


73:69
07/11/02 17:06:05
>>72
‚»‚ê af->setAppij ‚·‚邯‚«‚¾‚æ‚ËH
>>68 ‚ÍAaf->set()‚Á‚Ä‘‚¢‚Ă邩‚çAƒtƒH[ƒ€‚Ì’l‚ð’²®‚µ‚½‚¢‚ñ‚¾‚ëH
‚»‚¤Žv‚Á‚Ä>>69 ‚Ì‘‚«ž‚݂Ȃñ‚¾‚ªB

> Ž©•ª‚Í‘½­–³‘Ê‚¾‚Ƃ͎v‚¢‚‚‚à
AppObject‚̓LƒƒƒbƒVƒ…Ž‚Á‚Ă邩‚çˆê‰ñŽæ‚è‚És‚Á‚½’l‚͕ۑ¶‚µ‚Ä‚éB
‚È‚ñ‚ÅAppObjectŽg‚Á‚Ä‚â‚ê‚ÎAction‚Å”»’è‚ɂƂÁ‚½’l‚ðView‚Å
Žg‚¢‚܂킵‚Ä‚àDB‚É‚Ís‚©‚È‚¢B

‚»‚̕ӂÍORM‚ÌŽdŽ–‚¶‚á‚È‚¢‚©‚Æ‚àŽv‚¤‚¯‚ÇB

74:nobody‚³‚ñ
07/11/02 17:10:22
‚È‚©‚È‚©‹»–¡[‚¢

75:68
07/11/02 23:44:12
‚²‚ß‚ñ af->setApp()‚Ì‚±‚ÆBBBorz@„69

MVC‚ÌØ‚èŒû‚Å‚¢‚­‚Æ
‚â‚͂肻‚¤‚È‚é‚ñ‚Å‚·‚©‚ËB„72 „73

ƒLƒƒƒbƒVƒ…‚³‚ê‚Ä‚¢‚é‚É‚¹‚æ
view‚Å‚à‚¤ˆê‰ñAppObjectŽæ‚è’¼‚µ‚Ä
af->setApp()‚ð”s‘‚­‚Á‚Ă̂àA‚½‚¢‚»‚¤–³‘ʂȋC‚ª‚µ‚Ă܂·B

Œ‹‹Ç‚Ç‚ñ‚ÈAppObject‚ª“n‚Á‚Ä—ˆ‚é‚©
viewŽ©‘Ì’m‚Á‚ĂȂ­‚Ă͂Ȃç‚È‚¢–󂾂µA

‰´‚Ìꇕ`‰æã‚̬×H‚ÍSmarty‚̃eƒ“ƒvƒŒ[ƒg‚É‚â‚点‚鎖‚ª
‘½‚¢‚ñ‚ÅA
‚»‚ꂾ‚Á‚½‚çAset()‚Æ‚©setApp()‚ЂÁ‚­‚é‚ß‚ÄA
ActionForm‘S‘Ì‚ð“n‚·‚©‚çAview‚³‚ñ‚ ‚Ƃ͕`‰æ‚æ‚낵‚­B
‚Á‚Ä•û‚ªŒ‰‚¢‹C‚ª‚µ‚Ă܂·B

Ethna‚Í view‚Ì’è‹`È—ª‚Å‚«‚é‚ñ‚¾‚µA
ƒƒUƒƒU‚QC‚Rs‚¾‚¯‚ÌView‚̃tƒ@ƒCƒ‹ì‚ç‚È‚­‚Ä‚à—Ç‚¢‚©‚È‚Æ
Žv‚Á‚Ä‚éB

‚±‚¤‚¢‚¤‚ÌMVC“I‚ɂ̓_ƒ‚Ȃ̂©‚ÈB


76:69
07/11/03 00:15:59
>>75
‚Ƃ肠‚¦‚¸1•ª‚Å‚à‘‚¢‚±‚ƃR[ƒeƒBƒ“ƒOI‚í‚点‚½‚¢I
‚Á‚ÄŽž‚ÍAŠm‚©‚ÉViewƒŒƒX‚É‚µ‚Äperform‚ÅsetApp‚·‚éB‚±‚Æ‚à‚ ‚éB

‘O‚Í‚»‚¤‚â‚Á‚Ä‚½‚¯‚ÇAŋߖʓ|‚Å‚àview‚‚­‚邿‚¤‚É‚µ‚Ä‚éB
‚Ü‚ŸA1•ª‚©‚©‚ç‚ñ‚Å‚µ‚åB

——R‚Í2‚‚ ‚Á‚ÄA‚ЂƂ‚ÍAŒ‹‹Ç‚ ‚Æ‚©‚ç’ljÁŽd—l‚ª‰Á‚í‚Á‚½Žž‚É
view‚ª‚ ‚邯‚»‚±‚É—¬‚µž‚߂Ηǂ¢‚Æ‚¢‚¤ˆÓޝ‚ÅActionì‚Á‚Ä‚µ‚Ü‚¦‚éB
view‚𑢂Á‚ĂȂ¢‚ÆAŒ‹‹Çˆá‚¤Action‚É“¯‚¶setApp‚·‚邿‚¤‚ɂȂéB
‚ ‚éˆÓ–¡A‚»‚Á‚¿‚Ì•û‚ªâ‘ÎŽg‚¢‰ñ‚µ‚Å‚«‚È‚¢B

‚à‚¤‚ЂƂ‚ÍAforward‚ð‚¢‚¶‚肽‚¢ê‡B
view/Subview.php
view/Subview/Draw.php
view/Subview/Draw/Finish.php
‚Á‚Ä‚·‚éê‡AAPPID_View_Subview::forward()‚ÉŽdŠ|‚¯‚ð‚µ‚Ä‚â‚Á‚Ä
ƒeƒ“ƒvƒŒƒpƒX•Ï‚¦‚½‚è‚·‚éê‡AƒNƒ‰ƒX’è‹`‚¾‚¯‚Å‚à‚µ‚Ä‚¨‚¯‚΂»‚êˆÈ‰º‚Ì
view‚à‚æ‚낵‚­‚â‚Á‚Ä‚­‚ê‚邯‚ÇAview‚ð’è‹`‚µ‚È‚¢‚ÆController‚Åݒ肵‚½
viewŽg‚Á‚¿‚Ⴄ‚©‚ç‚ÈB‚Ü‚ŸA“ÁŽê‚Èꇂ¾‚¯‚ÇAforward‚¢‚¶‚ê‚é‚̂͋­—Í‚¾‚©‚ç‚ÈB


77:69
07/11/03 00:29:22
>>75
>ƒLƒƒƒbƒVƒ…‚³‚ê‚Ä‚¢‚é‚É‚¹‚æ
>view‚Å‚à‚¤ˆê‰ñAppObjectŽæ‚è’¼‚µ‚Ä
>af->setApp()‚ð”s‘‚­‚Á‚Ă̂àA‚½‚¢‚»‚¤–³‘ʂȋC‚ª‚µ‚Ă܂·B

‚È‚ñ‚ÅAƒIƒŒ‚Ìꇂ͂ł«‚éŒÀ‚èAction/View‚Ìs”‚ð‘‚₳‚È‚¢‚悤‚É
Model‚ɂقƂñ‚ǂ̃R[ƒh‚ªˆÚ“®‚µ‚½B
AppObject/AppManager‚̃LƒƒƒbƒVƒ…‚𗘂©‚¹‚é‚É‚ÍA
“¯‚¶filter/offset/limit/order‚ÅDB‚©‚çfetch‚³‚¹‚é•K—v‚ª‚ ‚é‚©‚çB
‚·‚邯AAction‚ÆView‚łԂꂪ‚ ‚邯‚¢‚¯‚È‚¢‚©‚ç‚ÈB

‚¾‚©‚çA‘S‘̗̂¬‚ê‚Æ‚µ‚Ä•K‘R“I‚É
[Action]
ActionForm‚Ì’²®iƒfƒtƒHƒ‹ƒg’l‚âAƒZƒŒƒNƒgƒ^ƒu‚Ì’l¶¬j
@@«
af->validate()
@@«
—Ž‚¿‚éViewæ‚ÌŒˆ’胃WƒbƒN

[View]
af->setApp()
‚Ì‚Ý

‚Á‚ĂȂéB

78:68
07/11/03 01:16:56
>>76
>‚à‚¤‚ЂƂ‚ÍAforward‚ð‚¢‚¶‚肽‚¢ê‡B
‚±‚ê‚Í•ª‚éBŠm‚©‚Éforward‚¢‚¶‚肽‚¢Žž‚à‚ ‚éB

>view‚𑢂Á‚ĂȂ¢‚ÆAŒ‹‹Çˆá‚¤Action‚É“¯‚¶setApp‚·‚邿‚¤‚ɂȂéB
>‚ ‚éˆÓ–¡A‚»‚Á‚¿‚Ì•û‚ªâ‘ÎŽg‚¢‰ñ‚µ‚Å‚«‚È‚¢B

‚»‚¤‚©‚È[Bview‚ðì‚Á‚Ä‚ ‚Á‚½‚É‚¹‚æAview‚É“n‚·‚à‚Ì‚ª’ŠÛ‰»
‚µ‚«‚ê‚ĂȂ¯‚ê‚ÎAŒ‹‹ÇŽg‚¢‰ñ‚¹‚È‚¢‹C‚ª‚·‚éB
ˆê”Ô’ŠÛ“I‚ÅA‚Ç‚ñ‚Èview‚Å‚à—‰ð‚Å‚«‚é‚à‚ÌA‚‚܂è‚ÍActionForm‚ð
“n‚·‚Æ‚¢‚¤‚¨–ñ‘©‚ªA‚ä‚é‚­‚ÄÅ‹­‚ÌÚ“_‚¾‚ÆŽv‚¤‚ñ‚¾‚ªB


79:68
07/11/03 01:33:38
>>77
>AppObject/AppManager‚̃LƒƒƒbƒVƒ…‚𗘂©‚¹‚é‚É‚ÍA
>“¯‚¶filter/offset/limit/order‚ÅDB‚©‚çfetch‚³‚¹‚é•K—v‚ª‚ ‚é‚©‚çB

•׋­‚ɂȂè‚Ü‚·B


80:69
07/11/03 02:54:08
>>78
>“n‚·‚Æ‚¢‚¤‚¨–ñ‘©‚ªA‚ä‚é‚­‚ÄÅ‹­‚ÌÚ“_‚¾‚ÆŽv‚¤‚ñ‚¾‚ªB
‚»‚̕ӂÍAŠJ”­ƒXƒ^ƒCƒ‹‚Æ‚©ˆÄŒ‚Ɉ˂é‚ñ‚¶‚á‚È‚¢H
Žæ‚è‚ ‚¦‚¸uƒIƒŒ‚Í‚±‚¤‚¢‚¤Š´‚¶‚Å‚â‚Á‚Ä‚év‚Á‚Ä‚¾‚¯‚ÅA•Ê‚ÉFX‚È•û–@‚ª‚ ‚邯Žv‚¤B
Žg‚Á‚Ă邤‚¿‚ɕςí‚邾‚낤‚µA‚Á‚ăIƒŒ‚ª‚»‚¤‚È‚ñ‚¾‚¯‚ÇB

‚»‚̂ւñ‚Ì‚ä‚邳‚ÍEthna‚Ì‚¢‚¢‚Æ‚±‚낾‚µAˆêl‚â”l‚Å‚â‚镪‚ɂ͋CŠyB

81:nobody‚³‚ñ
07/11/03 15:20:42
‚Ý‚ñ‚ÈAAppObject‚Æ‚¢‚¤‚©ORMŽg‚Á‚Ä‚é‚Ì‚©B
‰´‚Íjoin‚Ì‚â‚è•û‚ª•ª‚©‚ç‚È‚­‚Ä—Ü–Ú‚¾‚Á‚½‚Ì‚ÅA‚¢‚Ü‚¾‚ÉSQL‘‚¢‚Ă邿B
ZnedFramework‚àŽŽ‚µ‚Ă݂½‚¯‚ÇAZend_Db_Table‚ª‘S‘RŽg‚¦‚È‚¢‚Ì‚Å
Œ‹‹Ç‚»‚Á‚¿‚àSQL‚Æ‚¢‚¤ƒ`ƒ“ƒJƒX‚Á‚Ղ肾‚ºB

82:nobody‚³‚ñ
07/11/03 16:01:56
join‚Í­‚µ‘O‚Ü‚ÅA‚܂Ƃà‚ɂł«‚È‚©‚Á‚½‚Í‚¸B
‚È‚ñ‚ŘR‚ê‚àSQL‘‚¢‚Ă邿BAppObject‚̓e[ƒuƒ‹‚̃ŒƒR[ƒh‚Æ‚P‘΂P‚Å‚â‚èŽæ‚è‚·‚éê–Ê‚¾‚¯
Žg‚Á‚Ä‚éBŒŸõ‚µ‚Ĉꗗˆø‚Á’£‚Á‚Ä‚­‚邿‚¤‚ȃP[ƒX‚ÍAjoin‚·‚éꇂª‘½‚¢‚µA
where•¶SQL‚Å‘‚­•û‚ªŠµ‚ê‚Ä‚¢‚é‚ñ‚ÅASQL‘‚¢‚½ˆ—‚ðAppManager‚É‹l‚ßž‚ñ‚ł邿B

83:nobody‚³‚ñ
07/11/05 13:41:20
viewì‚Á‚ÄwhereðŒ‚¾‚¯Ethna_AppSearchObject‚Åì‚é‚Á‚Ă̂̓iƒVH
‚à‚Á‚Æ‚àA‚»‚ê‚â‚Á‚½‹ïŽt‚ªML‚Åutable“ǂނƂ«‚̓Jƒ‰ƒ€–¼¬•¶Žš‚ɂȂé‚Ì‚ÉAviwe‚ð“Ç‚Þ‚Æ‘å•¶Žš‚ɂȂéB‚ª‚Á‚Å‚ÞIv‚ÆŒ¾‚Á‚Ä‚¢‚½‚Ì‚ÅA‚ ‚Ü‚è‚¨Š©‚߂ł͂Ȃ¢‚Ì‚©‚à‚µ‚ê‚ñB

ccS2Ethna‚ÅS2Dao.PHP‚©Hw

84:nobody‚³‚ñ
07/11/07 18:33:33 NnNW38Hz
URLØÝ¸(ethna.jp)

> “ü—Í‚ÌShift_JIS‚ð“à•”ƒR[ƒh‚ɕϊ·
> ‚Ü‚¸‚ÍAEthna‚̃tƒBƒ‹ƒ^‚Å“ü—̓R[ƒh‚ð•ÏŠ·‚µ‚Ä‚µ‚Ü‚¢‚Ü‚·B

‚Æ‚ ‚é‚̂ł·‚ª

/usr/local/lib/php/Ethna/class/Ethna_Filter.php

‚±‚Ì’†‚É‘‚«‰Á‚¦‚é–ó‚ł͂Ȃ¢‚̂ł·‚©H

ã‹L‚őʖڂ¾‚Á‚½‚Ì‚ÅAAPPID_Filter.php ‚ðˆÈ‰º‚̂悤‚É‘‚¢‚Ä

class APPID_Filter extends Ethna_Filter{
{
@@function prefilter(){EEE}
@@function InputEncoding($data){EEE}
}

APPID_Controller.php‚Årequire once‚µ‚Ă݂½‚肵‚½‚̂ł·‚ª
$_POST‚³‚ꂽƒf[ƒ^‚ª•ÏŠ·‚³‚ê‚È‚­‚Ä”Y‚ñ‚ł܂·B

‚ǂȂ½‚©‚²‹³Žö‚­‚¾‚³‚¢B‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B

85:nobody‚³‚ñ
07/11/07 18:36:31
APPID_Filter.php ‚Ì prefilter() ‚Í preFilter() ‚Ì“ü—̓~ƒX‚Å‚·B

86:nobody‚³‚ñ
07/11/08 01:13:51 Wm9UgOj0
‚¾‚ê‚©AppManager‚ÌgetAttrList‚ÌŽg‚¢•û‚í‚©‚él‚¢‚Ü‚¹‚ñ‚©H

‚±‚ꂪ‚¢‚Ü‚¢‚¿‚í‚©‚ç‚È‚¢‚̂ł·BƒtƒH[ƒ€ƒwƒ‹ƒp‚ŃZƒŒƒNƒgƒ{ƒbƒNƒX‚Ìoption‚Ì’l‚ð
ƒf[ƒ^ƒx[ƒX‚©‚çŽæ“¾‚µ‚½‚¢‚Æl‚¦‚Ă܂µ‚ÄB

Ethna‚ÌŠJ”­ƒ}ƒjƒ…ƒAƒ‹‚݂Ă¢‚½‚çAƒAƒNƒVƒ‡ƒ“ƒtƒH[ƒ€‚Å
Option‚ÌÝ’è‚ð'address,prefecture'‚É‘‚¯‚ÎŒ©‚½‚¢‚ÈŽ–‚í‚©‚Á‚½‚ñ‚Å‚·‚ªAA
ƒvƒƒpƒeƒB‚Ì’l‚Á‚Ă̂ª‚æ‚­‚í‚©‚ç‚È‚¢‚ñ‚Å‚·EEE


‚¾‚ê‚©‚í‚©‚él‹³‚¦‚Ä‚­‚¾‚³‚¢B



87:nobody‚³‚ñ
07/11/08 02:07:11
Hogeƒ}ƒl[ƒWƒƒ‚ÌŠÖ”‚©‚ç
“¯ƒ}ƒl[ƒWƒƒ“à‚̕ʊ֔(fuga)‚ðŒÄ‚Ño‚µ‚½‚¢ê‡A
ˆÈ‰º‚̂ǂ¿‚炪“K‚µ‚Ä‚¢‚é‚Å‚µ‚傤‚©H

$Hoge_m =& $this->backend->getManager('Hoge');
$Hoge_m->fuga();
or
$this->fuga();



88:nobody‚³‚ñ
07/11/08 02:29:21 Wm9UgOj0
>87
$this->fuga();



89:86
07/11/08 02:56:20
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·!!

‚à‚¤ˆê“_”ñí‚É‹^–â“_‚ª‚ ‚é‚̂ł·‚ªA
$Hoge_m =& $this->backend->getManager('Hoge');
‚Æ
$Hoge_m = $this->backend->getManager('Hoge');
‚Á‚Ăǂ¤ˆá‚¤‚̂łµ‚傤‚©H
‚±‚Ì&‚Á‚ÄŽQÆ“n‚µ‚Å‚µ‚傤‚©H
ŽQÆ“n‚µ‚Á‚Ä’P‚È‚é•Ï”‚¾‚¯‚łȂ­AƒIƒuƒWƒFƒNƒg‚ɑ΂µ‚Ä‚à
—˜—p‰Â”\‚Ȃ̂łµ‚傤‚©H



90:nobody‚³‚ñ
07/11/08 16:06:31
>>89
URLØÝ¸(www.php.net)
ŽQƂ̓XƒJƒ‰[Œ^‚Å‚àƒIƒuƒWƒFƒNƒg‚â”z—ñ‚Å‚àŽg‚¦‚邿B

—]’k‚¾‚¯‚ÇAPHP5ˆÈ~‚ł͊֔‚Ì–ß‚è’l‚â•Ï”‚Ö‚Ì‘ã“ü‚È‚ñ‚©‚Å
“¯‚¶ƒIƒuƒWƒFƒNƒg‚ðŽw‚µŽ¦‚µ‚Ä‚¢‚é•K—v‚ª‚È‚¢‚̂ł ‚ê‚ÎAŽQÆ“n‚µ‚ð
‚·‚é‚ׂ«‚ł͂Ȃ¢‚̂ŒˆÓBƒƒ‚ƒŠ‚ÌŒø—¦‰»‚Æ‚©Žv‚Á‚Ä‚¢‚邯A‚Þ‚µ‚ë
–³‘Ê‚ÉÁ”‚ê‚邱‚Æ‚ª‚ ‚éB
URLØÝ¸(www.phppro.jp)

PHP4/5‚ɑΉž‚·‚éEthna(–{‘Ì)‚ɂ͊֌W‚È‚¢˜b‚¾‚¯‚Ç‚ËB


91:nobody‚³‚ñ
07/11/11 12:12:44
‚±‚̃tƒŒ[ƒ€ƒ[ƒN‚Á‚Ä‘¼‚̃tƒŒ[ƒ€ƒ[ƒN‚É‚ ‚邿‚¤‚È
Ajaxƒwƒ‹ƒp‚âHTMLƒwƒ‹ƒp[‚È‚ñ‚©‚Í‘•”õ‚³‚ê‚È‚¢‚ñ‚Å‚µ‚傤‚©H
‚ ‚ÆAƒ‹[ƒeƒBƒ“ƒO‚ð‚à‚¤­‚µ‰ü‘P‚µ‚Ä—~‚µ‚¢‚Å‚·‚ÈB

92:nobody‚³‚ñ
07/11/12 15:41:42
ƒXƒ}[ƒgURL‚ðŽg‚¦‚邿‚¤‚É‚·‚é‚É‚Íapache‚Ì•û‚àFXݒ肵‚È‚¢‚ƑʖÚH

93:nobody‚³‚ñ
07/11/13 01:26:05 41cf2n7r
PEAR::Auth‚ðŒp³‚µ‚½AuthƒNƒ‰ƒX‚ð‚±‚³‚¦‚Ă݂悤‚©‚ÆŽv‚Á‚½‚ñ‚¾‚ªA
\’z‚·‚éƒ^ƒCƒ~ƒ“ƒO‚ª‚í‚©‚ç‚È‚¢

ActionForm•Ó‚è‚Å
$this->auth =& new $this->backend->ctl->class['auth'](&$this->backend->ctl)
‚Á‚Ä‚â‚Á‚Ä‚ ‚°‚ê‚΂¢‚¢‚ñ‚¾‚ׂ©B
Controller‚̃Rƒ“ƒXƒgƒ‰ƒNƒ^‚Å\’z‚·‚é‚̂͂¿‚å‚Á‚­‚ç‘‚¢Š´‚¶‚¾‚µ
‚Ç‚¤‚·‚邯ƒXƒ}[ƒg‚È‚ñ‚Å‚°‚µ‚åB

94:nobody‚³‚ñ
07/11/13 21:54:07
>>92
‚Ü‚ŸAmod_rewrite‚ÌÝ’è‚ðs‚í‚È‚¢‚Ƒʖڂłµ‚傤‚ËB
UrlHandler‚Í‚¢‚܂ЂƂ‚Á‚ÄŠ´‚¶B

95:93
07/11/13 23:45:08 41cf2n7r
ActionClass‚Ìauthenticate‚Ŷ¬‚·‚邱‚Ƃɂ·‚Ü‚·‚½

96:nobody‚³‚ñ
07/11/14 04:30:56
—áŠOˆ—‚ð‚µ‚½‚¢‚̂ł·‚ªA
AppManager “à‚Å
throw‚µ‚Ä
ƒAƒNƒVƒ‡ƒ““à‚Åcatch‚µ‚½‚¢ê‡A
‚ǂ̂悤‚É‹Lq‚·‚ê‚΂悢‚Å‚µ‚傤‚©H
’P‚ÉAppManager“à‚Åthrow‚·‚邯
PHP Fatal error: Uncaught exception 'Exception'
‚ª‚¨‚«‚Ä‚µ‚Ü‚¢‚Ü‚·

97:nobody‚³‚ñ
07/11/16 03:14:04
>>67
ƒGƒ‰[‚ª”­¶‚µ‚½‚çƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“’†‚̌㑱‚·‚éSQL‚̓XƒLƒbƒv‚µ‚»‚¤‚¾‚¯‚Ç‚Ë
‚»‚¤‚¶‚á‚È‚«‚á‚ ‚ñ‚Ü‚è‚Å‚µ‚å‚—

98:67
07/11/16 21:30:33
>>97
‚¢‚âAƒ\[ƒXŠm”F‚µ‚½‚çƒ`ƒFƒbƒN‚µ‚ĂȂ©‚Á‚½‚ñ‚¾‚æ
‚ ‚ñ‚܂肾

99:nobody‚³‚ñ
07/11/19 22:11:25
$obj =& $this->backend->getManager('hoge');
$obj->setParam( $param );
$obj =& $this->backend->getManager('hoge');
‚Ý‚½‚¢‚ÈŠ´‚¶‚É‚·‚邯
$obj->setParam( $param );‚ªŠù‚ɂȂ³‚ê‚Ä‚¢‚éó‘ԂɂȂ闗R‚ª
‚æ‚­‚í‚©‚ç‚ñ‚Å‚·B



100:99
07/11/20 00:55:53
ŽQÆ“n‚µ‚Á‚Ă₂̂¹‚¢H
$this->backend->getManager()
‚ðƒIƒuƒWƒFƒNƒg¶¬inewj‚Æ“¯‚¶Š´Šo‚ÅŽg‚Á‚Ä‚½‚¯‚ÇA
‚à‚µ‚»‚¤‚È‚ç‘å‚«‚ÈŠ¨ˆá‚¢‚Å‚·‚æ‚ËB

new‚Ý‚½‚¢‚ÉŽg‚¤•û–@‚Á‚ĂȂ¢‚Å‚µ‚傤‚©H


101:nobody‚³‚ñ
07/11/20 04:03:10
>>100
‚»‚à‚»‚àAManager‚ÍObject‚ƈá‚Á‚Ä‚¢‚­‚‚àì‚ç‚ñ‚Ì‚æB
‚¾‚©‚çAsetParam()‚Æ‚©‚µ‚Ă鎞“_‚ÅŽg‚¢•ûŠÔˆá‚Á‚Ă邿B
Object‚É‚à‚½‚¹‚È‚æB

102:nobody‚³‚ñ
07/11/20 07:09:01
getManager()‚Ì‘æ‚Qƒpƒ‰ƒ[ƒ^Žw’è‚·‚ê‚΃Vƒ“ƒOƒ‹ƒgƒ“‚¶‚á‚È‚­‚È‚Á‚½‚Í‚¸B

103:nobody‚³‚ñ
07/11/20 18:19:20
>>102
’m‚ç‚ñ‚©‚Á‚½…

‚»‚ê‚Í‚³‚Ä‚¨‚«AAppManager‚ÉsetParam‚·‚é󋵂Ȃñ‚Ä‚ ‚é‚Á‚¯H
ActionFormŽg‚Á‚ÄAAction/ViewŠÔ‚Å$this->af->setApp()/getApp()‚Å
Žæ‚è‚܂킵‚½‚è‚·‚邱‚Ƃ͂ ‚邯‚ÇAŒ‹\ƒCƒŒƒMƒ…ƒ‰[‚Èꇂ¾‚¯‚©‚ÈB

104:101
07/11/20 19:58:25
>>102
‚¨‚ê‚à’m‚ç‚ñ‚©‚Á‚½c

105:99
07/11/20 22:31:06
>>102
ƒTƒ“ƒNƒX‚Å‚·!!

>>101
>>103
ƒ}ƒl[ƒWƒƒ‚ð•’ʂ̃Nƒ‰ƒX‚Ý‚½‚¢‚ÉŽg‚Á‚Ă܂·BBB
ƒ}ƒl[ƒWƒƒ‚ŃNƒ‰ƒXì‚Á‚Änew‚·‚é‘ã‚í‚è‚É
getManager‚µ‚ÄBBBB
‚¾‚ß‚¾‚낤‚©
require‚Æ‚©‚ß‚ñ‚Ç‚¢‚ñ‚¾‚¯‚ÇB

106:nobody‚³‚ñ
07/11/20 22:39:15
102‚Ý‚½‚¢‚È‹@”\‚ª‚ ‚é‚Á‚Ä‚±‚Æ‚Í
‚»‚¤‚¢‚¤Žg‚¢•û‚à‘z’肳‚ê‚Ä‚é‚Ì‚©‚ËH

107:101
07/11/21 00:34:11
‚¤[‚ñAƒLƒƒƒbƒVƒ…‚ªŸT“©‚µ‚¢‚Æ‚«‚¶‚á‚È‚¢‚©‚ÈH
AppManager‚Ì“¯‚¶ƒƒ\ƒbƒh‚ÅŽæ‚è‚És‚«‚½‚¢‚¯‚ÇA‚»‚ÌŠÔŒ„‚ÉUpdate‚µ‚¿‚á‚Á‚Ä‚ÄA
‚»‚̂܂܃ƒ\ƒbƒhƒR[ƒ‹‚·‚邯ƒLƒƒƒbƒVƒ…‚ª‹A‚Á‚Ä‚­‚é‚Ì‚ª‚¤‚Á‚Æ‚¤‚µ‚¢‚Æ‚¢‚¤ó‹µB
‚½‚܂ɂ ‚éB‚ ‚Ü‚èÝŒv‚ª‚æ‚­‚È‚¢‚¹‚¢‚©‚à‚µ‚ê‚ñ‚¯‚ÇB

108:nobody‚³‚ñ
07/11/21 03:01:24
>>105
ƒ[ƒ_[‚Æ‚µ‚ÄŽg‚¤‚È‚çA(AppId)_Controller.php‚Ì$class‚É
$class = array(
@...
@'foo' => 'Foo_Bar_Buzz',
@...
);
‚Ý‚½‚¢‚É’è‹`‚µ‚Ä‚¨‚¢‚ÄA
$obj = $this->backend->getObject('foo');
‚Ŏ擾‚·‚邯‚¢‚¤‚̂͂ǂ¤‚¾‚낤‚©B‘æ2ˆø”‚Étrue‚ðŽw’肵‚È‚¢‚Æ
ƒLƒƒƒbƒVƒ…‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ª•Ô‚é‚̂ŒˆÓ‚Æ‚¢‚¤‚±‚Æ‚ÅB

109:nobody‚³‚ñ
07/12/14 00:07:12 qsT4Ha3J
-- actionform
'id' => array(
@@'form_type' => FORM_TYPE_SELECT,
@@'type' => array(VAR_TYPE_INT),
@@'option' => array(1=>'man', 2=>'woman')
)

‚ĂȂƂ«‚É

-- viewclass
$this->af->set('id', array(1, 1, 2, 2, 1));
-- template
{form_input name="id" emptyoption=""}

‚Á‚Ä‚â‚Á‚Ä‚à
‚¤‚Ü‚­selected="selected"‚ª•t‚¢‚Ä‚­‚ê‚È‚¢‚ñ‚¾‚¯‚Ç
FORM_TYPE_SELECT‚Å”z—ñ‚ðˆµ‚¤‚͖̂ʓ|‚­‚³‚¢‚Ì‚©‚µ‚ç


110:nobody‚³‚ñ
07/12/14 01:37:02
>>109
Multipule‚ÌSelectƒ^ƒuH
ƒIƒŒ‚ÍŽ©•ª‚ŃKƒbƒcƒŠ‚Æform_input‚ðì‚Á‚Ä‚µ‚Ü‚Á‚ÄAEthnaƒfƒtƒHƒ‹ƒg‚Í
‚à‚¤Žg‚Á‚Ä–³‚¢B‚Ü‚ŸA–Ê“|‚¾‚¯‚LjӊO‚ÆŠÈ’P‚Å‚·‚æB

Default‚Ìform_input‚͑Ήž‚µ‚Ä‚é‚Ì‚©‚ÈH
Ethna_ViewClass::getFormInput_Html
Œ©‚Ă邯‚µ‚ĂȂ¢‚ËB

111:109
07/12/14 07:29:06
>>110
‚¢‚âAƒ}ƒ‹ƒ`ƒvƒ‹‚¶‚á‚È‚­‚ăVƒ“ƒOƒ‹ƒZƒŒƒNƒg‚ÈSelectƒ^ƒO‚Ì”z—ñB
<select name="id[]"></select>
<select name="id[]"></select>
<select name="id[]"></select>
‚Á‚ĂȊ´‚¶‚ÅŽg‚¢‚½‚¢‚ñ‚Å‚·B
‚»‚¤‚©ASelectƒ^ƒO‚Åarray(VAR_TYPE_``)‚Á‚Ä‚â‚邯
ƒ}ƒ‹ƒ`ƒvƒ‹ˆµ‚¢‚ɂȂé‚ñ‚ËB
‚ñ‚ÅPOST‚³‚ꂽƒf[ƒ^ã‚Ń}ƒ‹ƒ`ƒZƒŒƒNƒg‚ÈSelectƒ^ƒO‚©
Selectƒ^ƒO‚Ì”z—ñ‚©‚ÌŒ©•ª‚¯‚Í•t‚©‚È‚¢‚ÆBBB
Ž©•ª‚Å‚ª‚Á‚‚èì‚螂ނ͖̂ʓ|‚Ȃ̂Å
ViewClass‚ðŒp³‚µ‚½ƒNƒ‰ƒX‚ʼnº‚̂悤‚È•ÏX‰Á‚¦‚ÄŽg‚Á‚Ă݂܂·B
ƒ}ƒ‹ƒ`ƒZƒŒƒNƒg‚©ƒVƒ“ƒOƒ‹ƒZƒŒƒNƒg‚È”z—ñ‚©Œ©•ª‚¯‚ª•t‚©‚È‚¢‚̂Ȃç–â‘è‚͂Ȃ¢‚Í‚¸B

-- Ethna_ViewClass.php (function _getFormInput_Select($name, $def, $params))
-- 702s–¼‚®‚ç‚¢
@// default’l‚ÌÝ’è
@if (isset($params['default'])) {
@ $current_value = $params['default'];
@} else if (isset($def['default'])) {
@ $current_value = $def['default'];
@} else {
@ $current_value = array();
@}
-@current_value = array_map('strval', to_array($current_value));
+@if ($def['_form_counter'] < count($current_value)) {
+@ $current_value = array_map('strval', to_array($current_value[$def['_form_counter']]));
+@} else {
+@ $current_value = array_map('strval', to_array($current_value));
+@}

‚ ‚肪‚Æ‚â‚ñ‚·B

112:nobody‚³‚ñ
07/12/25 11:41:37
URLØÝ¸(ethna.jp)@ƒ_ƒƒ|
’†–ìl•œ‹Œ—Š‚ÞBƒŠƒtƒ@ƒŒƒ“ƒX‚Ý‚½‚¢‚æ[


113:nobody‚³‚ñ
08/01/09 18:52:02 I5nTeu3F
ã‚ɃƒOƒtƒ@ƒCƒ‹o—͂ɂ‚¢‚Ä‚ ‚Á‚½‚¯‚Ç
ƒƒOƒtƒ@ƒCƒ‹–¼‚ðŒÅ’è‚ł͂Ȃ­‚Ä“ú•t‚²‚Æ‚Éo‚·‚±‚Æ‚Á‚Ăł«‚È‚¢‚ñ‚Å‚·‚©H
¡ log/app.log
«
log/20080109.log
‚Ý‚½‚¢‚ÉB
‚²‘¶’m‚Ì•û‚¢‚Ü‚µ‚½‚炨Šè‚¢‚µ‚Ü‚·B

114:nobody‚³‚ñ
08/01/09 21:49:38
ini‚̃ƒOƒtƒ@ƒCƒ‹–¼‚̂Ƃ±‚ë‚ð•¶Žš—ñ‚¶‚á‚È‚­‚ÄŽ®‚É‚·‚ê‚΂¢‚¢‚ñ‚¶‚á‚ËH
‚à‚µ‚­‚ÍEthna_Plugin_Logwriter_File‚ ‚½‚è‚ðŒp³‚µ‚ēƎ©‚ÌLogwriter‚ðì‚éB


115:113
08/01/10 15:35:23
“ÆŽ©‚Åì‚邿‚¤‚É‚µ‚Ü‚µ‚½B
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B



116:nobody‚³‚ñ
08/01/23 21:01:59 vMSy4RO6
‚¨‚Ü‚¢‚炳APHP‚Í‘‚¯‚邯‚ÇEthna‚È‚ñ‚Ă܂é‚Á‚«‚è’m‚ç‚ñI‚Á‚Äó‘Ô‚©‚ç
ˆê’Ê‚èEthna‚ŃAƒvƒŠ‘‚¯‚邿‚¤‚ɂȂé‚܂łǂ̂­‚ç‚¢‚©‚©‚Á‚½H

117:nobody‚³‚ñ
08/01/23 21:35:59
>>116
PHP+MySQL‚ð’m‚ç‚È‚¢ó‘ÔAƒtƒŒ[ƒ€ƒ[ƒN‚Æ‚¢‚¤‚à‚Ì‚ª
‘¶Ý‚·‚é‚Ì‚à’m‚ç‚È‚¢ó‘Ô‚©‚çA2006/12ã{‚ɕ׋­‚ð‰‚ß‚Ä
2007/2‰º{‚Ƀ†[ƒU“o˜^Œ^‚̃T[ƒrƒX‚ð‚ЂƂ—§‚¿ã‚°‚Ü‚µ‚½B
ethna‚Ì‘¶Ý‚ð’m‚Á‚½‚Ì‚Í1ŒŽã{‚¾‚Á‚½‚©‚ÈH
•½“ú’‹ŠÔ‚͕ʂ̎dŽ–‚ð‚µ‚Ä‚½‚Ì‚ÅAì‹Æ‚Í–é{‹x“úB

Linux‚à‘fl‚¾‚Á‚½‚Ì‚ÅA‚Þ‚µ‚ë‚»‚Á‚¿‚ÌÝ’è‚Ü‚í‚è‚Å
Žæ‚ç‚ê‚½ŽžŠÔ‚Ì•û‚ª‘½‚©‚Á‚½‚©‚àB


118:nobody‚³‚ñ
08/01/24 01:44:05
S2Ethna‚ÅAS2ContainerApplicationContext::registerAspect('/Dao$/', 'dao.interceptor');@‚ðŽg‚Á‚Ä
diconƒtƒ@ƒCƒ‹‚ð쬂µ‚È‚¢‚Å‚àDI‚Å‚«‚邿‚¤‚É‚µ‚½‚¢‚ñ‚Å‚·‚ªA‚Å‚«‚½l‚¢‚Ü‚·‚©H


119:nobody‚³‚ñ
08/01/24 14:07:43
‚¢‚¢‚©‚çA¡‚©‚çEthnaŽn‚߂鉴‚ÉŽg‚¢•û‚ð‹³‚¦‚éì‹Æ‚É–ß‚é‚ñ‚¾

120:nobody‚³‚ñ
08/01/24 19:24:16
>>119
ŒöŽ®‚̃`ƒ…[ƒgƒŠƒAƒ‹‚Å‚à‚·‚ê‚ÎH


121:nobody‚³‚ñ
08/01/27 07:13:41 Ce0IXCjK
‚PCpear‚ðapt-get‚ŃCƒ“ƒXƒg[ƒ‹
‚QCpear‚Åethna‚ðƒCƒ“ƒXƒg[ƒ‹
‚RCpear‚ÅSmarty‚ðƒCƒ“ƒXƒg[ƒ‹
‚SCSmarty•t‘®‚Ìindex.php‚ðŒ©‚éŒÀ‚èSmarty‚àPHP‚à‚¿‚á‚ñ‚Æ“®‚¢‚Ä‚é
‚TCHTTP‚ÅŒöŠJ‚µ‚Ä‚¢‚éƒfƒBƒŒƒNƒgƒŠ‚Å ethna add-project B‚±‚ê‚àOK
‚UC‚»‚±‚ðƒuƒ‰ƒEƒU[‚Å”`‚­‚ÆuIndex of ƒfƒBƒŒƒNƒgƒŠ–¼v‚Æ‚©‚¢‚¤ƒƒbƒZ[ƒW‚ªo‚éB
‚VCethna‚ªì‚Á‚½ www ƒfƒBƒŒƒNƒgƒŠ‚̉º‚É‚ ‚é index.php ‚ð www ‚łȂ­
@@ƒvƒƒWƒFƒNƒg‚Æ“¯‚¶ƒfƒBƒŒƒNƒgƒŠ‚É’u‚­‚ÆA‰æ–Ê^‚Á”’BuIndex of....v‚ào‚È‚¢B


‚·‚ñ‚°[¢‚Á‚Ă܂·B”æ”y•ûA•‚¯‚Ä‚­‚¾‚³‚¢‚¨‚È‚ª‚¢‚µ‚Ü‚·B

122:nobody‚³‚ñ
08/01/27 08:14:55
index.php‚̃pƒX‘‚«Š·‚¦‚½H

123:nobody‚³‚ñ
08/01/27 08:48:45 Ce0IXCjK
>>122
/ethnaƒAƒvƒŠ/www/index.php ‚Ì‚±‚Ƃłµ‚傤‚©H
require_once‚œǂñ‚Å‚é Controller ƒNƒ‰ƒX‚ðâ‘΃pƒX‚œǂñ‚Å‚¢‚é‚̂ŕς¦‚Ä‚¢‚Ü‚¹‚ñB

124:nobody‚³‚ñ
08/01/27 23:57:46
‚ñ‚¶‚áAapache‚ÌÝ’è‚©‚ÈB
uIndex of....v‚ªo‚鎞“_‚ÅPHP—p‚Éݒ肳‚ê‚ĂȂ¢‚ñ‚¾‚낤‚µB

125:nobody‚³‚ñ
08/03/16 23:46:07 M19sLUbw
ŠJ”­”¼”N‚ÅJava‚ð‚â‚Á‚Ä‚¢‚ÄPHP‚ÌP‚ÌŽš‚à’m‚ç‚È‚¢‚Ì‚ÉA
¡T‚©‚çPHP‚ÌŽ©ŽÐŠJ”­‚Ɉø‚«–ß‚³‚ꂽ‚ñ‚¾‚ªA
Ž©•ª(19)‚æ‚è”Nã(45)‚Ì‚¨‚¶‚¿‚á‚ñ‚ªŠJ”­ŒoŒ±‚ª–³‚¢‚±‚Æ‚ª”­Šo‚µ‚½B
ƒƒ“ƒo[‚Í22‚ÌŠJ”­–¢ŒoŒ±‚Ì‚¨ŒZ‚¿‚á‚ñ‚Ì‚ÝB
‚S––‚É”[Šú....Ž€‚É‚½‚¢orz
‚Ƃ肠‚¦‚¸A
‚₳‚µ‚¢PHP(‚‹´–ƒ“Þ’˜)
PHP+MySQL(¬“‡‚Ü‚³‚²’˜)
LLƒtƒŒ[ƒ€ƒ[ƒNBOOKS
PEARƒ‰ƒCƒuƒ‰ƒŠ(²‹v“ˆ‚Ђë‚Ý’˜)
‚ð‚R“ú‚œǂñ‚¾‚ñ‚¾‚ªA
ƒRƒ“ƒgƒ[ƒ‰[‚Å
void main (string $class_name, [mixed $action_name = ""], [mixed $fallback_action_name = ""])
string $class_name: ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒRƒ“ƒgƒ[ƒ‰‚̃Nƒ‰ƒX–¼
mixed $action_name: Žw’è‚̃AƒNƒVƒ‡ƒ“–¼(È—ª‰Â)
mixed $fallback_action_name: ƒAƒNƒVƒ‡ƒ“‚ªŒˆ’è‚Å‚«‚È‚©‚Á‚½ê‡‚ÉŽÀs‚³‚ê‚éƒAƒNƒVƒ‡ƒ“–¼(È—ª‰Â)
yURLØÝ¸(ethna.jp)iˆø—pjz
string $class_nameAmixed $action_nameAmixed $fallback_action_name‚Í
‚Ç‚±‚ŃZƒbƒg‚µ‚Ä‚â‚ê‚΂¢‚¢‚̂łµ‚傤‚©AAAorz
HTML(PHP)ƒ\[ƒXã‚łǂ±‚őΉž‚·‚é‚̂łµ‚傤‚©H
ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ID‚â‚çform‚â‚çvalue‚â‚çname‚â‚çid‚â‚çclass‚â‚瓪‚ª¬—‚µ‚Ä‚«‚Ä‚µ‚Ü‚Á‚½‚æB
‚»‚µ‚Ä‚¨‚·‚·‚߂̖{‚ ‚Á‚½‚狳‚¦‚Ä‚­‚¾‚³‚¢BBB

126:nobody‚³‚ñ
08/03/17 03:38:21
‚±‚̃tƒŒ[ƒ€ƒ[ƒN‚É–¢—ˆ‚Í‚ ‚è‚Ü‚·‚©H

127:nobody‚³‚ñ
08/03/17 06:06:19
Go to symfony!

128:nobody‚³‚ñ
08/03/17 13:41:15
>>125
‚Ƃ肠‚¦‚¸
URLØÝ¸(ethna.jp)
‚±‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹‚©‚ç
‚ ‚Æmain‚Æ‚©‘‚©‚È‚­‚Ä—Ç‚¢
Ž©“®‚ŃZƒbƒg‚µ‚Ä‚­‚ê‚é‚©‚ç‚È

ƒ\[ƒX‚ɑΉž‚·‚é‚Ìview‚É‘‚­smarty‚̃tƒ@ƒCƒ‹



129:nobody‚³‚ñ
08/03/17 15:54:10 5CS1AjM2
EthnaŽg‚¢Žn‚ß‚½‚ñ‚Å‚·‚¯‚ÇAEthna‚Á‚ÄI—¹‚µ‚Ă܂·‚©H
EthnaŒöŽ®ƒTƒCƒg‚àXV‚È‚¢‚µ...

‚Æ‚±‚ë‚ÅŽ¿–â‚È‚ñ‚Å‚·‚¯‚ÇAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð’Ê‚µ‚ÄŽg‚¢‚½‚¢ƒ†[ƒU’蔂Í
‚Ç‚±‚Å’è‹`‚·‚ê‚΂¢‚¢‚̂łµ‚傤‚©H

{APPID}_Controller.php ‚É‘‚¯‚È‚ñ‚ÄŽ–‚͂Ȃ¢‚Å‚·‚æ‚ËH

130:nobody‚³‚ñ
08/03/17 23:08:03
>>129
Ethna‚ÍGree‚ª‚ ‚éŒÀ‚è‚ ‚é‚ñ‚¶‚á‚È‚¢‚©‚È
ƒ†[ƒU’è‹`‚ÍŽ©•ª‚Ńtƒ@ƒCƒ‹ì‚Á‚Ä
ƒRƒ“ƒgƒ[ƒ‰‚ŃCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚½‚©‚È‚Ÿ

131:129
08/03/18 09:20:11 ZfBa+neK
>>130
ƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

„Ethna‚ÍGree‚ª‚ ‚éŒÀ‚è‚ ‚é‚ñ‚¶‚á‚È‚¢‚©‚È

Gree‚ÍIDŽ‚Á‚Ă邯‚Ç‘S‘RƒƒOƒCƒ“‚µ‚ĂȂ¢B
‚È‚ñ‚©·‚èオ‚è‚ÉŒ‡‚¯‚é‚ñ‚Å‚·‚æ‚Ë`B

„ƒ†[ƒU’è‹`‚ÍŽ©•ª‚Ńtƒ@ƒCƒ‹ì‚Á‚Ä
„ƒRƒ“ƒgƒ[ƒ‰‚ŃCƒ“ƒNƒ‹[ƒh‚µ‚Ä‚½‚©‚È‚Ÿ

‚È‚é‚Ù‚ÇA‚»‚̎肪‚ ‚è‚Ü‚·‚ËB


132:nobody‚³‚ñ
08/03/18 09:23:30 ZfBa+neK
form ‚Å@smarty‚Ì {html_select_date} ‚Æ‚©‚ðŽg‚¢‚½‚¢‚ñ‚Å‚·‚¯‚ÇA
FORM_TYPE_DATETIME‚Æ‚©‚ł͎g‚¦‚È‚¢‚Å‚·‚æ‚ËH

--action-form--
$form = array(
'Year' => array('form_type' => FORM_TYPE_SELECT, 'option' => range(1900,2008),
'Month' => array('form_type' => FORM_TYPE_SELECT, 'option' => range(1,12),
'Day' => array('form_type' => FORM_TYPE_SELECT, 'option' => range(1,31),
);
--template--
{form_input name='Year'}{form_input name='Month'}{form_input name='Day'}


‚Æ‚©‚â‚邵‚©‚È‚¢‚ñ‚Å‚·‚©‚ËH



133:125
08/03/18 13:02:00
>>128
“Ç‚ñ‚ł݂½‚ª‰æ–Ê’PˆÊ‚ŃAƒNƒVƒ‡ƒ“ƒNƒ‰ƒX‚ð쬂·‚é‚Á‚Ä”cˆ¬‚Å‚¢‚¢‚̂łµ‚傤‚©H
‚d‚wF
ŒŸõƒ{ƒ^ƒ“A“o˜^ƒ{ƒ^ƒ“‚ª‚Æ‚à‚É‘¶Ý‚·‚鉿–Ê
E¶“kî•ñ‰æ–Ê(¶“k‚ðŒŸõA“o˜^‚ª‚Å‚«‚é)
EƒT[ƒNƒ‹“o˜^‰æ–Ê(ƒT[ƒNƒ‹‚ðŒŸõA“o˜^‚·‚é)

‚¾‚Á‚½‚ç‚»‚ꂼ‚ê‚̉æ–Ê’PˆÊ‚ŃAƒNƒVƒ‡ƒ“ƒNƒ‰ƒX‚ð쬂·‚é‚Á‚Ä‚±‚Æ‚©‚È....



“s“à‚ÅÚ‚µ‚¢•û‚¢‚½‚瑊’kæ‚Á‚Ä‚¢‚½‚¾‚¯‚邯
•‚©‚è‚Ü‚·.....
ethna77@55mail.cc

134:nobody‚³‚ñ
08/03/18 19:00:29
>>133
ƒAƒNƒVƒ‡ƒ“’PˆÊ‚ŃAƒNƒVƒ‡ƒ“ƒNƒ‰ƒX‚ð
view‚Í•K—v‚ȉæ–Ê”•ª‚¾‚¯
¶“kî•ñˆê——‚ðo‚·ƒAƒNƒVƒ‡ƒ“
¶“k‚ðŒŸõ‚·‚éƒAƒNƒVƒ‡ƒ“
¶“k‚ð“o˜^‚·‚éƒAƒNƒVƒ‡ƒ“
ƒT[ƒNƒ‹î•ñˆê——‚ðo‚·ƒAƒNƒVƒ‡ƒ“
ƒT[ƒNƒ‹‚ðŒŸõ‚·‚éƒAƒNƒVƒ‡ƒ“
ƒT[ƒNƒ‹‚ð“o˜^‚·‚éƒAƒNƒVƒ‡ƒ“

view‚Í
¶“kî•ñ‚ðo‚·view
¶“kî•ñ‚ð“o˜^‚·‚éview
ƒT[ƒNƒ‹‚ð“o˜^‚·‚éview
ƒT[ƒNƒ‹î•ñ‚ðo‚·view
“o˜^‚ ‚肪‚Æ‚¤view
‚Á‚ÄŠ´‚¶H


135:125,133‚Ìl
08/03/18 20:26:02
>>134
‚»‚¤‚Ȃ̂©I
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
Java‚̃tƒŒ[ƒ€ƒ[ƒN‚æ‚è‚æ‚è“‚¢‚Å‚·‚ËB

‚ł͂»‚̃AƒNƒVƒ‡ƒ“’PˆÊ‚Å
ƒAƒNƒVƒ‡ƒ“ƒIƒuƒWƒFƒNƒg‚ðì‚ê‚΂¢‚¢‚Á‚Ä”cˆ¬‚Å‚¢‚¢Š´‚¶‚Ȃ̂©‚ÈH
Šæ’£‚Á‚Ä‘òŽRƒrƒ…[‚‚­‚邿orz
ƒ^ƒuØ‚è‘Ö‚¦‚ŃAƒNƒVƒ‡ƒ“‚Ù‚µ‚¢‚Æ‚©‹ƒ‚«‚½‚¢‚æAƒ}ƒ}[B

136:nobody‚³‚ñ
08/03/18 20:47:52
>>135
Œð’Ê”ïž‚Ý‚Å‹à‚­‚ê‚é‚Ȃ瓌‹ž‚܂ł¢‚­‚º‚—

view‚Í‹¤’ʉ»o‚«‚éŠ‚ð‹¤’Ê‰»‚µ‚Äinclude‚µ‚ÄÄ—˜—p
‚ ‚Æaction‚Ì•û‚Ì‹¤’ʉ»‚Ímanager“™‚ðŽg‚¤

‚ñ‚ŃAƒNƒVƒ‡ƒ“‚̃IƒuƒWƒFƒNƒg“™‚̓Rƒ“ƒgƒ[ƒ‰‘¤‚ÅŸŽè‚ɶ¬‚µ‚Ä‚­‚ê‚é‚Ì‚Å
ŽÀÛ‚É컕K—v‚Ȉ—‚Ȃǂ͊eƒAƒNƒVƒ‡ƒ“‚Ìperform‚ň—‚ð
•\ަŠÖ˜A‚̈—‚ª•K—v‚ÈꇂÍviewƒNƒ‰ƒXì‚Á‚Ä
viewƒNƒ‰ƒX‚Ìpreforward‚ň—‚ð‚·‚ê‚΂¢‚¢

137:135
08/03/19 01:55:57
>>136
‚Ç@‚±@‚©@‚ç@‚­@‚é@‚ñ@‚¾‚—‚—‚—
–kŠC“¹‚Æ‚©‚¾‚Á‚½‚ç...orz
‚©‚Ág‘̂ŕ¥‚¢‚Ü‚·B
‹ß•Ó‚È‚ço‚¹‚È‚¢‚±‚Æ‚à‚È‚¢‚Å‚·B
ethna77@55mail.cc

–¾“ú‘‘¬ƒOƒO‚Á‚Ă݂éB
e؂ɂ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
Žü‚è‚Ìl‚ª‚ ‚Ü‚è‚ÉŽ©•ª‚ÌŠJ”­‚ÅEthna‚Ì–{(»²Ä)Œ©‚Ă邯‚«‚Í–Ú•t‚«‚ªƒC‚Á‚Ăñ‚킪‚Á‚Ä‚é....B
‹qæ‚o‚f‚Ȃ̂Ŏ©ŽÐ‚̃Cƒ[ƒW‚È‚ñ‚ÄA
”[‰ï‚â‚ç‹AŽÐ“ú‚®‚ç‚¢‚Å
Žá‚¢‚¾‚¯‚ÅŽÐ’·‚ׂ̗ÉÀ‚炳‚ê‚Ă邩‚ç
ƒjƒRƒjƒR‚µ‚Ă鉸‚â‚©‚Èl‚¾‚Á‚½‚炵‚¢B

138:nobody‚³‚ñ
08/03/26 00:45:59
‚b‚r‚u‚̃f[ƒ^‚Á‚Ä’Êí‚Ç‚±‚Ŷ¬‚·‚é‚à‚ÌH
‚â‚Á‚ς胔ƒ…[H

’Šo—p‚̃f[ƒ^‚ðƒAƒNƒVƒ‡ƒ“‚Ŏ󂯎æ‚Á‚ÄAƒrƒ…[‚É“n‚µ‚Äo—͂ł¢‚¢‚Ì‚©‚ÈH
ƒf[ƒ^—Ê‚ª‘½‚¢‚ÆgetAll‚Æ‚©‚·‚邯ƒƒ‚ƒŠƒI[ƒo[‚ÅŽ~‚Ü‚Á‚¿‚Ⴄ‚©‚çAppManager
‚Æ‚©Žg‚¦‚È‚¢‚æ‚ËB

View‚©‚çAppManager‚ðŒÄ‚ñ‚ÅAppManager‚©‚çCSV‚ðo—Í‚Á‚Ďד¹H


ŽŸƒy[ƒW
ÅVƒŒƒX•\ަ
ƒXƒŒƒbƒh‚ÌŒŸõ
—ÞŽ—ƒXƒŒˆê——
˜b‘è‚̃jƒ…[ƒX
‚¨‚Ü‚©‚¹ƒŠƒXƒg
¥ƒIƒvƒVƒ‡ƒ“‚ð•\ަ
‰É‚‚Ԃµ2ch

5365“ú‘O‚ÉXV/93 KB
’S“–:undef