Roland Gruber
|
98e4729ec3
|
added self service page header
|
2009-02-13 18:52:59 +00:00 |
Roland Gruber
|
c322f32d6e
|
fixed PDF output
|
2009-02-13 17:37:24 +00:00 |
Roland Gruber
|
6687cf9825
|
other delete image
|
2009-02-10 19:51:57 +00:00 |
Roland Gruber
|
3a2b3598ea
|
first part of EDU person
|
2009-02-10 19:41:20 +00:00 |
Roland Gruber
|
107cb82aab
|
added businessCategory to self service
|
2009-02-08 18:15:21 +00:00 |
Roland Gruber
|
6e9182d6e5
|
fixed PHPdoc
|
2009-02-07 22:57:04 +00:00 |
Roland Gruber
|
9de1361660
|
help tooltips
|
2009-02-07 20:37:06 +00:00 |
Roland Gruber
|
cf28a64798
|
fixed help tooltips
|
2009-02-07 20:36:56 +00:00 |
Roland Gruber
|
1000f6c1fe
|
added tooltips, removed link taborder
|
2009-02-07 19:25:22 +00:00 |
Roland Gruber
|
e0c56026df
|
added filter for users/hosts
|
2009-02-04 17:29:13 +00:00 |
Roland Gruber
|
85eb80e254
|
display subgroups
|
2009-02-03 19:54:57 +00:00 |
Roland Gruber
|
854cc824ef
|
typo
|
2009-02-01 19:04:52 +00:00 |
Roland Gruber
|
d8d2df1be0
|
added nisNetgroupTriple to file upload
|
2009-02-01 18:57:56 +00:00 |
Roland Gruber
|
bbb66734fe
|
moved host naming convention checks to Samba module
|
2009-02-01 16:24:37 +00:00 |
Roland Gruber
|
d85007120b
|
typo
|
2009-02-01 16:18:25 +00:00 |
Roland Gruber
|
42f377dae0
|
hostname no longer requires $ at the end
|
2009-02-01 16:18:05 +00:00 |
Roland Gruber
|
b8974a6872
|
changed PDF output
|
2009-02-01 15:56:48 +00:00 |
Roland Gruber
|
7d8eb0406a
|
removed nisNetgroupTriple from default list attributes
|
2009-02-01 15:56:18 +00:00 |
Roland Gruber
|
e9117aa966
|
implemented host/user picking
|
2009-01-31 14:58:58 +00:00 |
Roland Gruber
|
0582fc91df
|
support image buttons in meta HTML
|
2009-01-31 14:57:20 +00:00 |
Roland Gruber
|
8df4d39650
|
NIS netgroups
|
2009-01-31 10:14:27 +00:00 |
Roland Gruber
|
a8a597258a
|
if DHCP main settings, check if entry is valid
|
2009-01-18 18:57:14 +00:00 |
Roland Gruber
|
340366c6ee
|
if DHCP main settings, check if entry is valid
|
2009-01-10 17:37:09 +00:00 |
Roland Gruber
|
3e9ca1d030
|
fixed error messages
|
2009-01-10 17:36:31 +00:00 |
Roland Gruber
|
72acec3616
|
allow host names for fixed IP
|
2009-01-10 17:15:30 +00:00 |
Roland Gruber
|
565d54cb99
|
support multiple Netbios name servers (RFE 2180179)
|
2009-01-04 15:56:13 +00:00 |
Roland Gruber
|
9e6812d8c2
|
fixed IP editing
|
2009-01-04 15:32:16 +00:00 |
Roland Gruber
|
7c718c2a0b
|
moved profile options to meta data
|
2009-01-04 15:31:28 +00:00 |
Roland Gruber
|
ffa29eb21c
|
added 2009 copyright
|
2009-01-03 19:08:00 +00:00 |
Roland Gruber
|
f5456c9c57
|
refactored internal attribute management
|
2009-01-03 19:05:16 +00:00 |
Roland Gruber
|
f867726a68
|
fixed managed attributes
|
2009-01-03 19:04:50 +00:00 |
Roland Gruber
|
bf96653dc0
|
allow to create Kolab entries without Unix part
|
2008-12-30 16:41:39 +00:00 |
Roland Gruber
|
23e78e73a9
|
check password only if one is set
|
2008-12-30 16:39:12 +00:00 |
Roland Gruber
|
061914e6de
|
fixed attribute loading for main settings
|
2008-12-30 15:45:55 +00:00 |
Roland Gruber
|
f561035c87
|
remove obsolete code
|
2008-12-30 15:45:13 +00:00 |
Roland Gruber
|
97fd40b92b
|
added PDF support and fixed some bugs
|
2008-12-30 15:25:31 +00:00 |
Roland Gruber
|
7b54e42c6c
|
added PDF support and fixed some bugs
|
2008-12-29 19:21:08 +00:00 |
Roland Gruber
|
15fd4be1ca
|
added PDF support
|
2008-12-29 17:39:05 +00:00 |
Roland Gruber
|
9890c95937
|
added PDF support
|
2008-12-29 17:22:06 +00:00 |
Roland Gruber
|
0f91268ec1
|
fixed error when account without DHCP statements was loaded
|
2008-12-29 16:59:54 +00:00 |
Roland Gruber
|
6d4eb8b4d9
|
code cleanup
|
2008-12-28 19:22:07 +00:00 |
Roland Gruber
|
244886f50f
|
added rfc2307bisPosixGroup
|
2008-12-18 14:59:02 +00:00 |
Roland Gruber
|
9884026d0e
|
fixed copyright
|
2008-12-18 14:58:05 +00:00 |
Roland Gruber
|
49a0222918
|
added rfc2307bisPosixGroup
|
2008-12-18 12:21:07 +00:00 |
Roland Gruber
|
a5a71f27b1
|
added rfc2307bisPosixGroup
|
2008-12-18 12:06:23 +00:00 |
Roland Gruber
|
90eea5c331
|
added option to manage description attribute
|
2008-12-17 20:30:56 +00:00 |
Roland Gruber
|
4e6fbcc839
|
added option if attribute "cn" should be managed (needed for rfc2307bisPosixGroup)
|
2008-12-17 18:44:37 +00:00 |
Roland Gruber
|
9630e16354
|
prepare for subclassing
|
2008-12-17 17:19:17 +00:00 |
Roland Gruber
|
efdefe1fc4
|
remove obsolete code
|
2008-12-17 17:14:28 +00:00 |
Roland Gruber
|
61d2bf5a2e
|
added get_pdfEntries()
|
2008-12-17 17:09:23 +00:00 |
Roland Gruber
|
6f06003527
|
remove obsolete code
|
2008-12-17 17:06:26 +00:00 |
Roland Gruber
|
fe6a9b0516
|
profile options for can/must change password
|
2008-12-15 22:27:36 +00:00 |
Roland Gruber
|
c4662bb330
|
added option to expire password
|
2008-12-14 18:48:59 +00:00 |
Roland Gruber
|
489a72cf29
|
self service: set sambaPwdLastSet, sync sambaPwdCan/MustChange
|
2008-12-14 10:20:05 +00:00 |
Roland Gruber
|
c088243b48
|
self service: check if there is a Kolab extension
|
2008-12-14 10:18:36 +00:00 |
Roland Gruber
|
f3db3ffdcd
|
allow to read min/maxPwdAge for Samba domains
|
2008-12-09 18:52:39 +00:00 |
Roland Gruber
|
3d109afd4b
|
removed obsolete help entry
|
2008-12-09 18:40:42 +00:00 |
Roland Gruber
|
abd240899f
|
use global LDAP suffix from self service
|
2008-12-09 18:34:45 +00:00 |
Roland Gruber
|
47b946086f
|
make all self service settings available in modules
|
2008-12-09 18:29:58 +00:00 |
Roland Gruber
|
3282a234bb
|
added used attributes
|
2008-12-07 19:13:50 +00:00 |
Roland Gruber
|
abeb9bc3da
|
smaller fixes
|
2008-11-18 19:06:55 +00:00 |
Roland Gruber
|
6e48ecdb47
|
made Kolab optional
|
2008-11-18 19:03:10 +00:00 |
Roland Gruber
|
b71e0e12a5
|
made shadowAccount optional
|
2008-10-21 18:47:45 +00:00 |
Roland Gruber
|
c0a564d347
|
fixed typo
|
2008-10-13 16:23:43 +00:00 |
Roland Gruber
|
f3b4d84721
|
fixed typo
|
2008-09-30 16:15:14 +00:00 |
Roland Gruber
|
199ebea653
|
added dependency
|
2008-09-28 14:41:11 +00:00 |
Roland Gruber
|
f766ad5c5b
|
translation update
|
2008-09-28 12:18:56 +00:00 |
Roland Gruber
|
e51a621584
|
added more .htaccess files
|
2008-09-28 08:36:50 +00:00 |
Roland Gruber
|
2d410b0658
|
DHCP
|
2008-09-24 16:38:27 +00:00 |
Roland Gruber
|
e6adbf3c45
|
DHCP
|
2008-09-18 18:23:26 +00:00 |
Roland Gruber
|
ce804f7090
|
DHCP
|
2008-09-17 19:44:41 +00:00 |
Roland Gruber
|
12bd529f95
|
""
|
2008-09-16 18:48:21 +00:00 |
Roland Gruber
|
c34304027a
|
DHCP module
|
2008-09-16 18:40:14 +00:00 |
Roland Gruber
|
b9f1527ba0
|
fixed checkASCII and gecos in upload (2103936)
|
2008-09-16 17:11:44 +00:00 |
Roland Gruber
|
f1bd23b1e5
|
escape DNs
|
2008-09-04 17:43:53 +00:00 |
Roland Gruber
|
b7c17b5801
|
added escapeDN()
|
2008-09-04 17:21:29 +00:00 |
Roland Gruber
|
f20f468dbb
|
reformatting
|
2008-08-23 16:08:50 +00:00 |
Roland Gruber
|
a2b4c49531
|
added profile option for lamdaemon
|
2008-08-10 19:53:13 +00:00 |
Roland Gruber
|
71f32b6b5a
|
fixed shadowLastChange
|
2008-08-10 13:31:45 +00:00 |
Roland Gruber
|
80e50fe725
|
replaced MHash by Hash
|
2008-08-09 11:18:36 +00:00 |
Roland Gruber
|
66e40c7222
|
log denied clients
|
2008-08-06 19:01:03 +00:00 |
Roland Gruber
|
c556c18617
|
initial checkin
|
2008-08-05 19:17:15 +00:00 |
Roland Gruber
|
c776a86d87
|
removed obsolete labels
|
2008-08-05 19:11:37 +00:00 |
Roland Gruber
|
2c6751b7bb
|
fixed PHP notices
|
2008-07-22 17:30:11 +00:00 |
Roland Gruber
|
a0ac8f504e
|
added Syslog logging for lamdaemon
|
2008-07-21 20:06:11 +00:00 |
Roland Gruber
|
1f6e60114d
|
do not check UID/GID for existing accounts
|
2008-07-17 19:25:30 +00:00 |
Roland Gruber
|
8eff004b83
|
allow to specify SSH port
|
2008-07-03 18:42:26 +00:00 |
Roland Gruber
|
f33f26fd19
|
allow larger UIDs/GIDs
|
2008-06-29 13:51:47 +00:00 |
Roland Gruber
|
99123b0d18
|
do not print errors of touch command
|
2008-05-16 17:32:02 +00:00 |
Roland Gruber
|
160a5e3c40
|
reduced PHP notices
|
2008-05-15 17:32:59 +00:00 |
Roland Gruber
|
1d45216020
|
better check of shadowlastchange for self-service
|
2008-05-15 17:22:32 +00:00 |
Roland Gruber
|
af38b4989b
|
removed PHP notices
|
2008-04-28 17:59:08 +00:00 |
Roland Gruber
|
38f71bd8e9
|
fixed PHP notices
|
2008-04-24 18:57:51 +00:00 |
Roland Gruber
|
e5f0cdbbf6
|
fixed PHP notices
|
2008-04-24 18:50:02 +00:00 |
Roland Gruber
|
e2637e0995
|
translation updates
|
2008-04-15 14:33:01 +00:00 |
Roland Gruber
|
a4c521b52a
|
fixed typos
|
2008-04-15 14:31:17 +00:00 |
Roland Gruber
|
ae3fa56a8b
|
fixed PHP notice
|
2008-03-27 19:57:42 +00:00 |
Roland Gruber
|
b00fd3dffb
|
added missing property
|
2008-03-27 19:54:01 +00:00 |
Roland Gruber
|
714914a845
|
fixed expiry times
|
2008-03-25 19:01:10 +00:00 |
Roland Gruber
|
8c72fe4dfd
|
move inactive modules to the end
|
2008-03-25 17:48:16 +00:00 |
Roland Gruber
|
d8f9d405cd
|
apply filter when enter is pressed in filter box
|
2008-03-21 15:33:25 +00:00 |
Roland Gruber
|
c17b4a13d8
|
removed margin attributes
|
2008-03-16 10:52:50 +00:00 |
Roland Gruber
|
6c40ab33d7
|
allow to add a user as memberuid in his primary group
|
2008-03-15 19:12:19 +00:00 |
Roland Gruber
|
c6c9947dc6
|
support rights setting for homedir
|
2008-03-09 11:58:46 +00:00 |
Roland Gruber
|
c1efcc6c27
|
finished self service
|
2008-03-04 19:47:14 +00:00 |
Roland Gruber
|
8df0d846ae
|
first part of selfservice
|
2008-03-01 12:25:39 +00:00 |
Roland Gruber
|
72b0b167b5
|
code cleanup
|
2008-03-01 12:24:47 +00:00 |
Roland Gruber
|
53f13841f7
|
finished module
|
2008-02-26 19:55:37 +00:00 |
Roland Gruber
|
feacb00fff
|
fixed upload text
|
2008-02-26 19:55:19 +00:00 |
Roland Gruber
|
052c6bf39d
|
code cleanup
|
2008-02-25 20:54:11 +00:00 |
Roland Gruber
|
6151b048c6
|
first version of phpGroupwareUser
|
2008-02-24 18:53:25 +00:00 |
Roland Gruber
|
73e7125001
|
initial checkin
|
2008-02-23 10:24:27 +00:00 |
Roland Gruber
|
03bc56d757
|
added finalDN to accountContainer
|
2008-02-23 10:23:40 +00:00 |
Roland Gruber
|
e7e3b581f2
|
added password policies
|
2008-02-14 17:37:02 +00:00 |
Roland Gruber
|
b5ee91b50e
|
added password policy settings
|
2008-02-10 13:19:05 +00:00 |
Roland Gruber
|
bb0ecf864f
|
added l, st, carLicense and physicalDeliveryOfficeName
|
2008-02-09 18:01:29 +00:00 |
Roland Gruber
|
af1cf37b5b
|
added meta HTML documentation
|
2008-02-07 19:05:44 +00:00 |
Roland Gruber
|
4b43f609c5
|
hash passwords with SSHA
|
2008-02-05 19:33:03 +00:00 |
Roland Gruber
|
d43c7b78c7
|
moved documentation from module specification to baseModule
|
2008-02-05 18:40:57 +00:00 |
Roland Gruber
|
6b54964610
|
more documentation
|
2008-02-03 18:46:11 +00:00 |
Roland Gruber
|
7e5c281adf
|
no more external help links
documented get_help()
|
2008-02-03 18:37:05 +00:00 |
Roland Gruber
|
55b2a0729f
|
more documentation for get_pdf_entries
|
2008-02-03 17:56:02 +00:00 |
Roland Gruber
|
140c66debb
|
documented meta data in PHPDoc
|
2008-02-03 14:28:28 +00:00 |
Roland Gruber
|
cc7c8f8b82
|
allow @ in user names
|
2008-01-29 18:22:36 +00:00 |
Roland Gruber
|
207718d097
|
show mail address as link
|
2008-01-26 13:01:36 +00:00 |
Roland Gruber
|
0b7476bb07
|
added onchange for select in meta HTML
|
2008-01-19 13:06:03 +00:00 |
Roland Gruber
|
903044dc98
|
support textarea for config options
|
2008-01-16 19:56:31 +00:00 |
Roland Gruber
|
b70b319b62
|
fixed domain changing
|
2008-01-15 18:50:40 +00:00 |
Roland Gruber
|
8df6bab139
|
skip user input processing if profile is loaded
|
2008-01-15 18:13:34 +00:00 |
Roland Gruber
|
0420e173ef
|
made doPost protected
|
2008-01-14 18:10:13 +00:00 |
Roland Gruber
|
a48f7cf933
|
PHP5 changes
|
2008-01-08 18:23:19 +00:00 |
Roland Gruber
|
fbfe265310
|
removed obsolete query
|
2008-01-08 18:18:53 +00:00 |
Roland Gruber
|
31eaed9e4a
|
removed obsolete variables
|
2008-01-08 18:13:01 +00:00 |
Roland Gruber
|
6f1dac455c
|
removed obsolete parameter
|
2008-01-08 18:10:41 +00:00 |
Roland Gruber
|
c49409020d
|
fixed return value
|
2008-01-08 17:49:50 +00:00 |
Roland Gruber
|
ca6a7a555a
|
alias name is required
|
2008-01-08 17:44:00 +00:00 |
Roland Gruber
|
808bd8818b
|
style changes
|
2008-01-03 19:33:56 +00:00 |
Roland Gruber
|
3040ef9add
|
style fix
|
2008-01-02 20:31:39 +00:00 |
Roland Gruber
|
ce5ce11d1a
|
translation update
|
2008-01-02 20:20:53 +00:00 |
Roland Gruber
|
6e324a83f6
|
added new security model
|
2008-01-01 15:00:46 +00:00 |
Roland Gruber
|
93d4c1417e
|
added new security model
|
2007-12-30 16:08:54 +00:00 |
Roland Gruber
|
4808d138fd
|
added new security model
|
2007-12-30 12:32:48 +00:00 |
Roland Gruber
|
4bb25a5c17
|
made members of config class private
|
2007-12-29 18:59:09 +00:00 |
Roland Gruber
|
0894a393ef
|
manage host attribute only if schema allows it
|
2007-12-29 11:02:57 +00:00 |
Roland Gruber
|
eac2780860
|
use __construct()
|
2007-12-28 16:08:56 +00:00 |
Roland Gruber
|
20b227c5b2
|
fixed escape sequences
|
2007-12-28 16:08:04 +00:00 |
Roland Gruber
|
066bdc0713
|
removed unreachable code
|
2007-12-28 16:07:41 +00:00 |
Roland Gruber
|
72426b7554
|
fixed escape sequences
|
2007-12-28 15:57:43 +00:00 |
Roland Gruber
|
cf6979e3b4
|
added session id to log messages
|
2007-12-28 10:36:07 +00:00 |
Roland Gruber
|
9ff03c0462
|
fixed success page
|
2007-12-28 09:10:07 +00:00 |
Roland Gruber
|
3911fe3c73
|
removed main page
|
2007-12-26 18:49:04 +00:00 |
Roland Gruber
|
4cc1ba3354
|
moved profile and reset button to top
|
2007-12-11 18:52:07 +00:00 |
Roland Gruber
|
e6703a7413
|
moved RDN selection to content header
|
2007-12-09 19:39:09 +00:00 |
Roland Gruber
|
e6a5a5ad28
|
moved list size setting to new list configuration page
|
2007-12-09 10:45:04 +00:00 |
Roland Gruber
|
0590e6a2cc
|
moved profile controls to left area
|
2007-12-04 15:58:05 +00:00 |
Roland Gruber
|
9545997fda
|
removed obsolete table around reset button
|
2007-12-04 15:24:34 +00:00 |
Roland Gruber
|
4f762687fc
|
moved suffix box to content head area
|
2007-12-03 13:01:17 +00:00 |
Roland Gruber
|
b634470adf
|
fixed problem that selected account was not available for PDF
|
2007-12-03 09:18:20 +00:00 |
Roland Gruber
|
119ad6352a
|
bigger icons
|
2007-12-01 12:34:52 +00:00 |
Roland Gruber
|
242017bce7
|
moved JavaScript code to separate file
|
2007-11-25 13:08:00 +00:00 |
Roland Gruber
|
f5c976cc06
|
new PDF system
|
2007-11-25 12:52:18 +00:00 |
Roland Gruber
|
703688cc22
|
added icons
|
2007-11-19 19:16:08 +00:00 |
Roland Gruber
|
d6200ee947
|
added icons for modules
|
2007-11-19 18:42:03 +00:00 |
Roland Gruber
|
14cdf2ed44
|
random passwords
|
2007-11-18 12:54:09 +00:00 |
Roland Gruber
|
9e36b42af0
|
use new $autoAddObjectClasses
|
2007-11-18 12:03:52 +00:00 |
Roland Gruber
|
0e44373ffb
|
Samba 3 part is now optional
|
2007-11-18 11:16:03 +00:00 |
Roland Gruber
|
aedfdf029e
|
layout fix for IE
|
2007-11-18 10:38:11 +00:00 |
Roland Gruber
|
2ae94931f5
|
added $autoAddObjectClasses
|
2007-11-18 10:35:56 +00:00 |
Roland Gruber
|
19cd235891
|
added fix for half-deleted sessions
|
2007-11-17 14:18:59 +00:00 |
Roland Gruber
|
d569fc3528
|
new status images
|
2007-11-15 16:33:00 +00:00 |
Roland Gruber
|
ed37d9f7cf
|
performance enhancement
|
2007-11-15 11:02:57 +00:00 |
Roland Gruber
|
ba653d0c0b
|
more space for input fields
|
2007-11-14 16:47:08 +00:00 |
Roland Gruber
|
40a8452fa3
|
removed duplicate schema parsing
|
2007-11-14 13:07:11 +00:00 |
Roland Gruber
|
15c4d4ae44
|
load PDF classes only when needed
|
2007-11-14 10:28:39 +00:00 |
Roland Gruber
|
5a1d88bf59
|
add parent object classes for new accounts
|
2007-11-14 09:12:27 +00:00 |
Roland Gruber
|
a6c2552322
|
IE fixes
|
2007-11-13 17:49:48 +00:00 |
Roland Gruber
|
e62ebcd65b
|
removed check_ip()
|
2007-11-13 10:47:08 +00:00 |
Roland Gruber
|
ce214c9885
|
new configuration system for the account lists
|
2007-11-11 14:01:16 +00:00 |
Roland Gruber
|
a7d3bbd43c
|
enable host passwords (RFE 1754069)
|
2007-11-10 15:16:55 +00:00 |
Roland Gruber
|
b23002ad67
|
hashed password
|
2007-11-08 19:19:50 +00:00 |
Roland Gruber
|
6260184600
|
hashed password
|
2007-11-07 21:02:13 +00:00 |
Roland Gruber
|
1af6bf4315
|
use list suffix as default
|
2007-11-06 17:42:37 +00:00 |
Roland Gruber
|
f074634070
|
added function to create random passwords
|
2007-11-05 18:16:29 +00:00 |
Roland Gruber
|
4b985473d8
|
added password changing tool
|
2007-11-05 18:15:26 +00:00 |
Roland Gruber
|
450ddc8ea3
|
allow to switch sorting; tool interface added
|
2007-11-05 18:14:38 +00:00 |
Roland Gruber
|
f9a57564c7
|
include selfService.inc
|
2007-11-05 18:12:53 +00:00 |
Roland Gruber
|
b3e160211f
|
PhpDoc fixes
|
2007-11-03 14:17:19 +00:00 |
Roland Gruber
|
02da6e5ab5
|
PhpDoc fixes
|
2007-11-03 13:47:59 +00:00 |
Roland Gruber
|
bb5380c102
|
PhpDoc fixes
|
2007-11-03 13:24:00 +00:00 |
Roland Gruber
|
3e4c3d71ce
|
fixed typo
|
2007-11-03 13:22:12 +00:00 |
Roland Gruber
|
cecd948b76
|
PhpDoc fix
|
2007-11-03 13:17:39 +00:00 |
Roland Gruber
|
fc1050cd3d
|
use images for navigation bar
|
2007-11-01 15:09:34 +00:00 |
Roland Gruber
|
125ecf9623
|
fixed file upload
|
2007-11-01 14:57:01 +00:00 |
Roland Gruber
|
4261b560d2
|
fixed typo
|
2007-10-30 13:43:00 +00:00 |
Roland Gruber
|
cd5c226ec8
|
fixed HTML warnings
|
2007-10-28 19:40:30 +00:00 |
Roland Gruber
|
2335e1887c
|
updated help
|
2007-10-28 15:06:59 +00:00 |
Roland Gruber
|
99db4a0ecc
|
code formating
|
2007-10-28 13:56:28 +00:00 |
Roland Gruber
|
ed125d96c6
|
allow editing the suffix itself
|
2007-10-28 13:47:04 +00:00 |
Roland Gruber
|
11acadddd1
|
replaced some for loops by foreach loops
|
2007-10-28 12:48:13 +00:00 |
Roland Gruber
|
ca9869174d
|
replaced some for loops by foreach loops
|
2007-10-28 12:31:31 +00:00 |