Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 1.10.0
-
Fix Version/s: 1.10.7
-
Component/s: Zend_Application_Resource, ZendX_JQuery
-
Labels:None
Description
When you add JQuery support via resources, e.g. in config.ini:
resources.jquery.stylesheet = "/styles/blitzer/jquery-ui.css"
It becomes always enabled. The problem is located inside
ZendX_Application_Resource_Jquery::_parseOptions() method.
Options are pared inside foreach loop:
109 foreach ($options as $key => $value) {
... ...
156 }
But somebody put code for uienable parameter outside that loop:
158 if ((isset($key['uienable']) && (bool) $key['uienable']) 159 || (isset($key['ui_enable']) && (bool) $key['ui_enable']) 160 || (!isset($key['ui_enable']) && !isset($key['uienable']))) 161 { 162 $this->_view->JQuery()->uiEnable(); 163 } else { 164 $this->_view->JQuery()->uiDisable(); 165 }
There are two ways of solving this:
First is to put code back into foreach loop, so the case will look like:
case 'uienable': case 'ui_enable': if ((bool) $value) { $this->_view->JQuery()->uiEnable(); } else { $this->_view->JQuery()->uiDisable(); } break;
I also propose to include new option:
case 'enable': if ((bool) $value) { $this->_view->JQuery()->enable(); } else { $this->_view->JQuery()->disable(); } break;
But to keep less lines of code and to keep somebody's idea
to move logic of `uienable` option parsing out from that loop,
I have prepared a patch which I will attach to this report.
Attachments
Issue Links
| This issue duplicates: | ||||
| ZF-9980 | uienable and/or ui_enable in ZendX_Application_Resource_JQuery buggy |
|
|
|
My proposed patch