From ryuji.amano @ gmail.com Mon Jun 19 22:36:19 2006 From: ryuji.amano @ gmail.com (=?ISO-2022-JP?B?GyRCTjY7ShsoQg==?=) Date: Mon, 19 Jun 2006 22:36:19 +0900 Subject: [Exmodules-exframe 7] =?iso-2022-jp?b?bWFrZW9iamVjdCA=?= =?iso-2022-jp?b?GyRCJEEkZyQkJCQkOCRqJF4kNyQ/GyhC?= Message-ID: <46b0b1860606190636v8551927n154df2c462539ffe@mail.gmail.com> 龍司です。 makeobject ちょいいじりました。 まだしっかりと動作確認してないんで、次のような時に妙な動作するかもしれません。 ■double, date, datetime 型のフィールドがあるとき。 とりあえず、 doubleはDTYPE_OTHER, date, datetimeはDTYPE_TXTBOX にしてあります。 ■-sオプション追加 モジュール名prefix無しのテーブルを対象とした動作になります。 ただし、makeobject -g (xml生成時)だけです。 他、挿入タイミング変更(if($field->isActive()) の外から中にした)したので、場合によってはうまくxml生成されないってのがあるかも。 -- Ryuji ryuji.amano @ gmail.com From ryuji.amano @ gmail.com Thu Jun 22 01:44:47 2006 From: ryuji.amano @ gmail.com (=?ISO-2022-JP?B?GyRCTjY7ShsoQg==?=) Date: Thu, 22 Jun 2006 01:44:47 +0900 Subject: [Exmodules-exframe 8] =?iso-2022-jp?b?UmU6IG1ha2VvYmplY3Qg?= =?iso-2022-jp?b?GyRCJEEkZyQkJCQkOCRqJF4kNyQ/GyhC?= In-Reply-To: <46b0b1860606190636v8551927n154df2c462539ffe@mail.gmail.com> References: <46b0b1860606190636v8551927n154df2c462539ffe@mail.gmail.com> Message-ID: <46b0b1860606210944p240f97a9ra71af5e0fe6b0dfc@mail.gmail.com> 龍司です。 自己レスです(^^; 06/06/19 に 龍司 さんは書きました: > ■double, date, datetime 型のフィールドがあるとき。 > とりあえず、 > doubleはDTYPE_OTHER, > date, datetimeはDTYPE_TXTBOX > にしてあります。 やっぱりバグってましたorz ちゃんとやるなら、DTYPE_DATE,DTYPTE_DATETIME定義してってなるんだろうけど、exFrameは延命だけにとどめたいところなので、ごまかし方向で(^^; -- Ryuji ryuji.amano @ gmail.com From ryuji.amano @ gmail.com Tue Jun 27 12:37:49 2006 From: ryuji.amano @ gmail.com (=?ISO-2022-JP?B?GyRCTjY7ShsoQg==?=) Date: Tue, 27 Jun 2006 12:37:49 +0900 Subject: [Exmodules-exframe 9] =?iso-2022-jp?b?ZXhYb29wc09iamVjdEhhbmRs?= =?iso-2022-jp?b?ZXIbJEIkThsoQl9pbnNlcnQoKQ==?= Message-ID: <46b0b1860606262037p4941739l8f831e7aca453d2a@mail.gmail.com> 龍司です。 exXoopsObjectHandlerの_insertメソッド冒頭のチェックにはまってしまったので、ちょっと質問。 function _insert(&$tinfo,&$obj,$force=false) { if(strtolower(get_class($obj))!=strtolower($this->_classname_)) return false; if(!$obj->isDirty()) return true; if(!$obj->cleanVars()) return true; となっていて、 cleanVarsに失敗したときtrueで返ってます。 cleanVarsに失敗ってことは、必須が指定されてなかったりとか、最大長こえてるとかなので、本来はreturn falseだと思うけど、何か理由があって、return trueなんだっけ? 単純に間違いなら、return falseに変更します。 -- Ryuji ryuji.amano @ gmail.com From minahito @ gmail.com Tue Jun 27 13:51:29 2006 From: minahito @ gmail.com (minahito) Date: Tue, 27 Jun 2006 13:51:29 +0900 Subject: [Exmodules-exframe 10] =?iso-2022-jp?b?UmU6IGV4WG9vcHNPYmplY3RI?= =?iso-2022-jp?b?YW5kbGVyGyRCJE4bKEJfaW5zZXJ0KCk=?= In-Reply-To: <46b0b1860606262037p4941739l8f831e7aca453d2a@mail.gmail.com> References: <46b0b1860606262037p4941739l8f831e7aca453d2a@mail.gmail.com> Message-ID: <1b50a03c0606262151r51475211rd01b6da286fb34eb@mail.gmail.com> minahito です。 これは何か理由があったような気がするのですが思い出せません。 exFrame が初期時代から検査を ActionForm で行っており、 DB の実行時エラーハンドリング の概念が当時存在してなかったために、こうしてあるのかもしれません。ないしは、DB側が必須 要求を出していても、ActionFormがそれを妥当と判断した場合に、Objectの定義とは無関係に 保存処理を突っ走るためにそうなっているのかもしれません。 しかし恐らく問題はないと思いますので、 false に変更してみてください。(^^; 06/06/27 に 龍司 さんは書きました: > 龍司です。 > > exXoopsObjectHandlerの_insertメソッド冒頭のチェックにはまってしまったので、ちょっと質問。 > > function _insert(&$tinfo,&$obj,$force=false) { > if(strtolower(get_class($obj))!=strtolower($this->_classname_)) > return false; > > if(!$obj->isDirty()) return true; > if(!$obj->cleanVars()) return true; > > となっていて、 > cleanVarsに失敗したときtrueで返ってます。 > cleanVarsに失敗ってことは、必須が指定されてなかったりとか、最大長こえてるとかなので、本来はreturn > falseだと思うけど、何か理由があって、return trueなんだっけ? > > 単純に間違いなら、return falseに変更します。 > > -- > Ryuji > ryuji.amano @ gmail.com > _______________________________________________ > Exmodules-exframe mailing list > Exmodules-exframe @ lists.sourceforge.jp > http://lists.sourceforge.jp/mailman/listinfo/exmodules-exframe > -- minahito (minahito @ gmail.com)