Hi,

The issue tracker seems to be down :(
Can you send me the patch in private ?

Emmanuel

2010/11/12 Ralph Schindler <[email protected]>:
> Hi All,
>
> I've uploaded a patch to Zend_Acl that covers this use case while being
> completely backwards compatible.
>
> I'd really like to see everyone test this so we can feel good about
> including it ASAP.
>
> Issue:
> http://framework.zend.com/issues/browse/ZF-10649
>
> Patch:
> http://framework.zend.com/issues/secure/attachment/13431/ZF-10649.patch
>
> -ralph
>
> On 11/11/10 6:50 PM, Terre Porter wrote:
>>
>> So I've taken a look since this problem affected my code also.
>>
>> If I understand the problem correctly would it not be better to just
>> adjust the isAllowed code to support the changes to the setRule?
>>
>>       if (null !== $resource) {
>>             // keep track of originally called resource
>>             $this->_isAllowedResource = $resource;
>>             $resource = $this->get($resource);
>>             if (!$this->_isAllowedResource instanceof
>> Zend_Acl_Resource_Interface) {
>>                 $this->_isAllowedResource = $resource;
>>             }
>>       // if resource is null, and resources exist then add them instead
>>         } elseif ($resource === null&&  count($this->_resources)>  0) {
>>                foreach (array_keys($this->_resources) as $k =>  $v ) {
>>                        if (null !== ($result = $this->isAllowed($role, $v,
>> $privilege))) {
>>                                return $result;
>>                        };
>>                }
>>         }
>>
>> The follow now works as expected.
>>
>> $acl = new Zend_Acl();
>> $acl->addRole(new Zend_Acl_Role('role'));
>> $acl->addResource(new Zend_Acl_Resource('res'));
>>
>> $acl->allow('role','res', 'privilege');
>> echo $acl->isAllowed('role','res','privilege')? "allowed" : "denied"; //
>> returns allowed
>>
>> $acl->removeAllow('role',null,'privilege');
>> echo $acl->isAllowed('role',null,'privilege')? "allowed" : "denied"; //
>> returns denied
>>
>> And the second code
>>
>> $acl = new Zend_Acl();
>> $acl->addRole(new Zend_Acl_Role('role'));
>> $acl->addResource(new Zend_Acl_Resource('res'));
>>
>> $acl->allow('role');
>> echo $acl->isAllowed('administrator') ? "allowed" : "denied"; // returns
>> allowed
>>
>> Would be the same as : (since null resource is all defined resources)
>>
>> $acl->allow('role', 'res');
>> echo $acl->isAllowed('administrator') ? "allowed" : "denied"; // returns
>> allowed
>>
>> Hope that helps.
>> Terre
>>
>>
>> -----Original Message-----
>> From: Ralph Schindler [mailto:[email protected]]
>> Sent: Thursday, November 11, 2010 12:50 PM
>> To: [email protected]
>> Subject: Re: [fw-general] Zend_Acl 1.11 broken my code
>>
>> I've been looking at this over the past day and I am attempting to find a
>> solution.  As you can see it was a fix for a previous issue:
>>
>> http://framework.zend.com/issues/browse/ZF-9643
>>
>> Fixing the previous issue did not break any existing unit tests.
>>
>> I will get to the bottom of it and figure out a solution that works for
>> everyone.
>>
>> -ralph
>>
>>
>>
>>
>> On 11/11/10 12:32 AM, Valentin wrote:
>>>
>>> Hi,
>>> I'm impressed, is exactly the problem reported at bug
>>> http://framework.zend.com/issues/browse/ZF-10649
>>>
>>> Thanxx
>>>
>>> 2010/11/10 Emmanuel Bouton<[email protected]>
>>>
>>>> Hi,
>>>>
>>>> A bug has been created for that :
>>>> http://framework.zend.com/issues/browse/ZF-10649
>>>>
>>>> I suggest you to vote for its fix ;)
>>>>
>>>> Manu
>>>>
>>>> 2010/11/10 Valentin<[email protected]>
>>>>
>>>>> Hi,
>>>>> New version 1.11 have only one change in Zend_Acl  line 636:
>>>>>
>>>>> Old line
>>>>> $resources = array($resources);
>>>>> change for this
>>>>> $resources = ($resources == null&&   count($this->_resources)>   0) ?
>>>>> array_keys($this->_resources) : array($resources);
>>>>>
>>>>>
>>>>> I've been studying (and debug) all day and how it affects the code
>>>>> and
>>>>
>>>> not
>>>>>
>>>>> understand what happens. Any ideas?
>>>>> Thanks
>>>>>
>>>>
>>>
>>
>>
>

Reply via email to