[limb-svn] r6900 - 3.x/trunk/limb/wact/src/components/form
svn at limb-project.com
svn at limb-project.com
Tue Apr 8 08:15:50 MSD 2008
Author: svk
Date: 2008-04-08 08:15:50 +0400 (Tue, 08 Apr 2008)
New Revision: 6900
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6900
Modified:
3.x/trunk/limb/wact/src/components/form/WactSelectMultipleComponent.class.php
Log:
-- wact: multiple select performance improved
Modified: 3.x/trunk/limb/wact/src/components/form/WactSelectMultipleComponent.class.php
===================================================================
--- 3.x/trunk/limb/wact/src/components/form/WactSelectMultipleComponent.class.php 2008-04-06 20:53:22 UTC (rev 6899)
+++ 3.x/trunk/limb/wact/src/components/form/WactSelectMultipleComponent.class.php 2008-04-08 04:15:50 UTC (rev 6900)
@@ -124,22 +124,32 @@
if(!$select_field = $this->getAttribute('select_field'))
$select_field = 'id';
+ $selected_items = array();
+ foreach ($values as $value)
+ {
+ if (is_scalar($value))
+ $selected_items[] = $value;
+ else
+ $selected_items[] = $value[$select_field];
+ }
foreach($this->choice_list as $key => $choice)
{
$selected = false;
- foreach($values as $value)
- {
- if(is_scalar($value) && $key == $value)
- {
- $selected = true;
- break;
- }
- elseif(!is_scalar($value) && $value[$select_field] == $key)
- {
- $selected = true;
- break;
- }
- }
+ if (in_array($key, $selected_items))
+ $selected = true;
+// foreach($values as $value)
+// {
+// if(is_scalar($value) && $key == $value)
+// {
+// $selected = true;
+// break;
+// }
+// elseif(!is_scalar($value) && $value[$select_field] == $key)
+// {
+// $selected = true;
+// break;
+// }
+// }
$this->option_handler->renderOption($key, $choice, $selected);
}
More information about the limb-svn
mailing list