Commit Graph

959 Commits

Author SHA1 Message Date
jengo
7017e7223c Forgot what I fixed .. 2001-08-05 09:54:16 +00:00
jengo
ce08ad632e Fixed adding an entry that doesn't have an account_id 2001-08-05 09:18:40 +00:00
jengo
3a4779f5ff Converted to use the dbs timestamp field 2001-08-05 08:04:36 +00:00
jengo
ccf42f2b2a Fixed timestamp converstion not working 2001-08-05 08:04:10 +00:00
zone
89fbd4e755 Update to accounts->membership 2001-08-05 07:53:59 +00:00
jengo
7f8beb1d37 Fixed PostgreSQL issues 2001-08-05 07:43:51 +00:00
jengo
b1eb420217 Finished merging patch for eventlog 2001-08-05 06:59:20 +00:00
jengo
a4b8a88d81 Added dummy function for timestamp conversions 2001-08-05 06:52:25 +00:00
jengo
e0583a830f Started working on the functions to convert timestamps to the databases version 2001-08-05 06:49:50 +00:00
jengo
775e55fc86 Added patch for eventlog 2001-08-05 06:48:42 +00:00
skeeter
d1ecda416d Fix for bug #447188. 2001-08-05 03:39:35 +00:00
skeeter
366349179c This now adds the cats on the same line with search/filter for show_tpl and adds a new function call cats_search_filter(). 2001-08-05 03:15:46 +00:00
skeeter
7c14b13aa4 Added a search_filter by itself. Can now switch in mid stream from old style to new style menuaction=... by including it in the parameter. 2001-08-05 01:50:48 +00:00
skeeter
b958ac035d Got nextmatchs to work. 2001-08-04 20:38:52 +00:00
Miles Lott
8c570fcb19 php3 fix, rename accounts->memberships() to accounts->membership() to avoid conflict with class var 2001-08-04 14:26:10 +00:00
Miles Lott
5110bf226a Fix setting of $phpgw_info flag in createobject, formatting 2001-08-04 13:18:49 +00:00
seek3r
632ebd0950 added new version of ExecObject and GLOBALS ized everything 2001-08-04 12:11:07 +00:00
skeeter
a4bccad3db Small fixes. 2001-08-04 03:02:01 +00:00
jengo
263a96944f Moved nextmatchs over to template blocks 2001-08-04 02:47:19 +00:00
skeeter
9e51952c23 Renamed the ExecObj() to ExecObject() and redid the exploding of the app.class.function to use a list() in both ExecObject() and CreateObject(). 2001-08-03 21:43:21 +00:00
Miles Lott
52745a7577 fix minor syntax problem 2001-08-03 21:12:28 +00:00
seek3r
9383ac2d97 added inital version of ExecObj 2001-08-03 21:10:02 +00:00
skeeter
12de1bd609 Nextmatchs class now deals with the n-tier layering. 2001-08-03 19:14:10 +00:00
Miles Lott
8f4f5e105c Rollback php3-incompatible code in createobject 2001-08-02 14:56:23 +00:00
Miles Lott
c19c3f3966 Add obj creation test with error_report adjust for createobject, make lang handle
array as first value
2001-08-02 14:33:35 +00:00
Miles Lott
e9635e2082 Convert foreach to reset/while (tested) 2001-08-02 08:59:08 +00:00
Miles Lott
67eb3c7e99 Fix use of $this->headers, was being ignored 2001-08-02 08:31:48 +00:00
skeeter
3d79308405 This will now return the 521 error whenever the socket is not previously opened. 2001-08-01 11:10:23 +00:00
zone
136100fff8 Now with super-multi-switch capabilities (file_repository choice in setup) 2001-07-31 07:00:43 +00:00
zone
48b0508a7c Renamed vfs_wip to vfs_sql 2001-07-31 06:37:55 +00:00
skeeter
83086f8900 This brings the SOAP server up to date as of 27 July 01 with the developers release code. 2001-07-30 03:40:08 +00:00
Miles Lott
a7108085a3 Undo foreach conversion, set debug flags 2001-07-28 20:24:32 +00:00
skeeter
e73a82a001 Small fixes for the automatic inclusion of the ui<app>.header() and ui<app>.footer(). 2001-07-28 14:21:32 +00:00
skeeter
2c726647f5 Small fix for php3 support. 2001-07-28 13:10:17 +00:00
skeeter
176aee8b50 Moved a ->db->query() call inside a condition branch. Cuts down on an unneeded db hit. 2001-07-28 02:18:17 +00:00
angles
016f6e5ce3 fixed typo causing a href not to have closing tag 2001-07-27 19:01:40 +00:00
Miles Lott
f0bd45dd45 Formatting 2001-07-27 10:40:23 +00:00
Miles Lott
e3fbe2fd7a Minor formatting 2001-07-27 10:16:54 +00:00
Miles Lott
7b96d56609 Silence each error 2001-07-27 10:15:15 +00:00
Miles Lott
1fe026c4c0 Rolling back file_space addition 2001-07-27 10:04:54 +00:00
Miles Lott
a2c0d12173 Formatting 2001-07-26 11:25:35 +00:00
Miles Lott
375750ea7e Formatting 2001-07-26 11:13:15 +00:00
Miles Lott
c80c3bbcd9 Formatting (minor) 2001-07-26 11:02:10 +00:00
Miles Lott
cd339aa676 Formatting 2001-07-26 10:54:40 +00:00
Miles Lott
e93a4c7ece Formatting 2001-07-26 10:48:07 +00:00
Miles Lott
260e5705bf Formatting 2001-07-26 10:16:42 +00:00
Miles Lott
7a53e55d30 Trying to make php3 compatible 2001-07-23 11:21:38 +00:00
Miles Lott
f265ea2717 Make _debug_array() work for php3 or 4 2001-07-23 00:02:33 +00:00
Lars Kneschke
bfa73cc185 modified link() to allow also a array as second parameter 2001-07-22 21:28:38 +00:00
Lars Kneschke
2992926f96 changed the order of the link values, the sessionid is now the last one
now you can place the cursor over the link, and the important values
2001-07-22 20:39:11 +00:00
skeeter
636666d306 Small fixes for the footer. 2001-07-21 23:56:43 +00:00
skeeter
300c84ea9a This now takes the app header/footer as methods of the application ui. For this to work, each ui that plans on implementing this, will need to create public_functions header() and footer(). 2001-07-21 23:29:07 +00:00
bettina
24f16fc191 update 2001-07-20 04:39:50 +00:00
bettina
8dac4d5616 update delete cats 2001-07-20 01:05:47 +00:00
bettina
c6f9a06500 update add() plus edit() 2001-07-18 23:50:38 +00:00
Miles Lott
132cc41e5a If the passed tid = ' ', etc, set it to 'n' 2001-07-18 04:55:31 +00:00
Miles Lott
fa7dd52ce4 Add ability to parse 3layer method into an object, will still handle simple
functions as well.  This requires some mods to expose the function params from
each bo class (so far).
2001-07-16 20:36:22 +00:00
Ralf Becker
0af94375ea make filter reload the page automaticly if js availible
button [Filter] in Templates now in <noscript>-tags
2001-07-16 09:01:02 +00:00
Miles Lott
17b5416f42 Allow Template class to be disabled 2001-07-16 06:24:17 +00:00
Miles Lott
c5a72a8bc2 Allow null first argument 2001-07-16 06:17:27 +00:00
Miles Lott
0593d5ed96 Import SOAP classes 2001-07-16 06:05:33 +00:00
Miles Lott
e02021ad21 With assistance from mdean, jengo, and ralfbecker, the multiple params feature
for CreateObject now seems to work.  Need to verify on php3...
2001-07-15 23:27:36 +00:00
Miles Lott
7e4189916e Rollback changes pending further tests 2001-07-15 13:49:37 +00:00
Miles Lott
9571b47278 CreateObject can now pass multiple params to the class 2001-07-15 10:16:12 +00:00
seek3r
3d005e094e too tired to think, so dev stopped here for the night 2001-07-13 08:37:56 +00:00
jengo
68577e4d12 - Moved access log over to 3 tier design\n- edit / view account hooks now support 3 tier design\n- Added view account access history to view account (via hook)\n- Added nexmatchs to access log\n 2001-07-13 07:02:34 +00:00
zone
d633286c8f Added get_journal (). Added the ability to update information from the file system (update_real () and get_real_info ()). Mostly vain attempt to make ls () work fully outside the virtual root 2001-07-13 05:12:18 +00:00
zone
3bc6706fe9 Added flush_journal (), more journaling/versioning tweaks 2001-07-11 23:48:25 +00:00
jengo
5fe11da983 Added feature to return only the link(), not the <a href> back 2001-07-11 22:43:10 +00:00
zone
523e7c5977 Added journaling/versioning. Not well tested yet, but seems to be working fine 2001-07-11 05:57:04 +00:00
zone
17badebebb Added meta_types, extra_sql (). Lots of abstracting SQL calls, file listings, etc. Getting ready for journaling 2001-07-10 21:35:23 +00:00
Miles Lott
55652f386a Remove trailing , 2001-07-10 19:43:30 +00:00
skeeter
b236c39ce1 Cleanup of an extra warning message. 2001-07-10 03:51:14 +00:00
skeeter
f6c3126a54 Fix for caching and ['apps']. 2001-07-10 03:50:38 +00:00
Miles Lott
49c33d7c30 Duplicate possible transy IE download fix in HEAD 2001-07-09 15:58:05 +00:00
zone
39ea83ff32 Added directory linking, slight modification to get_size () 2001-07-09 05:09:27 +00:00
Miles Lott
c0ea75e678 Fix to use new limit_query() parameters 2001-07-08 14:09:04 +00:00
Ralf Becker
17fb6dc9f2 undid the last change with stripslashes 2001-07-08 13:36:04 +00:00
jengo
3b28be028f Removed the array from limit_query() 2001-07-08 04:17:28 +00:00
jengo
59874ad788 SF Feature Request #428390 - Added option to not check the IP of sessions for those behind load balancing proxys 2001-07-08 04:05:10 +00:00
Ralf Becker
93e8af0eb4 getAccount now uses the $id value correct 2001-07-07 21:30:09 +00:00
seek3r
2d97b29cfa patched up php3 compatibility (again) 2001-07-06 06:46:10 +00:00
Miles Lott
792e64f4e2 Moving these back to api 2001-07-05 07:37:36 +00:00
uid30988
769f319a68 Added override_acl, fixed $fakebase in correct_attributes (), made modified date NULL for new dirs 2001-07-04 08:48:19 +00:00
bettina
e479e77987 update function id2name 2001-07-03 14:23:16 +00:00
bettina
446d1e927f update function return_lingle to also return the app_name plus function id2name to only return -- if =='name' 2001-07-03 12:52:13 +00:00
bettina
444ef87edc update function return_lingle to also return the app_name plus function id2name to only return -- if =='name' 2001-07-03 12:38:09 +00:00
bettina
1265474bfb update function return_lingle to also return the app_name plus function id2name to only return -- if =='name' 2001-07-03 12:13:13 +00:00
zone
409a7766b9 Added get_size (), slightly altered ACL policy for being in a group 2001-07-02 20:38:49 +00:00
jengo
ce2c7d262c Moved to use the new limit_query() function 2001-07-02 20:08:57 +00:00
angles
c8359e22ac make custom email passwd fix available to both SM and /email 2001-07-02 20:02:15 +00:00
jengo
8b9ff102bc Moved to use the new limit_query() function 2001-07-02 19:49:50 +00:00
jengo
11d1dbc646 Changed the limit_query() function to make it easier for developers to use (NOT TESTED) 2001-07-02 19:17:04 +00:00
jengo
fc49aa8594 Changed around the limit_query() function to be easier for developers to use 2001-07-02 19:16:20 +00:00
zone
3f0af80b97 ACL support, fixes to path_parts () for / and $fakebase, changes to ls () for single file/$nofile 2001-07-02 19:00:31 +00:00
bettina
e93eb90d38 update function id2name to return also main,app,owner 2001-07-02 02:25:26 +00:00
jengo
9a35bc23ed For some reason this commit from last week never went through 2001-07-01 22:50:53 +00:00
jengo
4152c9f4b9 I fixed something, just forget what it was 2001-07-01 22:49:51 +00:00
zone
e6203dda83 Added file space option, file_space column to phpgw_accounts 2001-07-01 22:30:07 +00:00
jengo
393a9924dd If the menuaction variable is present, it will now add that for the session_action, this is meant for the 3 teir design 2001-07-01 22:26:47 +00:00
mdean
77d13d24d9 Evolved the class to be more current. Untested and incomplete (table locking not implemented). I *hate* locks, anyway... 2001-07-01 19:43:04 +00:00
jengo
50837a1db7 Added a debug array function 2001-07-01 17:57:59 +00:00
mdean
55520a7296 Added option to toggle use of pconnect. 2001-07-01 17:15:19 +00:00
mdean
f58b8aa55e Tidy up function for limit_query. 2001-07-01 17:04:42 +00:00
mdean
030232dfc3 Added limit_query function. 2001-07-01 16:55:07 +00:00
Miles Lott
19b1fcb265 Delete the config by name prior to insertion, just in case it was listed under
another appname previously
2001-07-01 12:12:39 +00:00
skeeter
dde10d310a Fixes proposed by ralfbecker on the ACL. 2001-06-30 14:55:46 +00:00
bettina
b1093ff7e1 added new function to format the number of items 2001-06-28 23:12:12 +00:00
bettina
15f2a238e7 added new function to format the number of items 2001-06-28 20:02:56 +00:00
Miles Lott
43d0b504ae Fixes for php3 and ldapimport/export 2001-06-28 08:59:39 +00:00
Miles Lott
4bd07b53e2 php3 fix - remove a comma 2001-06-28 08:58:42 +00:00
Miles Lott
c3f03c7733 Update to add new group exclusion, add nextid to create (needs table change) 2001-06-28 00:38:45 +00:00
Miles Lott
6d5b9f1c8c Not needed 2001-06-28 00:37:01 +00:00
Miles Lott
1dda9847ac This should now work, with setup3 and phpgw 2001-06-28 00:35:44 +00:00
zone
eadda85332 Updated to PHPGW_IMAGES_DIR 2001-06-27 09:31:38 +00:00
zone
6627870e4d Updated to SEP, very meager beginnings of full ACL support 2001-06-27 07:20:12 +00:00
Miles Lott
43a9aceecf Fix for new vars 2001-06-27 05:07:24 +00:00
Miles Lott
880bf3a86b Undo last change 2001-06-27 01:31:32 +00:00
Miles Lott
f9eaea8572 Add 'backup' to denied group/user list 2001-06-27 01:24:37 +00:00
Miles Lott
1f640379d3 Fix save repository 2001-06-27 00:44:20 +00:00
Miles Lott
aa53cee89e Add global denied arrays, for cases of import LDAP->contacts 2001-06-26 23:54:34 +00:00
Miles Lott
397e532e6e format class.accounts.inc.php, update class.accounts_contacts.inc.php to almost
working status
2001-06-26 23:16:18 +00:00
jengo
7e538b6df2 Removed legecy variables that should have been removed before 2001-06-26 21:40:45 +00:00
Miles Lott
83db6d7fb0 Moved the one altered function into old file as new_*, remove _wip 2001-06-26 21:29:39 +00:00
Miles Lott
43e6a077ed Slight mod to make it work independently for users/groups (for ldap) 2001-06-26 10:25:10 +00:00
Miles Lott
c099d2d296 Add as yet unused get_nextid() 2001-06-26 10:22:25 +00:00
Miles Lott
829250b0c0 Just some formatting cleanup, but preping to mod ldap to be all ldap 2001-06-26 09:51:16 +00:00
mdean
40ec10583d Added some missing functionality. 2001-06-26 01:47:36 +00:00
skeeter
b9671eacfa Fix for bug #435326. 2001-06-25 02:45:36 +00:00
skeeter
aff1f64be4 Fix for bug #432123. 2001-06-25 02:37:18 +00:00
skeeter
a704591312 Fix for bug #435743. 2001-06-24 02:18:47 +00:00
skeeter
2dd2c42356 Missed doing a ->next_record() call when loading configs cache option. 2001-06-23 11:01:59 +00:00
jengo
f35780f925 dded a way for apps to allow certain pages only to admins while keeping there currentapp set to the real appname.
$phpgw_info['flags']['admin_only'] = True;
is the format
2001-06-23 05:28:03 +00:00
Miles Lott
5304ec67f1 Lock app_sessions table in config class, and show preferences config in setup3 2001-06-23 04:37:31 +00:00
skeeter
36ee6b1dc2 fix for bug #435349. 2001-06-23 02:00:12 +00:00
skeeter
960a50b148 Admin can enable disable caching on the fly now. 2001-06-23 01:01:39 +00:00
bettina
51b8c75d57 update form_select() to use langs 2001-06-22 23:56:03 +00:00
bettina
dcbf229a19 moved formatted_address() to contacts class 2001-06-22 05:57:49 +00:00
bettina
ce483daaac added new function to format addresses in country specific style 2001-06-22 03:37:08 +00:00
bettina
2d7cb8b512 added new function to format addresses in country specific style 2001-06-22 02:19:54 +00:00
bettina
34fcd12d4b added new function to format addresses in country specific style 2001-06-22 01:58:47 +00:00
skeeter
c635b8226a Small enhancements to cache. 2001-06-22 01:22:22 +00:00
skeeter
f069e2fb06 Caching has been reworked and added back in. 2001-06-22 00:49:32 +00:00
jengo
38e1b201d7 Some changes needed for the reg app 2001-06-21 08:36:08 +00:00
jengo
8831087537 Added base64 encodeing to fix invaild char in passwords 2001-06-21 08:31:07 +00:00
seek3r
83a0af3424 trying to get windows support working 2001-06-20 08:36:55 +00:00
zone
45d28847c8 Switched arguments to write () 2001-06-18 21:34:08 +00:00
zone
14052ed584 Major changes for handling files outside the virtual root. Added real, and mask to path_parts. Got rid of RELATIVE_NONE for internal calls in favor of mask 2001-06-18 21:18:22 +00:00
zone
c86729da45 Fixed INSERT 2001-06-18 19:25:42 +00:00
skeeter
4546f7aaa1 Applying a patch from ralfbecker. This gives the admin the ability to grant ACL rights at the group level. 2001-06-18 03:03:48 +00:00
Miles Lott
41869acba8 Finish up reformatting 2001-06-17 22:30:18 +00:00
jengo
9a7c490aed Added function to return state names, minor reformating, merged the country class in 2001-06-17 22:19:00 +00:00
skeeter
7e3a1199e6 Cleanups for warning messages. 2001-06-17 16:55:04 +00:00
skeeter
6ebdeeb1eb Minor speed enhancements. Also cleans up a few warning messages. 2001-06-17 16:52:25 +00:00
zone
b1e5cb11f5 Added "clean" variables for SQL queries 2001-06-17 07:00:34 +00:00
skeeter
4659ebf46c Fixed a problem where the level still had a small problem. This will still leave a trailing '&' at the end of the URL. 2001-06-17 04:40:04 +00:00
skeeter
83c2195f27 Fixed a problem where the level parameters were not being set correctly whe using cookie based sessions. 2001-06-17 04:23:35 +00:00
zone
aa5c126bca Made INSERT's SQL compliant 2001-06-16 21:44:53 +00:00
Miles Lott
e04d9617ed Moving hook_after_navbar hook 2001-06-16 19:39:33 +00:00
skeeter
51e871070c Fixes to work with the new crypto class. 2001-06-16 19:04:44 +00:00
skeeter
7e2334d9c7 This looks like this has been a long time problem. The mcrypt_generic_init() needed to be called before _EVERY_ mcrypt_generic() and mdecrypt_generic() call. There is a change in the functionality of decrypt now. When decrypting complex object structures, it does not automatically unserialize the object. This is to give the app developer the ability to reset stdClass types to the appropriate class they should be. 2001-06-16 19:02:31 +00:00
jengo
08653f908d list_templates() only returns directorys now 2001-06-16 10:51:22 +00:00
zone
3d8137b0d5 Added __LINE__ and __FILE__ to SQL queries. Considered having path_parts return clean variables 2001-06-16 03:54:10 +00:00
Miles Lott
74b4a59581 Minor formatting update 2001-06-15 21:35:07 +00:00
Miles Lott
3356dc1453 Reformatting only 2001-06-15 21:29:33 +00:00
Miles Lott
e475245b8d Add experimental file-based translation class. Not for general
consumption, but it almost works...
2001-06-15 21:23:46 +00:00
zone
0f7534e79f Reversed order of arguments for set_attributes () to be more uniform 2001-06-14 08:50:28 +00:00
zone
29bc7a837c Added db_clean () which fixes single quote problems. Made all functions use set_attributes () 2001-06-14 08:24:24 +00:00
zone
dafbf32c4b Prevent moving directories into themselves 2001-06-14 06:39:10 +00:00
Miles Lott
c7926c1366 Reformat almost all functions, except for two, which use unbracketed
if statements and are very confusing to me... if this breaks anyone, please
rollback cvs!
2001-06-13 21:10:36 +00:00
Miles Lott
c73aeb5c62 Make sure there is new data before deleting the old data 2001-06-13 15:44:56 +00:00
Miles Lott
9d8b90e35d Formatting, including a lot of " removed, and it still works! 2001-06-13 06:27:06 +00:00
Miles Lott
1548a531b7 change from dbl to single ticks 2001-06-13 06:24:07 +00:00
Miles Lott
d9037970ec Add exception for 'config' in hook_single(); 2001-06-12 17:21:03 +00:00
jengo
d1eaa5b619 Added function to test if an account is expired or not 2001-06-10 09:43:11 +00:00
Miles Lott
6d81baf960 Update id2name/name2/id/get_type, and add modified auth class for ldap_wip 2001-06-09 21:05:42 +00:00
Miles Lott
d54f278e45 Found more references to an unconstant 2001-06-08 15:01:35 +00:00
Miles Lott
ecc43159e8 Change sep to SEP in hook_single 2001-06-08 14:57:38 +00:00
Miles Lott
dbc7f00455 Add additional check to make sure appname is not empty 2001-06-08 14:46:18 +00:00
skeeter
8af3bb58e6 Fixed a problem where the type was trying to be changed from String to Array in hook(). That normally wouldn't work in php3. 2001-06-08 01:43:36 +00:00
skeeter
dbb58d801c Fixed a problem where the type was trying to be changed from Boolean to String. Shouldn't work in php3. 2001-06-07 12:10:15 +00:00
Miles Lott
548b5ba431 Change phpgwapi app enable to 3, set navbar to ignore 2 & 3, add notifywindow app
with enable of 2, adjust admin tools to ignore enable of 3, not 2
2001-06-07 11:28:31 +00:00
Miles Lott
9f21bfbab4 Add exception for prereferences app 2001-06-07 09:38:11 +00:00
bettina
6121405967 update formated_list to prevent error msg if array empty 2001-06-07 07:44:26 +00:00
bettina
f64f65b91a update acl in return_array 2001-06-07 06:25:48 +00:00
jengo
950eb824d2 Changed around hooks code, its now cleaner and requires you to specify the location, the hook file names have also changed, the old format was redundent 2001-06-07 01:46:12 +00:00
jengo
cbb3d833ea Removed some of the phpgw_info cache code 2001-06-07 00:33:48 +00:00
bettina
941f91ab7b update 2001-06-06 03:17:45 +00:00
angles
cc9b7f8b35 Experimental- fix multiple attachment problem, add sig before attachments, fix Message-Boundary placement 2001-06-05 07:44:39 +00:00
zone
303110b926 Added correct_attributes (), fixed dir () prototype 2001-06-05 06:32:30 +00:00
Miles Lott
a6bbcbb5f9 Add expires field to auto_add (30 day default) - how else to handle this? 2001-06-04 20:29:37 +00:00
Ralf Becker
2c0c0d2a40 sbox2 extends now sbox, new function getDate 2001-06-04 18:23:22 +00:00
Ralf Becker
a68a536616 getYears: offered range to select from has to include already selected year 2001-06-04 14:13:32 +00:00
jengo
0e768f7268 Added some transactions 2001-06-04 01:17:40 +00:00
jengo
baeb691505 Added a few transactions 2001-06-04 01:07:23 +00:00
jengo
bf66467d0d For some reason, using pg_Exec() with transaction_begin() wasn't always working 2001-06-04 00:37:22 +00:00
jengo
ebc976dbdb Possiable fix for databases not being created when the user doesn't specify a host 2001-06-03 23:50:50 +00:00
jengo
cf9686e512 I broke a few things durring last commit, tring it again ... 2001-06-03 18:20:05 +00:00
jengo
37bd9763fa Added feature to drop the previous login into appsessions, this way developer can find out how long its been since they last logged in.
- Formating in sqlssl
- Fixed change_password() in sqlssl not being correct and based on older versions
2001-06-03 17:58:12 +00:00
skeeter
1cf25cccbe Fix for bug #429849 - Returning single element rather than array 2001-06-03 17:19:02 +00:00