#1205: Several method existence checks don't deal with visibility
-------------------------------------------------------+--------------------
 Reporter:  michalchare...@…                           |        Owner:  david   
     Type:  defect                                     |       Status:  reopened
 Priority:  low                                        |    Milestone:  1.0.2   
Component:  _OTHER_                                    |      Version:  1.0.1   
 Severity:  minor                                      |   Resolution:          
 Keywords:  view filter action model context renderer  |    Has_patch:  0       
-------------------------------------------------------+--------------------
Changes (by david):

  * status:  closed => reopened
  * resolution:  fixed =>


Old description:

> If the methods in question are non-public, then calls will fail, because
> the function {{{method_exists()}}} that's used to see if a respective
> method is there (e.g. on Actions and Views for request methods and output
> types) doesn't take the visibility into account.
>
> Affected are checks for:
>  * {{{AgaviAction::execute}}}''{{{Method}}}''{{{()}}} (in
> {{{AgaviExecutionContainer}}})
>  * {{{AgaviAction::execute()}}} (in {{{AgaviExecutionContainer}}})
>  * {{{AgaviAction::validate}}}''{{{Method}}}''{{{()}}} (in
> {{{AgaviExecutionContainer}}})
>  * {{{AgaviAction::registerValidators}}}''{{{Method}}}''{{{()}}} (in
> {{{AgaviExecutionContainer}}})
>  * {{{AgaviView::execute}}}''{{{OutputType}}}''{{{()}}} (in
> {{{AgaviExecutionContainer}}})
>  * {{{AgaviModel::initialize()}}} (in {{{AgaviContext}}})
>  * {{{AgaviContext::get}}}''{{{Item}}}''{{{()}}} (in {{{AgaviRenderer}}})
> As well as testing constraints:
>  * {{{AgaviConstraintViewHandlesOutputType}}}
>  * {{{AgaviConstraintActionHandlesMethod}}}

New description:

 If the methods in question are non-public, then calls will fail, because
 the function {{{method_exists()}}} that's used to see if a respective
 method is there (e.g. on Actions and Views for request methods and output
 types) doesn't take the visibility into account.

 Affected are checks for:
  * {{{AgaviAction::execute}}}''{{{Method}}}''{{{()}}} (in
 {{{AgaviExecutionContainer}}})
  * {{{AgaviAction::execute()}}} (in {{{AgaviExecutionContainer}}})
  * {{{AgaviAction::validate}}}''{{{Method}}}''{{{()}}} (in
 {{{AgaviExecutionContainer}}})
  * {{{AgaviAction::registerValidators}}}''{{{Method}}}''{{{()}}} (in
 {{{AgaviExecutionContainer}}})
  * {{{AgaviView::execute}}}''{{{OutputType}}}''{{{()}}} (in
 {{{AgaviExecutionFilter}}})
  * {{{AgaviModel::initialize()}}} (in {{{AgaviContext}}})
  * {{{AgaviContext::get}}}''{{{Item}}}''{{{()}}} (in {{{AgaviRenderer}}})
 As well as testing constraints:
  * {{{AgaviConstraintViewHandlesOutputType}}}
  * {{{AgaviConstraintActionHandlesMethod}}}

--

-- 
Ticket URL: <http://trac.agavi.org/ticket/1205#comment:5>
Agavi <http://www.agavi.org/>
An MVC Framework for PHP5



_______________________________________________
Agavi Tickets Mailing List
[email protected]
http://lists.agavi.org/mailman/listinfo/tickets

Reply via email to