OSDN Git Service

- now we can automatically register testcase to [Appid]_UnitTestManager which is...
[ethna/ethna.git] / CHANGES
1 * Êѹ¹ÅÀ°ìÍ÷
2
3 ** 2.5.0-dev
4
5 *** features
6
7 - Ethna¥³¥Þ¥ó¥É¤Ë°ìÈÌŪ¤Ê¥Æ¥¹¥È¥±¡¼¥¹¥³¥Þ¥ó¥É¤È¤·¤Æ add-test ¥³¥Þ¥ó¥É¤òÄɲÃ(thanks: BoBpp)
8 -- ethna add-test -s [skelname] [name] ¤Ç¼Â¹Ô¤Ç¤­¤Þ¤¹
9 -- http://blog.as-roma.com/BoBlog/index.php?itemid=1338
10 -- ¤³¤ì¤Ï¼«Æ°ÅÐÏ¿¤µ¤ì¤ë¤¿¤á¡¢[appid]_UnitTestManager ¤ËÄêµÁ¤òÄɲ乤ëɬÍפϤ¢¤ê¤Þ¤»¤ó(thanks: id:okonomi)
11 --- http://d.hatena.ne.jp/okonomi/20080408
12 - Ethna_Renderer_Rhaco¤òÄɲÃ(experimental)
13 - Ethna_DB_ADOdb¤Îdebug»þ¤Î¥í¥°½ÐÎϤòEthna¤ÎLogger¤ËÊѹ¹(@see http://d.hatena.ne.jp/sotarok/20071224)
14 - Ethna add-[|action|view]-test ¥³¥Þ¥ó¥É¤ÇÀ¸À®¤µ¤ì¤ë¥Æ¥¹¥È¥±¡¼¥¹¤¬¥Ç¥Õ¥©¥ë¥È¤Çfail¤¹¤ë¤è¤¦¤Ë²þÁ±
15 - Ethna ¤Î¥æ¥Ë¥Ã¥È¥Æ¥¹¥È¼Â¹Ô»þ¤Ë [appid]/etc/[appid]-ini.php ¤Î¥Ç¥Ð¥Ã¥°ÀßÄ꤬false¤Î¾ì¹ç¤Î¥¨¥é¡¼½èÍý¤ò²þÁ±
16 -- ¥¨¥é¡¼½èÍý¤òphp¤ËǤ¤»¤Æ²èÌ̤ò¿¿¤ÃÇò¤Ë¤¹¤ë¤Î¤Ç¤Ï¤Ê¤¯¡¢¿ÆÀڤʥ¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òɽ¼¨¤¹¤ë
17 - [action|view] ¤Î¥æ¥Ë¥Ã¥È¥Æ¥¹¥ÈÀ¸À®»þ¡¢Âбþ¤¹¤ë¥¢¥¯¥·¥ç¥ó(¥Ó¥å¡¼)¥¹¥¯¥ê¥×¥È¤¬¤Ê¤¤¾ì¹ç¤Ï·Ù¹ð¤òÀ¸À®¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£
18 - Ethna ¤Î add-[action|view] ¥³¥Þ¥ó¥É¤Ç¡¢Æ±»þ¤Ë¥æ¥Ë¥Ã¥È¥Æ¥¹¥È¤òºîÀ®¤Ç¤­¤ë¤è¤¦¤Ë¤¹¤ë¥ª¥×¥·¥ç¥ó¤òÄɲá£
19 -- ¤¿¤À¤·¡¢add-view ¥³¥Þ¥ó¥É¤Ç -t ¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢¤³¤ì¤é¤Î¥ª¥×¥·¥ç¥ó¤Ï̵»ë¤µ¤ì¤ë¡£
20 -- ethna add-[action|view] add-view [-w|--with-unittest] [-u|--unittestskel=file] [action|view]
21
22 *** bug fixes
23
24 - ethna pear-local ¥³¥Þ¥ó¥É¤Ç Ethna ¤ò [appid]/lib/ ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤È¡¢[appid]_Controller.php ¤Îinclude_path
25   ¤ÎÀßÄê¤Ë¤è¤Ã¤Æ¤Ï ethna¥³¥Þ¥ó¥É¤¬Æ°¤«¤Ê¤¯¤Ê¤ë¤Î¤ò²óÈò (thanks: sotarok)
26 -- ethna pear-local ¥³¥Þ¥ó¥É¤Ç Ethna ¤ò [appid]/lib ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¤â¡¢[appid]/bin/ethna ¤¬»È¤¨¤ë¤è¤¦¤Ë¤·¤¿¡£
27 - ÇÛÎó¤Î¥Õ¥©¡¼¥à¤òvalidate¤¹¤ëºÝ¡¢Ãͤ¬null¤À¤È¥Õ¥£¥ë¥¿¤¬Å¬ÍѤµ¤ì¤Ê¤¤¥Ð¥°¤ò½¤Àµ
28 - Ethna_Plugin_Cachemanager_Memcache ¤Ë°ú¿ô¤¬¤Ê¤«¤Ã¤¿¤¿¤á¤Ë¥×¥é¥°¥¤¥ó¸Æ¤Ó½Ð¤·¤Ë¼ºÇÔ¤·¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ(thanks sfio, ethna-users:0818)
29 - Ethna_PearWrapper¡¢Ethna_Plugin_Csrf_Session, Ethna_InfoManager Åù¤òÈùÄ´À°(thanks sfio, ethna-users:0825)
30 - form_input ¤Î default Â°À­¤¬¡¢ÆþÎÏÃͤǾå½ñ¤­¤Ç¤­¤Ê¤«¤Ã¤¿¥Ð¥°¤ò½¤Àµ(thanks sotarok, ethna-users:0836)
31 - call_user_func ¤ÎÌá¤êÃͤ¬¥ª¥Ö¥¸¥§¥¯¥È¤À¤Ã¤¿¾ì¹ç¤Ë¡¢E_NOTICE¤¬½Ð¤ëÌäÂê¤ò²óÈò(PHP 4.4¸ÂÄê) [ethna-users:0910]
32 - ActionForm ¤Î validate test ¤Î·ë²Ì¤¬¡¢¼¡¤Î¥Æ¥¹¥È¤Ë°ú¤­·Ñ¤¬¤ì¤Æ¤·¤Þ¤¦¥Ð¥°¤ò½¤Àµ(thanks: maru_cc)
33
34 ** 2.3.2
35
36 *** features
37
38 - %%[breaking B.C.]%% Ethna_UrlHandler (URL¥Ï¥ó¥É¥é) ¤ò¥×¥é¥°¥¤¥ó²½
39 -- Ethna_Plugin_Urlhandler_Default ¤òÄɲÃ
40 -- %% $action_map ¤ò App_Urlhandler ¤«¤é App_Plugin_Urlhandler_Default
41 ¤Ë°ÜÆ°¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹ %%
42 -- ¤ä¤Ã¤Ñ¤êÌᤷ¤Þ¤·¤¿¡£¥×¥é¥°¥¤¥ó¤ò¸Æ¤Ó½Ð¤·¤¿¤¤¤È¤­¤ËApp_UrlHandler¥¯¥é¥¹¤Ç»ØÄꤹ¤ë¤è¤¦¤ËÊѹ¹¡£
43 - ¥×¥é¥°¥¤¥ó¤Î¥¯¥é¥¹¤¬´û¤Ë¸ºß¤¹¤ë¾ì¹ç¤ÏÆÃÊ̤˥ե¡¥¤¥ë¤Î¸¡º÷¤ò¥¹¥­¥Ã¥×¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£
44 - Ethna_ViewClass::_getFormInput_* ¤Ç $separator ¤Î¥Ç¥Õ¥©¥ë¥È¤ò '' ¤«¤é "\n" ¤ËÊѹ¹
45 - Ethna_Controller::_trigger_XMLRPC ¤Ç $GLOBALS['HTTP_RAW_POST_DATA'] ¤ò»È¤ï¤º¤Ë 'php://input' ¤ò»È¤¦¤è¤¦¤ËÊѹ¹
46 -- php.ini ¤ÎÀßÄ꤬ÉÔÍפˤʤê¤Þ¤·¤¿¡£
47 - Ethna_MailSender
48 -- $type °ú¿ô¤ò $template ¤È rename ¤·¤Æ¡¢¤è¤êÀѶËŪ¤Ë¥Æ¥ó¥×¥ì¡¼¥È̾¤È²ò¼á¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£
49 --- $def ¤òÆä˻ØÄꤷ¤Ê¤±¤ì¤Ð ViewClass ¤Î forward_name ¤ÈƱÍͤˠtemplate/ja/mail/ °Ê²¼¤«¤é¥Æ¥ó¥×¥ì¡¼¥È¤òõ¤·¤Þ¤¹¡£
50 -- multipart: 2 ¤Ä°Ê¾å¤ÎźÉÕ¡¢¥Õ¥¡¥¤¥ë̾¤ò»ØÄꤷ¤¿ÅºÉÕ¤ËÂбþ¤·¤Þ¤·¤¿¡£
51 --- ¤¿¤À¤·¥Ç¥Õ¥©¥ë¥È¤Î content-type ¤Ï application/octet-stream ¤Ç¤´¤Þ¤«¤·¤Æ¤¤¤ë¤Î¤È¡¢ÆüËܸì¥Õ¥¡¥¤¥ë̾¤¬¤Æ¤­¤È¤¦¤Ç¤¹¡£
52 - Ethna_Renderer, Ethna_Renderer_Smarty
53 -- perform() ¤ÎÂè2°ú¿ô¤Ë $capture ¥Õ¥é¥°¤òÄɲÃ
54 -- true ¤Î¤È¤­¤Ï Smarty Åª¤Ë display ¤Ç¤Ê¤¯ fetch ¤Ë¤Ê¤ê¤Þ¤¹¡£
55 - Ethna_Util::isRootDir() ÄɲÃ
56 - ethna_make_package¤Ç.svn¤ËÂбþ
57 - Ethna_Plugin_Validator_Mbregexp¡¡Äɲà(thx: mumumu)
58 -- mb_ereg¤ò»È¤Ã¤¿¥Þ¥ë¥Á¥Ð¥¤¥ÈÂбþÀµµ¬É½¸½¥×¥é¥°¥¤¥ó
59 - Ethna_Plugin_Handle_PearLocal¡¡Äɲà
60 -- PEAR¥Ñ¥Ã¥±¡¼¥¸¤ò³Æ¥×¥í¥¸¥§¥¯¥ÈËè¤Ë´ÉÍý¤Ç¤­¤ë¥×¥é¥°¥¤¥ó
61 - View ¤Î¥æ¥Ë¥Ã¥È¥Æ¥¹¥È¤¬¤Ç¤­¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ(thx: sfio, ethna-users:0651)
62
63 *** bug fixes
64
65 - raiseError()Îà¤Î°ú¿ô¤¬´Ö°ã¤Ã¤Æ¤¤¤¿¤Î¤ò½¤Àµ (thx: sfio)
66 - ¥×¥é¥°¥¤¥ó¥Ñ¥Ã¥±¡¼¥¸¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë '{$application_id}' ¤¬ÃÖ´¹¤µ¤ì¤Ê¤¤¥Ð¥°¤ò½¤Àµ
67 - add-template ¤¬Àµ¤·¤¯Æ°ºî¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ
68 - Ethna_ViewClass::_getFormInput_Select ¤Ç multiple ¤ò¹Íθ¤·¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ
69 - Ethna_AppObject::_getSQL_SearchId ¤ÇµßºÑ¤Ë¤Ê¤Ã¤Æ¤Ê¤¤¥¨¥é¡¼¤Î¥¹¥­¥Ã¥×¤òºï½ü
70 -- Í­¸ú¤Ê key ¤¬¤Ê¤¤¤È¤­¤Ë¡¢¤É¤Á¤é¤Ë¤·¤í SQL ¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤¿
71 - OS_WINDOWS¤ÇgetAppController()¤¬Ìµ¸Â¥ë¡¼¥×¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤Î¤ò½¤Àµ
72 -- ¥ë¡¼¥È¥Ç¥£¥ì¥¯¥È¥êȽÄê¤Ë¼ºÇÔ¤·¤Æ¤¤¤¿
73 - Console_Getopt¤Ê¤É¤Î¥¢¥Ã¥×¥°¥ì¡¼¥É¤ËÂбþ
74 -- php4Âбþ¤ÎreferenceÊÖ¤·¤¬¤Ê¤¯¤Ê¤Ã¤Æ¤¤¤¿¤Î¤Ëȼ¤Ã¤ÆȯÀ¸¤·¤Æ¤¤¤¿notice¤ò²óÈò
75 - xmlrpc¤Î¥Ñ¥é¥á¡¼¥¿¤¬ActionForm¤ËÅϤäƤ¤¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ(#9845)
76 - file_type ¤Î¸¡ºº ¤¬µ¡Ç½¤·¤Ê¤¤ÌäÂê¤ò½¤Àµ
77 - MailSender¤Ç¥Æ¥ó¥×¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Ê¤¤¾ì¹ç¤ÎµóÆ°¤ò½¤Àµ
78 - MailSender¤ÎBare LF¤òCRLF¤ËÃÖ´¹(#9898, ethna-users:0588)
79 - Smarty ¤Î $script ÊÑ¿ô¤ÎÃͤ¬¡¢PATH_INFO¤ÎÃͤ¬´Þ¤Þ¤ì¤ë¤ÈÀøºßŪ¤Ë¸íÆ°ºî¤¹¤ë¥Ð¥°¤ò½¤Àµ(thx: cockok, ethna-users:0687)
80
81 ** 2.3.1
82
83 *** features
84
85 - ethna¥³¥Þ¥ó¥É¤Ç@PHP-BIN@¤¬ÃÖ´¹¤µ¤ì¤º¤Ë»Ä¤Ã¤Æ¤¤¤ë¾ì¹ç(CVSÈǤò»È¤Ã¤Æ¤¤¤ë¤È¤­¤Ê¤É)¤ËÂбþ
86 - ¥Ç¥Õ¥©¥ë¥È¥Æ¥ó¥×¥ì¡¼¥È¤Ë¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤ò¤³¤Ã¤½¤êÄɲÃ
87
88 *** bug fixes
89
90 - Mac/Windows¤Çpear·Ðͳ¤Ç¤Î¥¤¥ó¥¹¥È¡¼¥ë¤Ë¼ºÇÔ¤·¤Æ¤¤¤¿ÌäÂê¤ò²ò¾Ã
91 -- ¤¹¤Ù¤Æ¤Îrole¤òphp¤Ë¤·¤Æ¡¢ethna.{sh,bat}¤Î¤ßscript¤ò»ØÄê
92 - Ethna_ViewClass::setPlugin() ¤Ç $plugin ¤Î¸¡¾Ú¤Ë is_callable ¤ò»ÈÍÑ (ethna-users:0507)
93 - install-plugin ¤¬Àµ¤·¤¯Æ°¤¤¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ (#9582)
94 - ethna.sh¤ÇPHP¤Î¥Ñ¥¹¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤«¤Ã¤¿¤Î¤ò½¤Àµ(ethna-users:0508)
95 - Ethna_AppObject¤Ç'key'¤Î¾ò·ï¤Ëunique_key, multiple_key¤¬Ï³¤ì¤Æ¤¤¤¿¤Î¤ò½¤Àµ
96 - Ethna_ViewClass¤Ç<label id="foo">¤È¤Ê¤Ã¤Æ¤¤¤¿¤Î¤ò<label for="foo">¤Ë½¤Àµ
97
98 ** 2.3.0
99
100 *** features
101
102 - ethna¥³¥Þ¥ó¥É¤Î¥Ï¥ó¥É¥éºÆÊÔ
103 -- Á´ÈÌŪ¤Ëgetopt²½
104 --- "--basedir" ¤ÇÂоݥ¢¥×¥ê¤Î¾ì½ê¤ò»ØÄê
105 --- "--skelfile" ¤ÇÀ¸À®¸µ¤Î¥¹¥±¥ë¥È¥ó¥Õ¥¡¥¤¥ë¤ò»ØÄê
106 -- Á´¤Æ¤Îgenerator¤Ç "¥¢¥×¥ê -> EthnaËÜÂÎ" ¤Î½ç¤Ë¥¹¥±¥ë¥È¥ó¥Õ¥¡¥¤¥ë¤òõ¤¹¤è¤¦¤ËÊѹ¹
107 -- add-action-cli, add-action-xmlrpc¤òÇѻߡ¢add-action¤Ë "--gateway=www|cli|xmlrpc" ¤òÄɲÃ
108 -- add-entry-pointÄɲÃ
109 --- ethna add-entry-point --gateway=cli foo ¤Ç bin/foo.php, app/action/Foo.php ¤òÀ¸À®
110 -- pear¥³¥Þ¥ó¥É¤ò»È¤¦¥Ï¥ó¥É¥é¤Ë "--pearopt" ¤òÄɲÃ(experimental)
111 --- ethna install-plugin -p--alldeps -p--force foo bar ¤Î¤è¤¦¤Ë»ØÄꤹ¤ë
112 -- Ethna_Handle::_getopt()¤Î½ÐÎϤòÊѹ¹
113
114 - miscÄɲÃ
115 -- plugin packager¤Î¥µ¥ó¥×¥ë
116 -- ¤ª¤Þ¤±: _ethna (zsh¤ÎÊä´°´Ø¿ô)
117
118 - Smarty, PEAR_DB¤Îinclude¤Î¥¿¥¤¥ß¥ó¥°¤òÊѹ¹
119 -- É¬Í×»þ¤Ë Ethna_ClassFactory::_include() ¤ò»È¤¦¤è¤¦¤Ë¤·¤¿¡£
120
121 - Ethna_AppObject¤òpostgres, sqlite¤Ë´Ê°×Âбþ
122 -- 1¥Æ¡¼¥Ö¥ë¤Î1¥ì¥³¡¼¥É¤¬1¥ª¥Ö¥¸¥§¥¯¥È¤ËÂбþ¤¹¤ë¤è¤¦¤Êñ½ã¤Ê¥â¥Ç¥ë¤Î¤ßÂбþ
123 -- ¤Þ¤Àdb type¤´¤È¤ËÄ´À°¤¬É¬Íפˤʤ뤳¤È¤¬¤¢¤ê¤Þ¤¹¡£
124 -- pgsql¤Çsequence¤ËÂбþ
125 -- ¥Æ¡¼¥Ö¥ë̾¡¢¥«¥é¥à̾¤Î¼«Æ°quote¤ËÂбþ
126
127 - add-* ¥Ï¥ó¥É¥ëµ¡Ç½ÄɲÃ
128 -- add-template: --skelfile ¥ª¥×¥·¥ç¥ó¤ÇÀ¸À®¸µ¤Î¥¹¥±¥ë¥È¥ó¥Õ¥¡¥¤¥ë¤ò»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿
129
130 - {form_input}¥Ø¥ë¥Ñ¡¼
131 -- select, radio, checkbox¤ËÂбþ
132 -- ÁªÂò»è¤ò¥Õ¥©¡¼¥àÄêµÁ¤Ç»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿(af¤Îmethod, property, manager¤Ê¤É)
133 -- ³°Â¦¤Î{form}¥Ö¥í¥Ã¥¯¤«¤éaction̾, defaultÃͤò¼èÆÀ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿
134 -- ¥Õ¥©¡¼¥àÄêµÁ¤«¤é¤âdefaultÃͤò»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿
135
136 - Ethna_Plugin_Handle_{Install,Upgrade}Plugin ¤Ë --state ¥ª¥×¥·¥ç¥ó¤òÄɲÃ
137 - local ¤Î¥×¥é¥°¥¤¥ó¤Î prefix ¤ò App ¤ËÊѹ¹(app_id¤ÎͽÌó¸ì°·¤¤)
138
139 - Ethna_Plugin_Handle_ClearCache ÄɲÃ
140 -- ¸½¾õ smarty, pear, cachemanager_localfile, tmp°Ê²¼ÌäÅú̵ÍѤǺï½ü¡¢¤Î¤ß¤ÎÂбþ
141 - ethna_error_handler() ¤Î print ¾ò·ï¤òÊѹ¹
142 -- Logwriter ¥×¥é¥°¥¤¥ó²½¤Ëȼ¤¦ $has_echo ¾ò·ï¤Î¥Ð¥°¤ò½¤Àµ
143 -- $has_echo ¤Ë²Ã¤¨¤Æ $config->get('debug') ¤ò¸«¤ë¤è¤¦¤Ë¤·¤¿
144 - Ethna_Handle ¤Ç Ethna_Controller ¤È App_Controller ¤¬¶¦Â¸¤¹¤ë¾ì¹ç¤Î°·¤¤¤¬º®Í𤷤Ƥ¤¤¿¤Î¤òÀ°Íý
145 - Ethna_Hanlde ¤Ë mkdir(), chmod(), purgeDir() ¤òÄɲÃ
146 - Cachemanager ¥×¥é¥°¥¤¥óÃæ¤Î PEAR::raiseError() ¤ò Ethna::raiseError() ¤ËÊѹ¹
147 - Ethna_Logger ¤Ç Ethna_Config ¥ª¥Ö¥¸¥§¥¯¥È¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤¿¤È¤­¤Î½èÍý¤ò½¤Àµ
148 - ethna {install,uninstall,upgrade}-plugin ¤Ç skel ¤«¤é generate ¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¤Î¾å½ñ¤­³Îǧ¤òÇÑ»ß
149
150 - Ethna_Plugin_Handle_ListPlugin
151 -- ¥Ñ¥Ã¥±¡¼¥¸´ÉÍý¤Ë·¸¤ï¤é¤º¥×¥é¥°¥¤¥ó¤Î°ìÍ÷¤òɽ¼¨
152 -- ¥Ñ¥Ã¥±¡¼¥¸´ÉÍý²¼¤Ë¤¢¤ë¤È¤­¤Ï¥Ñ¥Ã¥±¡¼¥¸Ì¾¤È¥Ð¡¼¥¸¥ç¥ó¤òɽ¼¨
153 - Ethna_Plugin_Handle_UpgradePlugin, Ethna_Plugin_Handle_ChannelUpdate
154 -- ¥×¥é¥°¥¤¥ó¥Ñ¥Ã¥±¡¼¥¸¤Îupgrade, pear channel¤Îupdate¤ËÂбþ
155 -- http://pear.server/get/Package-1.2.3.tgz ¤Î¤è¤¦¤Êinstall, upgrade¤ËÂбþ
156 - PearWrapper, Ethna_Handle¤Ç¤Î¥Ç¥Õ¥©¥ë¥È¥¿¡¼¥²¥Ã¥È(local¤«master¤«)¤òlocal¤ËÊѹ¹¡¢Åý°ì
157 - Ethna_Plugin_Handle_{Install,Uninstall,Info,List}Plugin
158 -- master, local¤Î¥Ï¥ó¥É¥é¤òʬ¤±¤Æ¤¤¤¿¤Î¤òÅý¹ç
159 -- ¥À¥¦¥ó¥í¡¼¥ÉºÑ¤ß¤Î tgz ¤ËÂбþ
160 -- Console_GetOpt ¤Ç --channel, --basedir, --local, --master ¤Î¥ª¥×¥·¥ç¥ó¤òÄɲÃ
161 -- new PEAR_Error() »þ¤Î error handler ¤ò callback($ui, 'displayFatalError') ¤ËÊѹ¹
162
163 - Ethna_UrlHandler¥¯¥é¥¹¤òÄɲÃ(¥¹¥Æ¥­urlÂбþ)
164 - Smarty¥×¥é¥°¥¤¥ó´Ø¿ôsmarty_function_urlÄɲÃ
165 - Ethna_AppObject¤«¤é¤Î¥Õ¥©¡¼¥àÄêµÁÀ¸À®¥µ¥Ý¡¼¥ÈÄɲÃ
166 -- [2006/08/23] ·ã¤·¤¯¦Á
167 - Ethna_ClassFactory::getObject()¤Ç¥¯¥é¥¹ÄêµÁ¤Ë̵¤¤¥­¡¼¤¬ÅϤµ¤ì¤¿¾ì¹ç¤ÏEthna_AppObject()¤Î¥­¡¼¤Ç¤¢¤ë¤È²¾Äꤷ¤Æ¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®
168 - ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¹¥±¥ë¥È¥óÀ¸À®»þ¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¸ÇÍ­¤ÎActionClass, ActionForm, ViewClass¤âÀ¸À®¤¹¤ë¤è¤¦¤ËÊѹ¹
169 - Ethna_SkeltonGenerator¥¯¥é¥¹¤òEthna_Generator¥¯¥é¥¹¤Ë̾¾ÎÊѹ¹
170 - Ethna_SkeltonGenerator¥¯¥é¥¹¤Î³Æ¥á¥½¥Ã¥É¤ò¥×¥é¥°¥¤¥ó²½
171 - Ethna_Config::get()¤Ç°ú¿ô¤ò»ØÄꤷ¤Ê¤¤¤ÈÁ´ÀßÄê¤ò³ÊǼ¤·¤¿ÇÛÎó¤òÊÖ¤¹¤è¤¦¤ËÊѹ¹
172 - Ethna_ViewClass::_getTemplateEngine()¤ÇÀßÄêÃͤò³ÊǼ¤·¤¿$config¥Æ¥ó¥×¥ì¡¼¥ÈÊÑ¿ô¤òÀßÄꤹ¤ë¤è¤¦¤ËÊѹ¹
173 - Ethna¤Î¥Ñ¥Ã¥±¡¼¥¸¥·¥¹¥Æ¥à¤òÄɲÃ
174 -- ethnaÍѤÎpear channel¤«¤é¥×¥é¥°¥¤¥ó¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥¤¥ó¥¹¥È¡¼¥ë¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹
175 -- Ethna_PearWrapper, Ethna_Plugin_Handle_{Install,Info,List,Uninstall}_Plugin_{Master,Local}¤òÄɲÃ
176 -- local: ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó(¥×¥í¥¸¥§¥¯¥È)¤Î¥Ç¥£¥ì¥¯¥È¥ê¡¢master: EthnaËÜÂΤΤ¢¤ë¥Ç¥£¥ì¥¯¥È¥ê¤Î¥¤¥á¡¼¥¸¤Ç¤¹
177 -- PearWrapper¤Ïethna¥³¥Þ¥ó¥É(Handle)¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë¤³¤È¤¬Á°Äó
178 -- Ethna_SkeltonGenerator¤Ë¤¢¤Ã¤¿¥á¥½¥Ã¥É¤òEthna_Handle¤Ë°ÜÆ°¡¢¾¯¤·ÄɲÃ
179
180 - ¥¨¥é¡¼¥Ï¥ó¥É¥ê¥ó¥°Êý¿Ë¤ò¿¾¯Êѹ¹
181 -- @±é»»»Ò¤ò»È¤Ã¤¿¥¨¥é¡¼ÍÞÀ©¤òÇÑ»ß
182
183 - [breaking B.C.] Ethna_ClassFactory¤Î¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°
184 -- Ethna_Backend::getObject()¥á¥½¥Ã¥É¤òÄɲä·¤Þ¤·¤¿
185 -- ¤³¤ì¤Ë¤è¤ê¡¢Ethna_Controller¤Î$class¥á¥ó¥Ð¤Ë
186  $class = array(
187    // ...
188    'user' => 'Some_Foo_Bar',
189  ),
190 ¤Èµ­½Ò¤¹¤ë¤³¤È¤Ç
191  $user =& $this->backend->getObject('user');
192 ¤È¤·¤ÆSome_Foo_Bar¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò¼èÆÀ¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹
193 -- ¥¯¥é¥¹ÄêµÁ¤¬¸«¤Ä¤«¤é¤Ê¤¤¾ì¹ç¤Ï²¼µ­¤Î½ç¤Ç¥Õ¥¡¥¤¥ë¤òõ¤·¤Ë¹Ô¤­¤Þ¤¹(include_path)
194 +++ Some_Foo_Bar.php (¤½¤Î¤Þ¤Þ)
195 +++ Foo/Some_Foo_Bar.php (Ethna style)
196 +++ Foo/Bar.php (Ethna & PEAR style)
197 +++ Some/Foo/Bar.php (PEAR style)
198 -- ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥Þ¥Í¡¼¥¸¥ã¤ÎÀ¸À®¤âEthna_ClassFactory¤Ç¹Ô¤ï¤ì¤Þ¤¹(Ethna_ClassFactory::getManager()¤¬Äɲ䵤ì¤Æ¤¤¤Þ¤¹)
199 -- ¤³¤ì¤Ëȼ¤¤¡¢¡Á2.1.x¤Ç¤Ï¥³¥ó¥È¥í¡¼¥é¥¯¥é¥¹¤Ë
200  $manager = array(
201    'um' => 'User',
202  );
203 ¤Î¤è¤¦¤Ëµ­½Ò¤µ¤ì¤Æ¤¤¤ë¤È¡¢Ethna_ActionClass¡¢Ethna_ViewClass¡¢Ethna_AppObject¡¢Ethna_*Manager¤Ç
204  $this->um
205 ¤È¤·¤Æ¥Þ¥Í¡¼¥¸¥ã¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Æ¤¤¤¿¤Î¤Ç¤¹¤¬¡¢¤³¤Îµ¡Ç½¤¬Çѻߤµ¤ì¤Æ¤¤¤Þ¤¹(ÉÔɾ¤Ê¤éÌᤷ¤Þ¤¹@preview2)
206 - Ethna_Plugin_Logwriter_File::begin()¤Ç¥í¥°¥Õ¥¡¥¤¥ë¤Î¥Ñ¡¼¥ß¥Ã¥·¥ç¥ó¤òÀßÄꤹ¤ë¤è¤¦¤ËÊѹ¹
207 - ¥Ï¡¼¥É¥¿¥Ö -> ¥½¥Õ¥È¥¿¥Ö
208 - test runner¤ÎÄɲÃ
209 - [breaking B.C.] Ethna_Logger¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°
210 -- Ethna_LogWriter¤Î¥×¥é¥°¥¤¥ó²½
211 -- ¥«¥ó¥Þ¶èÀÚ¤ê¤Ç¤ÎÊ£¿ô¥Õ¥¡¥·¥ê¥Æ¥£¥µ¥Ý¡¼¥È
212 -- _getLogWriter()¥¯¥é¥¹¤ò¥ª¡¼¥Ð¡¼¥é¥¤¥É¤·¤Æ¤¤¤ëÊý¤Ë±Æ¶Á¤¬¤¢¤ê¤Þ¤¹(2.3.0°Ê¹ß¤ÏPlugin/Logwriter°Ê²¼¤ËLogwriter¥¯¥é¥¹¤òÃÖ¤¤¤Æ¡¢¥Õ¥¡¥·¥ê¥Æ¥£¤Ç¤½¤Î̾Á°¤ò»ØÄꤹ¤ì¤ÐǤ°Õ¤ÎLogwriter¤òÄɲòÄǽ¤Ç¤¹)
213 - [breaking B.C.] Ethna_RendererÄɲÃ
214 -- ¡Á2.1.x¤Ç¤ÏľÀÜ°·¤Ã¤¤¤Æ¤¿¥Æ¥ó¥×¥ì¡¼¥È¥¨¥ó¥¸¥ó¥ª¥Ö¥¸¥§¥¯¥È¤òEthna_Renderer¥¯¥é¥¹¤Çwrap¤·¤Þ¤·¤¿
215 -- Ethna_Controller::getTemplateEngine()¤Ïobsolete¤È¤Ê¤ê¤Þ¤¹¤Î¤Çº£¸å¤ÏEthna_Controller::getRenderer()¤ò¤´ÍøÍѤ¯¤À¤µ¤¤
216 -- Ethna_Controller::_setDefaultTemplateEngine(), Ethna_View::_setDefault(), Ethna_Controller::getTemplateEngine()¤Î°ú¿ô¡¢Ìá¤êÃͤÏ2.1.x¤Þ¤Ç¤ÎSmarty¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ï¤Ê¤¯Ethna_Renderer¥ª¥Ö¥¸¥§¥¯¥È¤È¤Ê¤ê¤Þ¤¹
217 -- ¤³¤ì¤Ëȼ¤¤¡¢Ethna_Controller::_setDefaultTemplateEngine(), Ethna_Controller::getTemplateEngine()¤òÍøÍѤ·¤Æ¤¤¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¥¢¥Ã¥×¥Ç¡¼¥È»þ¤ËEthna_Renderer::getEngine()¤òÍøÍѤ·¤Æ¸åÊý¸ß´¹À­¤ò°Ý»ý¤¹¤ë¤è¤¦¤ËÊѹ¹¤¬É¬ÍפȤʤê¤Þ¤¹
218  e.g.
219  $smarty =& $this->controller->getTemplateEngine();
220  ¢ª
221  $renderer =& $this->controller->getTemplateEngine();
222  $smarty =& $renderer->getEngine();
223 - ¥×¥é¥°¥¤¥ó¥·¥¹¥Æ¥àÄɲÃ(w/ Ethna_Plugin¥¯¥é¥¹)
224 -- Ethna_Handle, Ethna_CacheManager, Ethna_LogWriter¤ò¥×¥é¥°¥¤¥ó¥·¥¹¥Æ¥à¤Ë°Ü¹Ô
225 -- Ethna_ActionForm¤Î¥Ð¥ê¥Ç¡¼¥¿¤ò¥×¥é¥°¥¤¥ó¥·¥¹¥Æ¥à¤Ë°Ü¹Ô(Ethna_ActionForm::use_validator_plugin¤¬true¤Î¤È¤­¤Î¤ß)
226 -- see also
227 --- http://ethna.jp/ethna-document-dev_guide-plugin.html
228 --- http://ethna.jp/ethna-document-dev_guide-form-validate_with_plugin.html
229 - ethna¥³¥Þ¥ó¥É¤Ë¥¢¥¯¥·¥ç¥ó̾¡¢¥Ó¥å¡¼Ì¾¤Î¥Á¥§¥Ã¥¯½èÍý¤òÄɲÃ(Ethna_Controller::checkActionName(), Ethna_Controller::checkViewName()¤òÄɲÃ)
230 - Ethna_CacheManager_Memcache(¥­¥ã¥Ã¥·¥å¥Þ¥Í¡¼¥¸¥ã¤Îmemcache¥µ¥Ý¡¼¥È)ÄɲÃ
231 - Ethna_Session¤Ëregenerate_id¥á¥½¥Ã¥É¤ÎÄɲÃ
232 - Ethna_Plugin_Csrf(CSRFÂкö¥³¡¼¥É)ÄɲÃ
233
234
235
236 *** bug fixes
237
238 - [[#9009>http://sourceforge.jp/tracker/index.php?func=detail&aid=9009&group_id=1343&atid=5092]](%sÅù¤¬¤¢¤ëSQL¤òEchoLogger¤ÇDebug¤¹¤ë¤ÈWarning)
239 - ¥¢¥¯¥·¥ç¥óÄêµÁ¤Îform_path¤¬Àµ¤·¤¯Æ°ºî¤·¤Æ¤¤¤Ê¤«¤Ã¤¿ÌäÂê¤ò½¤Àµ
240 - ¥³¥ó¥È¥í¡¼¥é¤¬Ê£¿ô¤¢¤ë¤È¤­¤Ëset_error_handler()¤¬²¿ÅÙ¤â¼Â¹Ô¤µ¤ì¤ë¤Î¤ò²óÈò
241 - CacheManager_Localfile¤Î@stat¤Ç¤ÎWARNING¤ò²óÈò
242 - Ethna_Plugin_Validator_Custom¤Ç¥¨¥é¡¼¤¬2½ÅÅÐÏ¿¤µ¤ì¤Æ¤¤¤¿¤Î¤ò½¤Àµ
243 - ¥×¥é¥°¥¤¥ó¤Î¿Æ¥¯¥é¥¹¤¬¤Ê¤¤¤È¤­¤Ë¥¨¥é¡¼¤Ë¤Ê¤Ã¤Æ¤¤¤¿¤Î¤ò½¤Àµ
244 - Ethna_DB_PEAR, Ethna_AppObject¤ÎWARNING¤ò²óÈò([ethna-users:0383])
245 - Windows¤Ç¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î.ethna¥Õ¥¡¥¤¥ë¤¬»²¾È¤µ¤ì¤Ê¤¤ÌäÂê¤ò½¤Àµ
246 - session_start¤·¤Æ¤¤¤Ê¤¤¤Èrestore¥á¥½¥Ã¥É¤¬¤¦¤Þ¤¯Æ°¤«¤Ê¤¤ÌäÂê¤ò½¤Àµ
247 - ethna¥³¥Þ¥ó¥É¤Ë¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¥ª¥×¥·¥ç¥ó¤Î¤ß¤ò»ØÄꤷ¤Æµ¯Æ°¤·¤¿¾ì¹ç(ethna -h¤Ê¤É)¤ËFatal Error¤È¤Ê¤ëÌäÂê¤ò½¤Àµ
248 - Ethna_Backend::getDB¤ÎNotice¥¨¥é¡¼¤ò½¤Àµ
249 - ¥­¥ã¥Ã¥·¥å¥Þ¥Í¡¼¥¸¥ã¤Î¥¨¥é¡¼¥³¡¼¥É¤¬256°Ê¾å(¥¢¥×¥ê¥±¡¼¥·¥ç¥óÍÑ)¤Ë¤Ê¤Ã¤Æ¤¤¤¿ÌäÂê¤ò½¤Àµ
250 - ethna add-action-test¤·¤¿¤È¤­¤Ë¥Õ¥¡¥¤¥ë¤¬app/action_cli¤ËÀ¸À®¤µ¤ì¤Æ¤·¤Þ¤¦ÌäÂê¤ò½¤Àµ
251 - Ethna_SkeltonGenerator¥¯¥é¥¹¤Îtypo¤ò½¤Àµ(proejct -> project)
252 - Ethna_ActionForm¤Ç¥×¥é¥°¥¤¥ó¤ò»È¤ï¤Ê¤¤¤È¤­¤Ë¥Õ¥£¥ë¥¿¤¬µ¡Ç½¤·¤Ê¤¤¥Ð¥°¤ò½¤Àµ
253
254
255 ** [2006/06/07] 2.1.2
256
257 *** bug fixes
258
259 - Ethna_Controller::getActionRequest()¥á¥½¥Ã¥É¤Î¥Ç¥Õ¥©¥ë¥È¾õÂ֤ο¶Éñ¤¤¤ò½¤Àµ
260
261
262 ** [2006/06/07] 2.1.1
263
264 *** bug fixes
265
266 - ethna.bat¤Î¥Ñ¥¹¤ò½¤Àµ
267
268 ** [2006/06/06] 2.1.0
269
270 *** features
271
272 - ethna¥³¥Þ¥ó¥É¤ÎETHNA_HOME¤ò¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë·èÄꤹ¤ë¤è¤¦¤Ë²þÁ±
273 - Ethna_ActionForm::validate() ¤Ç¿¼¡¸µÇÛÎó¤¬ÅϤµ¤ì¤¿¤È¤­¤Înotice¤ò²óÈò
274 - Ethna_Backend::setActionForm(), Ethna_Backend::setActionClass()¥á¥½¥Ã¥É¤òÄɲÃ
275 - Ethna_Filter¤Î¥¹¥±¥ë¥È¥ó¤ËpreActionFilter()/postActionFilter()¤òÄɲÃ
276 - Ethna_AppObject::_getPropDef()¤Ë¥­¥ã¥Ã¥·¥å½èÍý¤òÄɲÃ
277 - Ethna_CacheManager¥¯¥é¥¹¤òÄɲÃ(w/ localfile) - from GREE:)
278 - Ethna_DB::getDSN()¥á¥½¥Ã¥É¤òÄɲÃ
279 - ini¥Õ¥¡¥¤¥ë¤Î¥¹¥±¥ë¥È¥ó¤Ëdsn¥µ¥ó¥×¥ëÄɲÃ
280 - add-template¥³¥Þ¥ó¥ÉÄɲÃ(by nnno)
281 - add-project»þ¤Î¥Ç¥Õ¥©¥ë¥È¥Æ¥ó¥×¥ì¡¼¥È¥Ç¥¶¥¤¥ó¤òÊѹ¹
282 - ethna¥³¥Þ¥ó¥É¤Ë-v(--version)¥ª¥×¥·¥ç¥ó¤òÄɲÃ
283 - smarty_modifier_select(), smarty_function_select()¤Î"selected"°À­¤ÎxhtmlÂбþ(selected="true")
284 - {form_name}, {form_input}¥×¥é¥°¥¤¥óÄɲÃ(·ã¤·¤¯experimental¤È¤¤¤¦¤«ongoing)
285 - Ethna_ViewClass¤Çhelper¥¢¥¯¥·¥ç¥ó¥Õ¥©¡¼¥àÂбþ
286 -- Ethna_ViewClass->helper_action_form = array('some_action_name' => null, ...)¤È¤¹¤ë¤È{form_name}¤È¤«¤Ç»È¤¨¤Þ¤¹
287 - [breaking B.C.] Ethna_ActionClass¤Îpreforward()¥µ¥Ý¡¼¥È(¤à¤«¡¼¤·¤Î¥³¡¼¥É¤Ë¤¢¤ê¤Þ¤·¤¿¤Î¤Ç¤¹)ºï½ü
288 - (¤×¤Á)¾Ê¥¨¥Í¥Ö¥í¥Ã¥¯¥×¥é¥°¥¤¥ó{form}...{/form}ÄɲÃ
289 -- ethna_action°ú¿ô¤âÄɲÃ(¾¡¼ê¤Ëhidden¥¿¥°À¸À®)
290 - Ethna_Controller¤Ë$smarty_block_plugin¥×¥í¥Ñ¥Æ¥£¤òÄɲÃ
291 - ethna¥³¥Þ¥ó¥É¤Ëadd-action-cli¤òÄɲÃ
292 - [breaking B.C.] main_CLI¤Î¥¢¥¯¥·¥ç¥óÄêµÁ¥Ç¥£¥ì¥¯¥È¥ê¤òaction_cli¤ËÊѹ¹
293 -- controller¤Îdirectory¥×¥í¥Ñ¥Æ¥£¤Ë'bin'Í×ÁǤòÄɲÃ
294 - ethna¥³¥Þ¥ó¥É¤Ëadd-app-manager¤òÄɲÃ(thanks butatic)
295 - Ethna_ActionForm ¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥° (by ¤¤¤Á¤¤)
296 -- $this->form ¤Î¾ÊάÃÍÊäÀµ¤ò setFormVars() ¤«¤é¥³¥ó¥¹¥È¥é¥¯¥¿¤Ë°ÜÆ°
297 -- ¥Õ¥©¡¼¥àÃͤΥ¹¥«¥é¡¼/ÇÛÎó¥Á¥§¥Ã¥¯¤ò setFormVars() ¤Ç¤¹¤ë¤è¤¦¤ËÊѹ¹
298 --- vaildate() ¤¹¤ëÁ°¤Ë setFormVars() ¤Ç¥¨¥é¡¼ (handleError()) ¤¬È¯À¸¤¹¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹
299 -- ¥Õ¥©¡¼¥àÃͤΥ¹¥«¥é¡¼/ÇÛÎó¥Á¥§¥Ã¥¯¤Ç¥Õ¥©¡¼¥àÃÍÄêµÁ¤È°Û¤Ê¤ë¾ì¹ç¤Ï null ¤Ë¤¹¤ë
300 -- ¥Õ¥¡¥¤¥ë¥Ç¡¼¥¿¤ÎºÆ¹½À®¤ò¾ï¤Ë¹Ô¤¦¤è¤¦¤ËÊѹ¹
301 -- ¥Õ¥©¡¼¥àÃÍÄêµÁ¤¬ÇÛÎó¤Ç required, max/min ¤ÎÀßÄ꤬¤¢¤ë¾ì¹ç¤Î¥Ð¥°¤ò½¤Àµ
302 -- _filter_alnum_zentohan() ¤òÄɲà(mb_convert_kana($value, "a"))
303 - XMLRPC¥²¡¼¥È¥¦¥§¥¤¤ËfaultCode¥µ¥Ý¡¼¥È¤òÄɲÃ
304 -- action¤ÇEthna_Error(¤¢¤ë¤¤¤ÏPEAR_Error)¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤¹¤È¥¨¥é¡¼¤òÊÖ¤»¤Þ¤¹
305 - XMLRPC¥²¡¼¥È¥¦¥§¥¤¥µ¥Ý¡¼¥ÈÄɲÃ(experimental)
306 -- ethna add-action-xmlrpc [action]¤ÇXMLRPC¥á¥½¥Ã¥É¤òÄɲòÄǽ
307 -- °ú¿ô1¤Ä¤È¥Õ¥©¡¼¥àÄêµÁ1¤Ä¤¬ÄêµÁ½ç¤ËÂбþ¤·¤Þ¤¹
308 -- ToDo
309 --- ½ÐÎϥХåե¡¥Á¥§¥Ã¥¯
310 --- method not found¤Ê¤É¥¨¥é¡¼½èÍýÂбþ
311 - Ethna_ActionForm¥¯¥é¥¹¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¤ÇsetFormVars()¤ò¼Â¹Ô¤·¤Ê¤¤¤è¤¦¤ËÊѹ¹
312 - ¥¹¥±¥ë¥È¥ó¤Ë´Þ¤Þ¤ì¤ë'your name'¤ò¥Þ¥¯¥í({$author})¤ËÊѹ¹(~/.ethnaÂбþ)
313 - ¤Ê¤²¤ä¤êÊØÍø´Ø¿ôfile_exists_ex(), is_absolute_path()¤òÄɲÃ
314 - SimpleTest¤È¤ÎÏ¢·Èµ¡Ç½¤òÄɲÃ(ethna¥³¥Þ¥ó¥É¤Ëadd-action-test,add-view-test¤ÎÄɲäʤÉ)
315 -- SimpleTest¤Î¥¤¥ó¥¹¥È¡¼¥ë¥Á¥§¥Ã¥¯¤òÄɲÃ
316 - package.xmlÀ¸À®¥¹¥¯¥ê¥×¥È²þÁ±(ethna¥³¥Þ¥ó¥É¥¤¥ó¥¹¥È¡¼¥ëÂбþ¤Ê¤É)
317 - Haste_ADOdb, Haste_Creole¥Þ¡¼¥¸(from Haste Project by halt¤µ¤ó)
318 - Ethna_AppObject¥¯¥é¥¹¤Î¥Æ¡¼¥Ö¥ë/¥×¥í¥Ñ¥Æ¥£ÄêµÁ¼«Æ°À¸À®¥µ¥Ý¡¼¥ÈÄɲÃ(from generate_app_object originally by °æ¾å¤µ¤ó+halt¤µ¤ó)
319 - Ethna_Controller::getAppdir()¥á¥½¥Ã¥É¤òÄɲÃ
320 - Ethna_Controller::getDBType()¤Î°ú¿ô¤¬null¤À¤Ã¤¿¾ì¹ç¤ËÄêµÁ°ìÍ÷¤òÊÖ¤¹¤è¤¦¤ËÊѹ¹
321 - ethna¥³¥Þ¥ó¥É¥é¥¤¥ó¥Ï¥ó¥É¥é¤òÄɲÃ(+¥Ï¥ó¥É¥é¤òpluggable¤Ë+add-view¤Ç¥Æ¥ó¥×¥ì¡¼¥ÈÀ¸À®¥µ¥Ý¡¼¥È)¡Ýplease cp bin/ethna to /usr/local/bin or somewhere
322  generate_project_skelton.php -> ethna add-project
323  generate_action_script.php   -> ethna add-action
324  generate_view_script.php     -> ethna add-view
325  generate_app_object.php      -> ethna add-app-object
326 - [breaking B.C.] client_type¤òÇѻߠ-> gatewayÄɲÃ
327 -- CLIENT_TYPEÄê¿ôÇÑ»ß
328 -- Ethna_Controller::getClientType(), Ethna_Controller::setClientType()ÇÑ»ß
329 -- Ethna_Controller::setCLI()/Ethna_Controller::getCLI() -> obsolete
330 -- GATEWAYÄê¿ôÄɲÃ(GATEWAY_WWW, GATEWAY_CLI, GATEWAY_XMLRPC, GATEWAY_SOAP)
331 -- Ethna_Controller::setGateway()/Ethna_Controller::getGateway()ÄɲÃ
332 -- ºî¤ê¤«¤±¤ÎAMF¥²¡¼¥È¥¦¥§¥¤¥µ¥Ý¡¼¥È¤ò(°ìö)ÇÑ»ß
333 - Ethna_SkeltonGenerator::_checkAppId()¤òEthna_Controller::checkAppId()¤Ë°ÜÆ°
334 - generate_app_object¤òÄɲÃ
335 - ¥¯¥é¥¹¤Î¥á¥½¥Ã¥É¤âSmartyFunction¤È¤·¤ÆÅÐÏ¿¤Ç¤­¤ë¤è¤¦¤Ë½¤Àµ
336
337 *** bug fixes
338
339 - [[#8435>http://sourceforge.jp/tracker/index.php?func=detail&aid=8435&group_id=1343&atid=5092]](Ethna_AppObject prop_def[]['seq']¤¬Ì¤ÀßÄê)
340 - [[#8079>http://sourceforge.jp/tracker/index.php?func=detail&aid=8079&group_id=1343&atid=5092]](Filter¤ÇBackend¤ò¸Æ¤Ö¤ÈActionForm¤ÎÃͤ¬¶õ¤Ë¤Ê¤ë)
341 - [[#8200>http://sourceforge.jp/tracker/index.php?func=detail&aid=8200&group_id=1343&atid=5092]](PHP5.1.0°Ê¹ß¤Çaf¤Îvalidate()¤ÇÆüÉÕ¥Á¥§¥Ã¥¯¤¬¸ú¤«¤Ê¤¤)
342 - [[#8179>http://sourceforge.jp/tracker/index.php?func=detail&aid=8179&group_id=1343&atid=5092]](getManager¤ÎÌá¤êÃͤ¬»²¾ÈÅϤ·¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤¤)
343 - [[#8400>http://sourceforge.jp/tracker/index.php?func=detail&aid=8400&group_id=1343&atid=5092]](AppObject prop_def[]['form_name']¤¬NULL)
344 - [[#7751>http://sourceforge.jp/tracker/index.php?func=detail&aid=7751&group_id=1343&atid=5092]](SAFE_MODE¤Çmail´Ø¿ô¤ÎÂ裵°ú¿ô¤¬¤¢¤ë¤ÈWaning)¤ò½¤Àµ
345 - [[#8496>http://sourceforge.jp/tracker/index.php?func=detail&aid=8496&group_id=1343&atid=5092]](Ethna_AppObject.phpÆâ¤Îtypo)¤ò½¤Àµ
346 - [[#8387>http://sourceforge.jp/tracker/index.php?func=detail&aid=8387&group_id=1343&atid=5092]](checkMailaddress¤ächeckURL¤ÇNotice)¤ò½¤Àµ
347 - [[#8130>http://sourceforge.jp/tracker/index.php?func=detail&aid=8130&group_id=1343&atid=5092]](Notice¤Ä¤Ö¤·)¤ò½¤Àµ
348 - typo fixed (aleady -> already)
349 - [[#7717>http://sourceforge.jp/tracker/index.php?func=detail&aid=7717&group_id=1343&atid=5092]](Ethna_AppObject::add()¤ÇNotice)¤ò½¤Àµ
350 - [[#7664>http://sourceforge.jp/tracker/index.php?func=detail&aid=7664&group_id=1343&atid=5092]](Ethna_AppObject¤Î¥Ð¥°)¤ò½¤Àµ
351 - [[#7729>http://sourceforge.jp/tracker/index.php?func=detail&aid=7729&group_id=1343&atid=5092]](ethna_info¤¬Firefox¤À¤È¤º¤ì¤ë)¤ò½¤Àµ
352
353 - (within beta) ethna_handle.php¤¬ÌµÍѤËob_end_clean()¤¹¤ëÌäÂê¤ò½¤Àµ
354 - (within beta) ethna add-view¤Ç¥×¥í¥¸¥§¥¯¥È¥Ç¥£¥ì¥¯¥È¥ê¤ò»ØÄꤷ¤¿¾ì¹ç¤ËÀµ¤·¤¯¥Õ¥¡¥¤¥ë¤¬À¸À®¤µ¤ì¤Ê¤¤ÌäÂê¤ò½¤Àµ
355 - (within beta) WindowsÈǤÎethna¥³¥Þ¥ó¥É¤¬¥Ñ¥Ã¥±¡¼¥¸¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿¾ì¹ç¼Â¹Ô¤Ç¤­¤Ê¤¤ÌäÂê¤ò½¤Àµ
356 - (within beta) ActionForm¤ÎÇÛÎó¤Î¥Õ¥©¡¼¥àÃͤ¬Ç˲õ¤µ¤ì¤ëÌäÂê¤ò½¤Àµ(by sfio¤µ¤ó)
357
358
359 ** [2006/01/29] 0.2.0
360
361 *** features
362
363 - Ê¸»úÎó¤Îmin/max¥¨¥é¡¼¤Î¥Ç¥Õ¥©¥ë¥È¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤ò½¤Àµ
364 - ¥Õ¥©¡¼¥àÃÍÄêµÁ¤Ë¥«¥¹¥¿¥à¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤òÄêµÁ¤Ç¤­¤ë¤è¤¦¤ËÊѹ¹
365 - Ethna_Controller::main_CLI()¥á¥½¥Ã¥É¤Ë¥Õ¥£¥ë¥¿¤ò̵¸ú²½¤µ¤»¤ë¥ª¥×¥·¥ç¥ó¤òÄɲÃ
366 - Ethna_ActionForm¥¯¥é¥¹¤Î¥Õ¥©¡¼¥àÃÍÄêµÁ¤ò¥À¥¤¥Ê¥ß¥Ã¥¯¤ËÊѹ¹½ÐÍè¤ë¤è¤¦¤Ë½¤Àµ
367 - Ethna_ActionForm¥¯¥é¥¹¤Î¥Õ¥©¡¼¥àÃÍÄêµÁ¤Ë¥Æ¥ó¥×¥ì¡¼¥Èµ¡Ç½¤òÄɲÃ
368 - Ethna_Backend::getActionClasss()¥á¥½¥Ã¥É¤ÎÄɲÃ(¼Â¹ÔÃæ¤Î¥¢¥¯¥·¥ç¥ó¥¯¥é¥¹¤ò¼èÆÀ)
369 - ~/.ethna¥Õ¥¡¥¤¥ë¤Ë¤è¤ë¥æ¡¼¥¶ÄêµÁ¥¹¥±¥ë¥È¥ó¥Þ¥¯¥í¤ÎÄɲÃ
370 - smarty_function_select¤Ë$empty°ú¿ô¤òÄɲÃ
371 - mb_*¤ÎÊÑ´¹¸µ¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò¡¢EUC-JP¸ÇÄ꤫¤éÆâÉô¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ËÊѹ¹
372 - Ethna_Backend::begin()¡¢Ethna_Backend::commit()¡¢Ethna_Backend::rollback()¤òÇÑ»ß
373 - Ethna_Controller::getDB()¤òEthna_Controller::getDBType()¤ËÊѹ¹
374 - Ethna_DB¥¯¥é¥¹¤òÃê¾Ý¥¯¥é¥¹(°·¤¤)¤È¤·¤Æ¿·¤¿¤ËEthna_DB¥¯¥é¥¹¤ò¼ÂÁõ¤·¤¿Ethna_DB_PEAR¥¯¥é¥¹¤òÄɲÃ
375 - Ethna_LogWriter¥¯¥é¥¹¤òÃê¾Ý¥¯¥é¥¹(°·¤¤)¤È¤·¤Æ¿·¤¿¤ËEthna_LogWriter¥¯¥é¥¹¤ò¼ÂÁõ¤·¤¿Ethna_LogWriter_Echo¡¢Ethna_LogWriter_File¡¢Ethna_LogWriter_Syslog¥¯¥é¥¹¤òÄɲÃ
376 - log_facility¤¬null¤Î¾ì¹ç¤Î¥í¥°½ÐÎÏ¥¯¥é¥¹¤òEthna_LogWriter_Echo¤«¤éEthna_LogWriter¤ËÊѹ¹(¥í¥°½ÐÎϤʤ·)
377 - log_facility¤Ë¥¯¥é¥¹Ì¾¤ò½ñ¤¤¤¿¾ì¹ç¤Ï¤½¤Î¥¯¥é¥¹¤ò¥í¥°½ÐÎÏ¥¯¥é¥¹¤È¤·¤ÆÍøÍѤ¹¤ë¤è¤¦¤ËÊѹ¹
378 - Ethna_Filter::preFilter()¡¢Ethna_Filter::postFilter()¤¬Ethna_Error¥ª¥Ö¥¸¥§¥¯¥È¤òÊÖ¤·¤¿¾ì¹ç¤Ï¼Â¹Ô¤òÃæ»ß¤¹¤ë¤è¤¦¤ËÊѹ¹
379 - Ethna_InfoManager¤ÎÀßÄêɽ¼¨¹àÌܤòÄɲÃ
380 - Ethna_ActionForm::isForceValidatePlus()¡¢Ethna_ActionForm::setForceValidatePlus()¥á¥½¥Ã¥É¤È¡¢$force_validate_plus¥á¥ó¥Ð¤òÄɲÃ($force_validate_plus¤òtrue¤ËÀßÄꤹ¤ë¤È¡¢Ä̾︡¾Ú¤Ç¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¤Ç¤â_validatePlus()¥á¥½¥Ã¥É¤¬¼Â¹Ô¤µ¤ì¤ë¡Ý¥Ç¥Õ¥©¥ë¥È:false)
381 - ¥Õ¥©¡¼¥àÃÍÄêµÁ¤Îcustom°À­¤Ë¥«¥ó¥Þ¶èÀÚ¤ê¤Ç¤ÎÊ£¿ô¥á¥½¥Ã¥É¥µ¥Ý¡¼¥È¤òÄɲÃ
382
383 *** bug fixes
384
385 - htmlspecialchars¤ËENT_QUOTES¥ª¥×¥·¥ç¥ó¤òÄɲÃ
386 - Ethna_AppSQL¥¯¥é¥¹¤Î¥³¥ó¥¹¥È¥é¥¯¥¿¥á¥½¥Ã¥É̾¤ò½¤Àµ
387 - [[#7659>http://sourceforge.jp/tracker/index.php?func=detail&aid=7659&group_id=1343&atid=5092]](Ethna_Config.php¤ÇNotice¥¨¥é¡¼)¤ò½¤Àµ
388 - Ethna_SOAP_ActionForm.php¤Îtypo¤ò½¤Àµ
389 - [[#6616>http://sourceforge.jp/tracker/index.php?func=detail&aid=6616&group_id=1343&atid=5092]](¥»¥Ã¥·¥ç¥ó¤ËObject¤ò³ÊǼ¤Ç¤­¤Ê¤¤)¤ò½¤Àµ
390 - [[#7640>https://sourceforge.jp/tracker/index.php?func=detail&aid=7640&group_id=1343&atid=5092]](µ¡¼ï°Í¸ʸ»ú¤Î¥Á¥§¥Ã¥¯¤Ç¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Ê¤¤¡£)¤ò½¤Àµ
391 - [[#6566>https://sourceforge.jp/tracker/index.php?func=detail&aid=6566&group_id=1343&atid=5092]](skel.action.php¤Î¥µ¥ó¥×¥ë¤Çtypo)¤ò½¤Àµ
392 - [[#7451>https://sourceforge.jp/tracker/index.php?func=detail&aid=7451&group_id=1343&atid=5092]](PHP 5.0.5Âбþ)¤ò½¤Àµ
393 - .museumÂбþ
394 - Ethna_Backend¥¯¥é¥¹¤Î¥¯¥é¥¹¥á¥ó¥Ð¿½ÅÄêµÁ¤ò½¤Àµ
395 - BASEÄê¿ô¤Î±Æ¶Á¤Ç¥³¥ó¥È¥í¡¼¥é¤Î·Ñ¾µ¤¬º¤Æñ¤ÊÌäÂê¤ò½¤Àµ
396 - Windows´Ä¶­¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤LOG_LOCALÄê¿ô¤òɾ²Á¤·¤Æ¤·¤Þ¤¦ÌäÂê¤ò½¤Àµ
397 - [[#6423>http://sourceforge.jp/tracker/index.php?func=detail&aid=6423&group_id=1343&atid=5092]](php-4.4.0¤ÇÂçÎ̤Υ¨¥é¡¼¤Î¸å¡¢Segv(11))¤ò½¤Àµ(patch by ramsy¤µ¤ó)
398 - [[#6074>http://sourceforge.jp/tracker/index.php?func=detail&aid=6074&group_id=1343&atid=5092]](generate_project_skelton.php¤ÎÆ°ºî°Û¾ï)¤ò½¤Àµ
399 - safe_mode=on¤Î¾ì¹ç¤Ëuid/gid warning¤¬È¯À¸¤¹¤ë(²ÄǽÀ­¤Î¤¢¤ë)ÌäÂê¤ò½¤Àµ
400 - ÉÔÍפʻ²¾ÈÅϤ·¤òºï½ü
401 - ¤½¤Î¾ºÙ¤«¤Ê½¤Àµ(elseif -> else ifÅù)
402 - PATH_SEPARATOR/DIRECTORY_SEPARATOR¤¬Ì¤ÄêµÁ¤Î¾ì¹ç(PHP 4.1.xÅù)¤ÎÌäÂê¤ò½¤Àµ
403 - smarty_modifier_wordwrap_i18n()¤Î²þ¹ÔÂбþ
404 - ¥æ¡¼¥¶ÄêµÁ¥Õ¥©¡¼¥à¸¡¾Ú¥á¥½¥Ã¥É¤¬¸Æ¤Ó½Ð¤µ¤ì¤Ê¤¤(¤³¤È¤¬¤¢¤ë)ÌäÂê¤ò½¤Àµ
405 - ¥Þ¥ë¥Á¥«¥é¥à¥×¥é¥¤¥Þ¥ê¥­¡¼ÍøÍÑ»þ¤Ë¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀµÅöÀ­¤¬Àµ¤·¤¯È½Ê̤Ǥ­¤Ê¤¤ÌäÂê¤ò½¤Àµ
406 - Ethna_AppObject¤ÎJOIN¸¡º÷¤¬SQL¥¨¥é¡¼¤Ë¤Ê¤ë¡Ê¤³¤È¤¬¤¢¤ë¡ËÌäÂê¤ò½¤Àµ
407 - ¥»¥Ã¥·¥ç¥ó¤òÉüµ¢¤µ¤»¤ë¥¿¥¤¥ß¥ó¥°¤òÃÙ±ä(̵¸Â¥ë¡¼¥×¤¹¤ëÌäÂê¤ò½¤Àµ)
408 - Ethna_MalSender¤«¤émail()´Ø¿ô¤Ë¥ª¥×¥·¥ç¥ó¤òÅϤ»¤ë¤è¤¦¤Ë½¤Àµ
409 - Ethna_View_List::_fixNameObject¤ËÂоݥª¥Ö¥¸¥§¥¯¥È¤âÅϤ¹¤è¤¦¤Ë½¤Àµ
410
411
412 ** [2005/03/02] 0.1.5
413
414 *** features
415
416 - Ethna_Controller::getCLI()(CLI¤Ç¼Â¹ÔÃ椫¤É¤¦¤«¤òÊÖ¤¹¥á¥½¥Ã¥É)¤òÄɲÃ
417 - ethna_error_handler¤¬php.ini¤ÎÀßÄê¤Ë±þ¤¸¤ÆPHP¥í¥°¤â½ÐÎϤ¹¤ë¤è¤¦¤ËÊѹ¹
418 - Smarty¥×¥é¥°¥¤¥ó(truncate_i18n)¤òÄɲÃ
419 - Ethna_AppObject/Ethna_AppManager¤Ë¥­¥ã¥Ã¥·¥åµ¡¹½¤òÄɲÃ(experimental)
420 - ¥á¡¼¥ë¥Æ¥ó¥×¥ì¡¼¥È¥¨¥ó¥¸¥ó¤Î¥Õ¥Ã¥¯¥á¥½¥Ã¥É¤òÄɲÃ
421 - MIME¥¨¥ó¥³¡¼¥ÉÍѥ桼¥Æ¥£¥ê¥Æ¥£¥á¥½¥Ã¥É¤òÄɲÃ
422 - include_path¤Î¥»¥Ñ¥ì¡¼¥¿¤Îwin32Âбþ
423
424 *** bug fixes
425
426 - ethna_error_handler¤Îtypo¤ò½¤Àµ
427 - Ethna_Session¥¯¥é¥¹¤Ç¥í¥°¤¬Àµ¤·¤¯½ÐÎϤµ¤ì¤Ê¤¤ÌäÂê¤ò½¤Àµ
428
429
430 ** [2005/01/14] 0.1.4
431
432 *** features
433
434 - Ethna_AppObject¤ÇJOIN¤·¤¿¾ì¹ç¤Ë¡¢(²Äǽ¤Ê¤é)¥×¥é¥¤¥Þ¥ê¥­¡¼¤ÇGROUP BY¤¹¤ë¤è¤¦¤ËÊѹ¹
435
436 *** bug fixes
437
438 - __ethna_info__¤¬Á´¤¯Æ°ºî¤·¤Ê¤¤ÌäÂê¤ò½¤Àµ:(
439
440
441 ** [2005/01/13] 0.1.3
442
443 *** features
444
445 - Ethna_AppSearchObject¤ÎÊ£¹ç¾ò·ïÂбþ
446 - Ethna_ClassFactory¥¯¥é¥¹¤òÄɲÃ
447 - Ethna_Controller¤Îbackend, i18n, session, action_error¥á¥ó¥Ð¤òÇÑ»ß
448 - Ethna_Controller::getClass()¥á¥½¥Ã¥É¤òÇÑ»ß
449 - Ethna_ActionClass¤Ëauthenticate¥á¥½¥Ã¥É¤òÄɲÃ
450 - preActionFilter/postActionFilter¤òÄɲÃ(experimental)
451 - Ethna_View_List(¥ê¥¹¥Èɽ¼¨Íѥӥ塼´ðÄ쥯¥é¥¹)¤Î¥½¡¼¥ÈÂбþ
452 - ÁȤ߹þ¤ßSmarty´Ø¿ôis_error()¤òÄɲÃ
453 - Ethna_ActionForm::handleError¤ÎÂè2°ú¿ô¤òÇÑ»ß
454 - Ethna_ActionForm::_handleError¤òpublic¥á¥½¥Ã¥É¤ËÊѹ¹(Ethna_ActionForm::handleError¤Ë̾¾ÎÊѹ¹)
455 - Ethna_ActionForm::getDef¥á¥½¥Ã¥É¤Ë°ú¿ô¤òÄɲÃ(¾Êά²Ä)
456
457 *** bug fixes
458
459 - ¥Õ¥©¡¼¥àÄêµÁ¤ËÇÛÎó¤ò»ØÄꤷ¤Æ¤¤¤¿¾ì¹ç¤Î¥«¥¹¥¿¥à¥Á¥§¥Ã¥¯¥á¥½¥Ã¥É¤Î¸Æ¤Ó½Ð¤·¤¬Àµ¤·¤¯¹Ô¤ï¤ì¤Ê¤¤ÌäÂê¤ò½¤Àµ
460 - ¥Õ¥©¡¼¥àÄêµÁ¤ËÇÛÎó¤ò»ØÄꤷ¤Æ¤¤¤¿¾ì¹ç¤Îɬ¿Ü¥Á¥§¥Ã¥¯¤¬Àµ¤·¤¯¹Ô¤ï¤ì¤Ê¤¤ÌäÂê¤ò½¤Àµ
461 - __ethna_info__¤¬¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤ËÄêµÁ¤µ¤ì¤¿¥¢¥¯¥·¥ç¥ó¤òÀµ¤·¤¯¼èÆÀ¤Ç¤­¤Ê¤¤ÌäÂê¤ò½¤Àµ
462 - VAR_TYPE_FILE¤Î¾ì¹ç¤Ïregexp°À­¤¬Ìµ¸ú¤Ë¤Ê¤ë¤è¤¦¤Ë½¤Àµ
463
464
465 ** [2004/12/23] 0.1.2
466
467 *** features
468
469 - __ethna_info__¥¢¥¯¥·¥ç¥ó¤òÄɲÃ
470 - class_path, form_path, view_path°À­¤Î¥Õ¥ë¥Ñ¥¹»ØÄꥵ¥Ý¡¼¥È¤òÄɲÃ
471 - ¥¹¥¯¥ê¥×¥È¤ò1¥Õ¥¡¥¤¥ë¤Ë¤Þ¤È¤á¤ë¥Ä¡¼¥ë(bin/unify_script.php)¤òÄɲÃ
472
473 *** bug fixes
474
475 - ¥×¥í¥¸¥§¥¯¥È¥¹¥±¥ë¥È¥óÀ¸À®»þ¤Ë¥¢¥×¥ê¥±¡¼¥·¥ç¥óID¤Îʸ»ú¼ï/ͽÌó¸ì¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤è¤¦¤Ë½¤Àµ
476 - 'form_name'¤ò»ØÄꤹ¤ë¤È̵ÍѤ˷ٹð¤¬È¯À¸¤¹¤ëÌäÂê¤ò½¤Àµ
477 - ÀäÂХѥ¹È½Äê¤Î¥×¥é¥Ã¥È¥Õ¥©¡¼¥à°Í¸¤ò½¤Àµ(WindowsÂбþ²þÁ±)
478 - VAR_TYPE_INT¤ÈVAR_TYPE_FLOAT¤ÎÄêµÁÃͤ¬½ÅÊ£¤·¤Æ¤¤¤¿ÌäÂê¤ò½¤Àµ
479 - SOAP/Mobile(AU)¤Ç¥¢¥¯¥·¥ç¥ó¥¹¥¯¥ê¥×¥È¤Î¥Ñ¥¹¤¬Àµ¤·¤¯¼èÆÀ¤Ç¤­¤Ê¤¤ÌäÂê¤ò½¤Àµ
480 - Ethna_Util::getRandom()¤Çmt_srand()¤·¤Ä¤Ärand()¤ò¸Æ¤ó¤Ç¤¤¤¿²Õ½ê¤òmt_rand()¤ò¸Æ¤Ó½Ð¤¹¤è¤¦¤Ë½¤Àµ
481 - CHANGES¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°½¤Àµ(ISO-2022-JP -> EUC-JP)
482 - ¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤¬È¯¹Ô¤¹¤ëSQLʸ¤Ë°ìÉô»Ä¤Ã¤Æ¤¤¤¿¥»¥ß¥³¥í¥ó¤òºï½ü
483 - ¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È(index.php)¤Ëµ­½Ò¤µ¤ì¤¿¥Ç¥Õ¥©¥ë¥È¥¢¥¯¥·¥ç¥ó̾¤Î1Í×ÁÇÌܤ˥¢¥¹¥¿¥ê¥¹¥¯¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤È¡¢Àµ¤·¤¯Æ°ºî¤·¤Ê¤¤(¤«¤â¤·¤ì¤Ê¤¤)ÌäÂê¤ò½¤Àµ~
484 Îã(¤³¤ó¤Ê¾ì¹ç):
485  <?php
486  include_once('../../app/Sample_Controller.php');
487  Sample_Controller::Main('Sample_Controller', array(
488   'login*',
489  ));
490  ?>
491
492
493 ** [2004/12/10] 0.1.1
494
495 *** bug fixes
496
497 - ¥Ó¥å¡¼¥ª¥Ö¥¸¥§¥¯¥È¤Îpreforward()¤¬¸Æ¤Ð¤ì¤Ê¤¤¤³¤È¤¬¤¢¤ëÌäÂê¤ò½¤Àµ
498 - ¥¢¥¯¥·¥ç¥ó/¥Ó¥å¡¼¤Î¥¹¥±¥ë¥È¥óÀ¸À®»þ¤Ë¥Õ¥¡¥¤¥ë¤ò¾å½ñ¤­¤·¤Ê¤¤¤è¤¦¤Ë½¤Àµ
499 - ¥Ó¥å¡¼¤Î¥¹¥±¥ë¥È¥ó¤Ç¥¯¥é¥¹Ì¾¤¬Àµ¤·¤¯ÃÖ´¹¤µ¤ì¤Ê¤¤ÌäÂê¤ò½¤Àµ
500
501 ** [2004/12/09] 0.1.0
502
503 - ½é´ü¥ê¥ê¡¼¥¹
504