Ralf Becker
ffae12e240
* all apps: custom-fields are now stored in own egw_customfields table (no more limit on number), site configurations get now JSON serialized
2014-06-23 14:35:22 +00:00
Ralf Becker
febc2f8763
re-added validation for null as it is needed/used by widget-types other then duration
2014-06-12 07:51:41 +00:00
Ralf Becker
5a32a7d622
widgets should NEVER return null (eg. for empty), as server-side $preserv will overwrite it
2014-06-11 09:14:43 +00:00
Nathan Gray
0a1c0e5135
Do disabled check before grid name expansion, so disabled=!@grid_id will work
2014-06-09 19:24:48 +00:00
Ralf Becker
a45525949b
implement clientside validation for textbox, stop complaining about $ in regular expressions of validator and fix attribute name from "preg" to "validator" on server-side
2014-06-05 15:47:23 +00:00
Nathan Gray
470cf39e94
Change validation to accept & validate numeric list IDs if include_lists is set.
2014-06-04 20:00:46 +00:00
Nathan Gray
2e09cf1ab1
- changing column selection preference now works if 'nextmatch-' prefix is included in the columnselection_pref setting
...
- change column selection popup to reload every time it opens, just in case something changes in the columns
2014-06-04 18:37:58 +00:00
Nathan Gray
ee7349f4f6
Fix missing path, prevented single selected address merge into mail from opening properly in popup
2014-06-04 15:41:24 +00:00
Nathan Gray
3b8bee4d18
Update dhtmlxTree & dhtmlMenu to latest version
2014-06-02 23:32:15 +00:00
Ralf Becker
92fddc9c51
fixed validation of private custom-fields using a different name, eg. addressbook
2014-06-02 13:29:26 +00:00
Ralf Becker
b59585cf4b
fixed IDE warnings
2014-06-02 13:25:20 +00:00
Nathan Gray
79f7a8a6cf
Use popup mail compose window if default document is an email, same as non-default documents
2014-05-29 15:33:27 +00:00
Nathan Gray
e5f1e3e473
Decode title before showing to user in list
2014-05-26 20:05:33 +00:00
Ralf Becker
9455efae32
added postSubmit=true to document actions in mime-type sub-menus, was there for all other cases already
2014-05-26 16:09:03 +00:00
Ralf Becker
090c6eb19f
only replace @ or $cont, no $row_cont as we dont know row, upload/selection of vfs attachments in mail fails otherwise
2014-05-22 12:15:11 +00:00
Ralf Becker
f203703e42
fixed changing of settings (eg. template set) did not work anymore reported by Christoph Kaulich
...
caused by always breaking reference from attribute values. Now reference is only broken, if attribute value needs expanding (because it contains @ or $)
2014-05-22 09:39:16 +00:00
Nathan Gray
ccdb54a366
Gantt chart progress
2014-05-21 22:11:36 +00:00
Ralf Becker
cbd328eb55
htmlarea-widget in mode="ascii" looses or modifies content (<, >, <tag>) by calling html::purify on it, also fixed set_attrs to expand attribute values
2014-05-21 09:55:02 +00:00
Nathan Gray
02db5d0357
Don't send blank row option for read-only selectboxes. It's not needed, and can conflict with non-readonly (nm filter vs row)
2014-05-20 19:25:48 +00:00
Ralf Becker
bdba288048
fix ide warning
2014-05-16 09:31:18 +00:00
Ralf Becker
ec667b9c41
also implement r46958 server-side: get customfield_list to respect readonlys of single fields
2014-05-16 09:29:10 +00:00
Ralf Becker
bdbc22dd98
reverted r46410 calling header explicitly before navbar, causing navbar no longer being able to add stuff to header, eg. include javascript
...
and fixing idots_framework::navbar() to still call header, if $navbar_done is set
2014-05-15 09:41:31 +00:00
Nathan Gray
e1134224fc
Move gantt css to seperate link instead of including
2014-05-13 22:24:25 +00:00
Nathan Gray
bca1696866
Tell request not to get cleaned up, something changed
2014-05-13 20:11:06 +00:00
Nathan Gray
777e1bec1e
Better handling for detached label, fixes errors if there is no label
2014-05-12 22:16:05 +00:00
Nathan Gray
3230554c01
Add a config setting 'assigned' to allow extending classes to provide assigned users in a way other than a specific entry field.
2014-05-07 20:54:53 +00:00
Nathan Gray
354c030520
Work in progress on gantt chart:
...
- Gantt widget now supports context menu
2014-05-07 14:41:15 +00:00
Ralf Becker
610e7e6e93
halfway fixed eTemplate(1) part of etemplate_widget_transformer, but then enabled old code in contact_widget again, as value is not yet handeled correctly by callback in contact_widget
2014-05-07 09:00:59 +00:00
Nathan Gray
33594b565d
Custom fields are not allowed to have a null value, since NULL is skipped by backend
...
Fixes bug where it was impossible to clear date cfs
2014-05-05 22:19:54 +00:00
Nathan Gray
4053d1a204
- Move function to find selectbox options to public, static so other widgets (read only selectAccount) can use it
...
- Fix selectAccount missing extra app-specific options
2014-05-05 17:25:01 +00:00
Ralf Becker
ed85cc3ce6
allow apps to supply own etemplate_widget_transformer extending widgets
2014-05-05 16:05:39 +00:00
Hadi Nategh
098de471cd
No need to overwrite the "beforeSendToClient" method for date widget, because we are handling date/time conversion on client side
2014-05-05 14:11:00 +00:00
Nathan Gray
48fa6611f3
Use a single client-side cache for account selection so we don't have to send it for every widget
2014-04-23 19:00:59 +00:00
Ralf Becker
e526c42e3d
forgot to handle empty-label value
2014-04-18 08:32:13 +00:00
Nathan Gray
dac15dbded
Fix an additional case in duplication detection.
...
Prevents doubled options in some select-account widgets
2014-04-17 21:47:13 +00:00
Ralf Becker
0b9bffc40c
fixed validation for select-account to work on actual value and attribute account_type and not on options send by server
2014-04-17 12:46:27 +00:00
Nathan Gray
22dfe2a5db
Any changed sel_options from app need to get encoded too.
...
Fixes missing 'All' option in Tracker with Firefox.
2014-04-08 17:42:19 +00:00
Ralf Becker
9532debc5d
* eTemplate/all apps: removed custom-field widget type IP again, as it caused too many problems in various modules
2014-04-08 11:59:55 +00:00
Nathan Gray
d81adb1d82
Fix bugs in server side custom field validation
...
- Multiselects were always passing required check
- Validation errors were not properly set, so weren't displayed
2014-04-02 20:12:52 +00:00
Ralf Becker
ce3c5c897f
stop server-side validation errors, if submit was with no_validation
2014-04-02 19:30:33 +00:00
Nathan Gray
d3c0314b4d
Switch AJAX upload library to Resumable for chunked uploads.
2014-04-01 20:48:40 +00:00
Ralf Becker
ba4bb53c29
fixed not working autorepeat if $row_cont was used
2014-03-28 17:32:32 +00:00
Klaus Leithoff
a9f7b3486b
silence permanent error log
2014-03-27 14:30:14 +00:00
Nathan Gray
42272cf2e2
Don't take away default action's onExecute, even if it does have children
2014-03-25 16:47:27 +00:00
Ralf Becker
1007f2ec7e
fixed idots not always loaded client-side configuration: now using egw_info[flags][nonavbar] === "popup" to let framework definitly know we dont want a navbar (need to know before navbar is called and can not use true, which is allways set by index.php)
2014-03-25 12:12:00 +00:00
Ralf Becker
dfc186f9d5
nicer formatting of apps using old eTemplate
2014-03-24 15:08:55 +00:00
Ralf Becker
dba03454fb
using $readonlys["__ALL__"] with explicit $readonlys[$name] = false was NOT working for extensions
2014-03-24 09:03:38 +00:00
Ralf Becker
05857ba73b
more changes etemplate_old --> etemplate, maybe better not started that ;-)
2014-03-23 09:36:35 +00:00
Ralf Becker
20193e6418
more changes etemplate_old --> etemplate, maybe better not started that ;-)
2014-03-23 09:34:18 +00:00
Ralf Becker
570b95f9ae
making old etemplate class available as etemplate_old, as that name was changed in a couple of files ...
2014-03-23 09:20:22 +00:00
Ralf Becker
1f0dd46118
as we use now etemplate_new for eTemplate2 and etemplate for old eTemplate class, there is no need to switch etemplate class between new and old
2014-03-23 08:41:31 +00:00
Ralf Becker
0d1deb6ca6
fixed old eTemplate apps show no navbar in idots template
2014-03-23 08:22:56 +00:00
Klaus Leithoff
bec6913567
revert changes, as the double - is needed here; needs to be fixed elsewhere
2014-03-21 14:50:53 +00:00
Klaus Leithoff
354a2ac3e8
fix ->typo<- that prevented the merge action on message/rfc822 in addressbook to function properly
2014-03-21 14:26:10 +00:00
Nathan Gray
133c4a317c
Fix bug in using knownUIDs where empty rows were left or too many removed when the count changed
2014-03-19 19:19:34 +00:00
Nathan Gray
4a5d906e48
Enable using knownUIDs and lastModification timestamp to avoid sending unchanged rows back to client
2014-03-18 22:54:14 +00:00
Nathan Gray
92e29ff0c4
Fix merge print to work with both old & new ODF spreadsheets
...
- adds support for calcext:value-type cell attribute
2014-03-18 14:13:57 +00:00
Ralf Becker
25351aa53b
fixed typeOptions were not added, if selectbox had no explicit type attribute: eg. <select-account
2014-03-18 11:39:03 +00:00
Ralf Becker
7251895690
fixed not called beforeSendToClient callbacks for added tabs, if tab has no (optional) namespace
2014-03-18 11:01:46 +00:00
Nathan Gray
b0db615411
- Fix taglist account infinite loop when looking for accounts (using link title system instead of data source)
...
- Don't search server side if there's no query string
2014-03-17 23:03:24 +00:00
Ralf Becker
2eb9352f78
fixed error "template NOT found!", if template-name contains cache-buster
2014-03-17 17:12:02 +00:00
Ralf Becker
6f099299b4
we need noPrint on td
2014-03-16 15:22:48 +00:00
Ralf Becker
3e7ba51020
fixed ReferenceError: $j is not defined in old eTemplate popups
2014-03-15 10:04:38 +00:00
Ralf Becker
184a9fa4e8
allow to use namespaced $readonlys for grids, eg. grid uses "grid" as name, you can now set $readonlys["grid"]["something"] as well as $readonlys["something"] like in eTemplate2
2014-03-14 09:36:01 +00:00
Klaus Leithoff
e4deb0f0a5
switch off talkative setElementAttribute
2014-03-12 13:44:33 +00:00
Nathan Gray
612b5bf34f
Fix searching for a space gives database error
...
(To actually search for a space, use quotes)
2014-03-11 18:26:40 +00:00
Nathan Gray
4cdd4d9d4a
Update opendocument spreadsheet numeric cell attributes to include celcext:value-type.
2014-03-11 17:35:50 +00:00
Ralf Becker
293a7166de
to not send/set it twice for multiple etemplates (eg. CRM view)
2014-03-10 21:18:31 +00:00
Ralf Becker
7bda46582d
changed toolbar to have last action.id as value, when submitted to server
2014-03-10 21:14:02 +00:00
Ralf Becker
f87e456be2
do not send/set extra data twice for multiple etemplate (eg. CRM view)
2014-03-10 15:20:27 +00:00
Ralf Becker
79e1b5c9b8
fixed CSP error for multiple eTemplate2s (CRM view), by allways sending etemplate data via et2_container tag (instead etemplate script tag) and create an et2 object for all of them in egw.js
2014-03-10 11:58:49 +00:00
Ralf Becker
68e5832e1d
open widget browser / eT2 Reference inside EGroupware
2014-03-10 09:10:49 +00:00
Nathan Gray
1124c62200
Allow changing sel_options with array data, not just key => value pairs
2014-03-05 17:20:17 +00:00
Nathan Gray
2bf0f96602
Nextmatch uses value to store most attributes, so get value from request to get access to those.
...
Fixes unable to force infolog details column selection.
2014-03-03 21:00:31 +00:00
Nathan Gray
f561e7e7bf
Add check for automatic 'All' option to avoid extra 'All' options when app stores category options in session.
2014-03-03 17:53:27 +00:00
Ralf Becker
44fc850d75
ignoring $row not only for "nm" namespace and fixed IDE warnings
2014-03-03 15:55:05 +00:00
Ralf Becker
a5a0024545
only search custom fields, if extending class does not set this->columns_to_search explicit, also fixed IDE warnings
2014-03-03 11:45:38 +00:00
Ralf Becker
aa850d24fc
implemented account_type: (accounts|groups|both) option for taglist-account as available in select-account widget
2014-02-28 16:52:42 +00:00
Ralf Becker
e154e35ad6
fixed etemplate.inc.php download (happens only if directory is not writable) has zero length. Caused by output buffering and unbuffered php://stdout instead of php://output used
2014-02-28 08:26:53 +00:00
Nathan Gray
a07cfda06b
Silence error log
2014-02-27 20:25:06 +00:00
Ralf Becker
2e287689ef
allow to call etemplate_widget::setElementAttribute() static eg. from within a get_rows method
2014-02-27 17:43:51 +00:00
Hadi Nategh
095cb846f6
* etemplate: introduces new type of taglist specificlly for groups and accounts, called "taglist-account". It fetchs groups and accounts plus allows free entries too
2014-02-26 10:49:01 +00:00
Nathan Gray
22985819b0
If user selected a link entry but did not click link, pass it back to application.
...
Now fixed to support new entries (no to_id) also.
2014-02-25 17:04:43 +00:00
Nathan Gray
cd3387448a
If user selected an entry to link to, but didn't click 'Link' button, link anyway on save.
2014-02-24 20:26:26 +00:00
Ralf Becker
e96ec115a0
fixed sending of arbitrary JSON data egw_json_request::isJSONRequest(false)
2014-02-24 18:46:14 +00:00
Ralf Becker
2908b9466b
fixed not working retransformation of date* custom fields to Y-m-d[ H:i:s] format, caused by not calling validation of implementing base-widget, also added options from file and sending available options from server, as for regular select options
2014-02-24 14:47:55 +00:00
Ralf Becker
2955e89bbe
quitened permanent error_log
2014-02-24 11:55:25 +00:00
Ralf Becker
4ff1a4efd1
fixed after new shutdown handling broken autoloading of tree nodes: json.php is used to send arbitrary JSON data, instead using egw_json_response methods (egw_json_request::isJSONRequest(false) turns that off now)
2014-02-22 15:51:14 +00:00
Ralf Becker
82704bd0d2
jdots needs sidebox/navbar data in header call, therefore enable navbar BEFORE calling header
2014-02-21 15:41:07 +00:00
Ralf Becker
3cbf1d24fb
* eTemplate/all apps: limit displayed history to 500 entries
2014-02-20 12:47:06 +00:00
Ralf Becker
5f2c5e1d9a
restoring value at end of etemplate::show_cell() as it is a reference into content and some widgets (IP-address cf) rely on being able so set content while using multiple widgets with same name relys on it being unchanged
2014-02-20 09:43:00 +00:00
Nathan Gray
c735663346
Work in progress of straightening out the user selection options
2014-02-20 00:35:07 +00:00
Nathan Gray
9b84be6d01
Fix some group selections showing accounts instead
2014-02-19 21:54:48 +00:00
Nathan Gray
c1689c7328
Fix account selection missing members of non-primary groups
2014-02-18 22:36:22 +00:00
Nathan Gray
aca00c49f7
Fix account selection did not contain primary group members
...
Was visible in infolog list account filter headers
2014-02-18 22:08:15 +00:00
Ralf Becker
73523fbecc
extra option 0 => None set in addressbook for cat_id got lost
2014-02-18 16:44:20 +00:00
Ralf Becker
ae057bd957
fixed cat-id in nextmatch header of addressbook is in id-order and not alphabetic/hierarchical order
2014-02-18 16:35:54 +00:00
Ralf Becker
639fd82199
force re-import of etemplates if app-version changes
2014-02-17 14:28:05 +00:00
Ralf Becker
8d48058f22
historylog need to use $this->id as namespace for sel_options to NOT overwrite regular sel_options, fixes addressbook-selection in addressbook.edit contains all users instead of only ones user has rights for
2014-02-13 12:50:29 +00:00
Nathan Gray
9ca2ec2329
Silence error log
2014-02-12 18:35:04 +00:00
Nathan Gray
e314011e88
Harmonize readonlys processing, fixes some fields in grids not validating if other rows were read-only.
...
- Change server-side get_array() to return null if not found, matches client side getEntry() and allows us to tell the difference between false and not found
- Change server-side is_readonly() to properly consider expansion & sub-arrays
- Fix client side et2_readonlysArrayMgr to properly consider expansion & sub-arrays
2014-02-10 21:59:50 +00:00
Ralf Becker
7fc89ea36d
fixed serverside validation to understand hierarchical structure used for tree and to NOT try to validate if autoloading is enabled as we dont know all nodes
2014-02-07 13:08:00 +00:00
Nathan Gray
378bd43d29
Set is_parent flag for all get_rows calls, not just the onces done via ajax.
...
FIxes missing flags on first load.
2014-02-05 23:13:47 +00:00
Nathan Gray
ec7360d36f
If application changed actions in get_rows(), the new actions need to be sent through etemplate_widget_nextmatch::egw_actions(). Now doing so automatically.
...
Fixes js error in infolog refresh.
2014-02-05 17:17:45 +00:00
Ralf Becker
92701be185
setting foldernames now as text and (optional) style
2014-02-05 12:23:04 +00:00
Ralf Becker
c0c6775e0a
added htmlencoding to tree widget and static PHP method to quote and send JSON data
2014-02-05 08:54:36 +00:00
Ralf Becker
ad464d2824
show backtrace in error_log of validation-errors
2014-02-04 09:24:17 +00:00
Ralf Becker
85cd466eda
preparing to use egroupware with mbstring.func_overload=0 by using mb_(strlen|substr) where necessary and providing an implementation for mb_*, if mbstring is not available
2014-02-04 09:23:43 +00:00
Ralf Becker
327123a588
preparing to use egroupware with mbstring.func_overload=0 by using mb_(strlen|substr) where necessary and providing an implementation for mb_*, if mbstring is not available
2014-02-03 19:57:50 +00:00
Hadi Nategh
7f222b165d
Remove "BLACK DIAMOND SUIT" character from global categories
2014-02-03 09:19:59 +00:00
Ralf Becker
a34f35baf1
fix serverside url-validation required "http://" protocoll
2014-01-30 12:48:16 +00:00
Ralf Becker
56ea1da5aa
fixed not working redirect to index url of app, if etemplate session is lost (tested with mail app)
2014-01-27 16:30:34 +00:00
Ralf Becker
2e9b753292
remove permanent error-log
2014-01-27 13:07:50 +00:00
Ralf Becker
5452c9fca2
fixed XML error, if no type given
2014-01-23 12:43:29 +00:00
Ralf Becker
2632aff548
disabling redirect as it is not working (opens eTemplate tab in Stylite/Pixelegg template)
2014-01-21 18:58:07 +00:00
Ralf Becker
646c444670
order accounts according to pref of how to display them
2014-01-21 18:46:42 +00:00
Nathan Gray
4d997bf7c8
Fix up caching, clearing and filtering, so we cache what we need and clear only what we have to when filtering
...
Selection still needs work.
2014-01-21 15:21:42 +00:00
Nathan Gray
2123b7cbbf
Fix validation of selectboxes when options are specified as key => (label,title).
...
Fixes edit dialog actions not validating
2014-01-20 16:15:53 +00:00
Ralf Becker
6de6114e22
remove old API browser class, apps only used content_header method with is available as html::browser_header() with identical signature
2014-01-19 09:30:33 +00:00
Ralf Becker
b31befc23b
fixed server-side validation of url-email and taglist-email:
...
- PHP does NOT allow \x00 in regular expression
- added PHP /u modifier for utf-8
- using now regular expression including start- / end-delemiter and modifiers, to have same regular expression (but above 2 exeptions) in PHP and javascript
2014-01-17 17:26:22 +00:00
Ralf Becker
0b994ee837
new regexp to validate email addresses plus examples what it should validate and what not
2014-01-16 18:10:06 +00:00
Ralf Becker
4b789c932d
allow "." in front-part of rfc822 email, eg. "1. company <info@first-company.com>"
2014-01-16 15:14:45 +00:00
Nathan Gray
05f0e486e3
Use long task UI to merge contacts into email templates
2014-01-16 14:05:07 +00:00
Ralf Becker
205794f4a7
notify server about closed windows, so we can destroy no longer eT needed session/requests and so keep cache small
2014-01-16 12:13:16 +00:00
Ralf Becker
b56175a0f4
new default eTemplate request storate in EGroupware cache with an expiration time of 4 hours.
...
Benefit over old default is, that we get a short etemplate_exec_id giving better performance for ajax requests.
Drawback is currently poor garbadge collection only removing requests not used in 4 hours or which call egw_framework::window_close on server-side.
We can improve garbadge-collection by binding to window on(before)unload sending a (synchronious) request to server to remove concerned eT2 request.
2014-01-15 16:46:16 +00:00
Nathan Gray
f9c2c73432
Get merging contact into mail template file working
2014-01-15 16:29:30 +00:00
Ralf Becker
6544d38e2c
storing (not used) cancel or non-cancel button pressed information now in static class-variable instead of request, to avoid modifying request and causing a save of it
2014-01-15 13:46:53 +00:00
Nathan Gray
ae491c0810
Enable symlinking VFS files to not yet existing entries
2014-01-14 12:11:13 +00:00
Hadi Nategh
c82ffac545
Fix wrong order of search result in linkto
2014-01-14 11:31:33 +00:00
Nathan Gray
29992a7fee
Fix linking files to not-saved entries
2014-01-14 10:16:36 +00:00
Ralf Becker
ca1433cd5e
no longer warn about widgets without a server-side class, as it is perfectly ok
2014-01-13 15:24:48 +00:00
Nathan Gray
a64da9f456
Disable automatic chosen, only explicit now
2014-01-10 09:47:26 +00:00
Ralf Becker
243f20e98c
fixed handling of optgroups, eg. notification chains in prefs
2014-01-10 07:08:45 +00:00
Ralf Becker
400240f1e4
caching translations for 10days and changing translation url, when translations are changing --> saves server-roundtrip for each translation
2014-01-09 15:32:07 +00:00
Ralf Becker
90edb55ec5
add async include and et2 render times to page-generation-times shown
2014-01-09 12:20:13 +00:00
Nathan Gray
49ef2c538a
Use any row data passed from server in etemplate load call to avoid an extra call to get_rows
2014-01-09 11:25:08 +00:00
Ralf Becker
2f905e8290
return $arr argument itself, but no reference to it, in all error cases
2014-01-08 09:47:37 +00:00
Ralf Becker
7b7132314c
can NOT use empty($idx) as it is true for 0 too!
2014-01-08 08:58:57 +00:00
Ralf Becker
b095be7f3d
fixed handling of empty name, not index into array but return full array
2014-01-06 12:53:34 +00:00
Nathan Gray
c458f34b18
Explicitly load headers & js for old etemplates
2013-12-19 18:27:46 +00:00
Ralf Becker
9c3c077314
fixed not updated sidebox in calendar listview
2013-12-12 23:32:30 +00:00
Nathan Gray
ffcc62e274
Implement 'add_tab' attribute on server side, so it works.
2013-12-12 20:15:36 +00:00
Nathan Gray
d65b40046a
Move sidebox favorites & backend out of nextmatch and into framework
2013-12-12 00:03:07 +00:00
Nathan Gray
bbd146c0b9
Remove debug error message
2013-12-10 19:39:01 +00:00
Nathan Gray
cc3754ff85
Expand legacy options explicitly, since $legacy_options is not defined
...
Fixes missing app-specific categories in category edit popup
2013-12-10 19:37:57 +00:00
Ralf Becker
76cf4245e6
fix wrong download url
2013-12-05 22:46:31 +00:00
Ralf Becker
2479d85c77
search etemplates first under /etemplates in vfs and then in real filesystem, allows to overwrite templates on a per instance base, stylite.merge stream-wrapper can be used to mount templates editable into vfs
2013-12-05 21:06:35 +00:00
Nathan Gray
87936488bf
Implement getState() & setState() towards a more universal favorites, but still more to do:
...
- Need to get favorite widget to use setState()
- Move much code out of etemplate2 widgets into a higher level
2013-12-05 00:00:43 +00:00
Nathan Gray
7f176d54f1
Add a fallback to the fallback.
...
If an app doesn't support 'list' link entry, use 'index'
2013-12-02 20:11:47 +00:00
Ralf Becker
defe24b7c0
fixed not working selected_value attribute of checkbox and radio, server-side used (un)set_val as attribute while clientside used (un)selected_value for checkbox and set_value for radio, grrrr ;-)
2013-11-29 05:49:13 +00:00