fix reverted code in prior commit
[openemr.git] / gacl / CHANGELOG
blob602f9f790ed9dfd8a2e0b0aaefa47bc71854f9ad
1 Tue Sep 05 2006
2         mikeb - Release version 3.3.7
3 Sun Sep 03 2006
4         mikeb - Update documentation to reflect using gacl.ini.php
5         mikeb - Allow ADODB_DIR to be set prior to GACL class being loaded
6         mikeb - Remove ADODB_FETCH_MODE global variable, use just setFetchMode() so we don't conflict with other
7                 application code.
8         mikeb - Upgrade Smarty v2.6.14
9         mikeb - Upgrade ADODB v4.92
10         mikeb - Switch from CVS to SVN on sourceforge.net.
11 Sat Dec 03 2005
12         mikeb - Release version 3.3.6
13 Wed Oct 26 2005
14         mikeb - Added function get_section_data() thanks to Rodrigo Moraes <rodrigo.moraes@gmail.com>
15 Mon Oct 17 2005
16         mikeb - Fixed a bunch of warnings/notices thanks to Charles M Hall <cmhall@hawaii.edu>
17 Thu Oct 13 2005
18         mikeb - Fixed a few PHP NOTICEs
19 Sun Oct 9 2005
20         mikeb - Fixed PHP5 warning/notice of reference in gacl_api.class to do with end() call.
21 Thu Sep 22 2005
22         mikeb - added dirname() to the config_file variable in admin/gacl_admin.inc.php
23 Wed Sep 21 2005
24         mikeb - Addslashes to JS creation code in assign_group.php.
25 Thu Sep 08 2005
26         mikeb - Added support for MS-SQL in setup.php, thanks to François Tissandier <francois.tissandier@tebu-bio.com>
27 Sat Sep 03 2005
28         mikeb - Fixed typo in manual
29         mikeb - Fixed comments in gacl.class.php
30         mikeb - released v3.3.5
31 Mon Aug 22 2005
32         mikeb - Fixed bug with edit_acl() for cases where a non-existant acl_id is specified. Thanks to Caleb Simonyi-Gindele <caleb@vetstar.com>
33 Thu Aug 04 2005
34         mikeb - Fixed bug with config ini file path in setup.php
35 Thu Jul 28 2005
36         mikeb - Fixed bug with double/single quotes on line 3526. Jérémy Cohen Solal <jeremy@eiole.com>
37 Sun Jul 24 2005
38         mikeb - Removed table prefix comment regarding not using "_". Apparently it works now
39         mikeb - Fixed comments in gacl.class.php regarding group IDs, it now correctly says group values.
40         mikeb - Hashed_Cache_Lite class now checks to see if Cache_Lite class already exists before including it.
41         mikeb - Added Russian manual translation thanks to <kuzma@russofile.ru>
42         mikeb - Added gacl.conf config file for both admin interface and gacl.class.php. Thanks to Richard Plevin <rich@plevin.com>
43         mikeb - Fixed a couple notices with E_ALL enabled in the API. John Mortlock <johnm@hlaustralia.com.au>
44         mikeb - Added a SQL quoting to insert. Eder <lukas.eder@iomedia.ch>
45         mikeb - Added support for custom ACL sections to add_acl(), for instance if someone deletes the 'system' section. Vincent Woo <vwooa@sfu.ca>
46         mikeb - Upgraded ADODB to v4.65
47         mikeb - Upgraded Smarty to v2.6.9
48         mikeb - Release v3.3.5b1
49 Wed Dec 8 2004
50         mikeb - Release v3.3.4
51 Sun Dec 5 2004
52         mikeb - Added clear_database() API function that truncates all phpGACL tables. Thanks to Ross Lawley <ross.lawley@mediatelgroup.co.uk>
53         mikeb - Modified millennium falcon example.
54         dcech - Updated get_group_objects function with much more efficient SQL.
55 Tue Nov 30 2004
56         mikeb - modified query in get_group_objects() to speed it up. It could still be optimized further though.
57 Mon Nov 29 2004
58         mikeb - Applied patch to admin/edit_group.php enabling the deletion of all groups. John Mortlock <johnm@hlaustralia.com.au>
59 Sun Nov 28 2004
60         mikeb - Removed default table prefix from gacl.class.php.
61         mikeb - Corrected minor mistake in the manual with regards to incorrect argument ordering in acl_check()
62         mikeb - Modified API comments for search_acl() to include return value.
63         mikeb - Fixed admin link at the bottom of several pages in the Millennium Falcon examples.
64 Sat Nov 27 2004
65         mikeb - Added Millennium Falcon example written by Ross Lawley <ross.lawley@mediatelgroup.co.uk>
66         mikeb - Added 3-dimensional ACL Test page from Meinhard <meinhard.jahn@karsten-jahnke.de>
67         mikeb - Upgraded ADODB to v4.54
68         mikeb - Upgraded Smarty to v2.6.6
69 Sun Nov 7 2004
70         mikeb - Updated Cache Lite class to latest version, including improved Hashed_Cache_Lite class thanks to Dan.
71         mikeb - If caching is not enabled, improved the bypassing of the caching library/overhead thanks to Andrew Eddie <eddieajau@iprimus.com.au>
72         mikeb - Updated manual thanks to Andrew Eddie <eddieajau@iprimus.com.au>
73         mikeb - add_group API function now assigns the value to the insert ID if the value is not specified. thanks to Andrew Eddie <eddieajau@iprimus.com.au>
74         mikeb - Moved admin interface specific functions/variables from gacl_api.class.php to admin/gacl_admin_api.class.php. thanks to Andrew Eddie <eddieajau@iprimus.com.au>
75 Mon Oct 4 2004
76         mikeb - Added phpDoc style comments thanks to Gordon Luk <gordon.luk@dfafunds.com>
77 Sat Oct 2 2004
78         mikeb - Added get_ungrouped_objects() function, thanks to Gordon Luk <gordon.luk@dfafunds.com>
79 Sun Sep 19 2004
80         mikeb - Added a "isset()" call in Hashed_Cache_Lite
81         mikeb - Applied patch from Gordon Luk <gordon.luk@dfafunds.com> to allow the search_acl() function to proceed without a where clause.
82 Thu Sep 09 2004
83         mikeb - gacl.class.php line 532, missing quotes around $root_group. Thanks to Erwan le Gall <erwan.le-gall@education.gouv.fr>
84 Sat Aug 28 2004
85         mikeb - Released v3.3.3
86 Mon Aug 16 2004
87         mikeb - Quoted group value in acl_get_groups(). Thanks to Christer Lindh <clindh@homenet.se>
88 Wed Aug 11 2004
89         mikeb - Add comment to admin/gacl_admin.inc.php to tell people not to use "_" for table prefixes.
90 Thu Aug 05 2004
91         mikeb - Fixed acl_test.php ACL Check timings. Thanks to Gordon Luk <gordon.luk@dfafunds.com>
92 Tue Jul 27 2004
93         dcech - Fixed missing table prefix in edit_object function.
94                 Thanks to Martin Salo <salo@laborint.com>.
95         dcech - Updated to adodb-xmlschema CVS for prefixing.
96 Mon Jul 26 2004
97         mikeb - Fixed bug in is_conflicting_acl() where it would detect an incorrect conflict when using certain AXO combinations. Thanks to a patch from Jeff McDonald <jeff@beefstudio.com>
98 Sat Jul 17 2004
99         mikeb - Fixed group_admin SQL query to be standard complaint so it works on PostgreSQL.
100         mikeb - Made aro_groups/axo_groups value column unique.
101 Sat Jul 10 2004
102         mikeb - Released v3.3.2
103         mikeb - upgraded to ADOdb v4.50
104         mikeb - upgraded to Smarty v2.6.3
105         mikeb - Fixed group_admin.php bug with hardcoded group_type column name.
106 Sat Jun 19 2004
107         dcech - cleaned up setup script a little
108         dcech - upgraded to adodb-xmlschema CVS to get fixes for prefix-related problems.
109 Fri Jun 18 2004
110         dcech - upgraded to ADOdb v4.23
111 Thu Jun 17 2004
112         mikeb - Removed admin/mysql_db_demo_data.sql as it was the old 3.2.x format and useless now.
113         mikeb - Fixed issue with links and group names with spaces in them. Thanks to Gordon Luk <gordon.luk@dfafunds.com>
114         dcech - fixed object count in group admin for groups without objects
115 Tue May 24 2004
116         mikeb - Fixed bug in API that stopped you from changing a group name to the same thing as the group value. Hakan Kuecuekyilmaz <hakan@lisas.de>
117 Sat May 08 2004
118         mikeb - Released v3.3.1
119 Fri May 07 2004
120         dcech - Fixed setup issues with new schema format, and moved to AXMLS prefixing.
121 Wed May 05 2004
122         mikeb - Fixed bug in acl_get_groups() where $root_group = '' causes a SQL error. Thanks to Hakan Kuecuekyilmaz <hakan@lisas.de>
123         mikeb - Fixed Unit Tests to work with group_value's. Thanks to the help from Hakan Kuecuekyilmaz <hakan@lisas.de>
124 Mon May 03 2004
125         mikeb - Updated comments for add_group() to explain the Root group limitation of our MPTT format.
126 Sun May 02 2004
127         mikeb - Added Perl ACL_Check module written by Gordon Luk <gluk@dfafunds.com>
128         mikeb - Upgraded to ADODB v4.22
129         mikeb - Upgraded to Smarty v2.6.2
130         mikeb - Re-enabled JS selected = true when selecting objects to assign to groups.
131         mikeb - Released v3.3.0-final
133 ==> mikeb - Read the CHANGELOG line with "==>" infront of it. Mar 03 2004.
135 Wed Apr 21 2004
136         mikeb - Fixed index name for value column in AXO group table. Falk <support@fajo.de>
137         mikeb - Updated schema diagrams. Falk <support@fajo.de>
138 Tue Apr 06 2004
139         mikeb - applied code documentation patch thanks to Andrew Eddie <eddieajau@iprimus.com.au>
140 Mon Apr 05 2004
141         dcech - added index.php to admin directory, fixed bug in format_groups.  Thanks to Andrew Eddie <eddieajau@iprimus.com.au>
142         dcech - Fixed object_search javascript bug, cleaned up admin navigation html.
143 Sat Apr 03 2004
144         dcech - Fixed JavaScript bug in IE, minor cleanup of admin_functions.js
145 Fri Mar 19 2004
146         dcech - Fixed minor typo in gacl_api.class.php.  Thanks to Andrew Eddie <eddieajau@iprimus.com.au>
147 Wed Mar 03 2004
148         dcech - Updated admin interface and gacl class for value patch.
149                 acl_* functions now all accept group values rather than IDs.
150         dcech - Minor fixes in gacl_api for group_value patch.
152 ==>     mikeb - *BEWARE* add_group(), edit_group() both require a group_value now! This breaks backwards compatibility.
154 Sat Feb 28 2004
155         mikeb - Upgraded ADODB to 4.20.
156         mikeb - Applied group value patch from Christer Lindh <clindh@homenet.se>.
157                 Admin interface still needs updating. As well as the gacl.class.
158 Tue Feb 24 2004
159         dcech - minor fix to display AXO controls when editing ACLs
160 Sat Feb 14 2004
161         mikeb - Added DB schema diagram to docs/ directory. Thanks to Falk John <support@fajo.de>
162 Fri Feb 13 2004
163         dcech - Changed all JOIN queries to INNER JOIN for MySQL 3.23.x compatibility
164 Thu Feb 12 2004
165         dcech - removed final trailing semicolon from schema.xml
166 Tue Feb 10 2004
167         mikeb - Fixed get_object() to support ACLs.
168 Mon Feb 09 2004
169         mikeb - Fixed del_object_section() to properly delete ACLs if the section is deleted. Thanks to Falk John <support@fajo.de>
170         mikeb - Fixed del_object_section() when using ACL objects.
171         mikeb - Took ";" out of schema.xml, and changed version to b2.
172         mikeb - Added some missing transaction rollbacks to gacl_api. Thanks to Falk John <support@fajo.de>
173 Sun Feb 08 2004
174         dcech - Added titles to admin interface
175         mikeb - Removed the last of "is_string()" DB errro checks, replaced with "is_object($rs)"
176         mikeb - Oracle SQL syntax fixes for gacl.class.php and gacl_api.class.php. Thanks to Falk John <support@fajo.de>
177         dcech - SQL syntax fixes for admin system
178 Sat Feb 07 2004
179         dcech - New style for admin interface
180 Wed Feb 04 2004
181         mikeb - Removed old, out dated examples from gacl_api.class.php
182 Sun Feb 01 2004
183         dcech - cleanup of assign_group.php, template updates for assign_group and group_admin
184 Sat Jan 31 2004
185         dcech - more interface cleanups
186 Fri Jan 30 2004
187         dcech - complete overhaul of acl_admin.php
188         dcech - fix for LIMIT in sql, complete overhaul of object search
189 Thu Jan 29 2004
190         dcech - major interface overhaul
191         dcech - acl_list interface improvements, minor css modification
192         mikeb - Upgraded to ADODB 4.11, removed trailing whitespace from adodb-pager.inc.php
193         dcech - major overhaul of acl_list filtering
194 Wed Jan 28 2004
195         dcech - major update to acl_list
196         dcech - fix for stress_test to handle existing groups
197         dcech - fixed trailing whitespace in adodb-pager.inc.php
198 Sun Jan 25 2004
199         mikeb - Changed acl_list layout.
200         mikeb - Changed setup.php to point to about.php and modified about.php to only display the report section on first run.
201         mikeb - Unleashed v3.3.0b1 upon the world! Wahahahah!
202 Sat Jan 24 2004
203         mikeb - Minor updates to CREDITS file, README, and footer.tpl
204         mikeb - Upgraded ADODB to v4.10
205         mikeb - Upgraded Smarty to v2.6.1
206         dcech - del_object: fix for new GetCol behaviour in ADOdb 4.10
207 Wed Jan 14 2004
208         mikeb - modified TODO list slightly.
209         mikeb - added Navigation bar submitted by: <eddieajau@iprimus.com.au> on Oct 13/2003.
210         mikeb - Moved the "select all" checkboxes...
211         mikeb - modified include syntax in acl_admin_js.tpl slightly.
212         mikeb - add_object(), edit_object(), edit_object_section(), add_object_section(), fixed issue with hidden being set to a non-int value.
213 Thu Jan 08 2004
214         dcech - Added Select/Deselect All to Admin Interface
215 Thu Jan 08 2004
216         dcech - applied _group_ patch
217 Mon Nov 24 2003
218         mikeb - Fixed PostgreSQL LEFT JOIN issue with is_conflicting_acl(), Can't reference multiple tables, then a LEFT JOIN. ie:
219                         select * from table1, table2 LEFT JOIN table3 LEFT JOIN table4.
220                         Instead:
221                         select * from table1 LEFT JOIN table2 LEFT JOIN table3 LEFT JOIN table4.
222         mikeb - Fixed PosgresSQL LEFT JOIN issue with acl_check()
223         mikeb - Fixed PostgreSQL transaction issue, where generating sequences causes the transaction to abort.
224                         Simply move the transaction start _after_ the GenID() call.
225         dcech - cleaned up get_object_section_section_id - fixed bug if invalid object type specified, and bug if no value specified.
226 Wed Nov 19 2003
227         mikeb - Added transactions to edit_object_section()
228         mikeb - Added more API test_suite functions.
229         mikeb - Fixed minor display issue with pager.tpl.
230         dcech - numerous fixes in gacl_api. edit_group, add_group_object, rebuild_tree & _rebuild_tree.
231         dcech - new functions in gacl_api. get_root_group_id & get_object_groups.
232 Tue Nov 18 2003
233         mikeb - Added more tests to the test suite. Fixed up a couple SQL syntax errors in del_group().
234 Fri Nov 14 2003
235         mikeb - Fixed minor bug in get_group_objects() to do with the SQL query, and table prefixes.
236         dcech - improved count_all function and documentation
237         dcech - updated Stress Test & added script to do random ACL checks
238         dcech - fixed bug where debug_db was called after RollBackTrans
239 Wed Nov 12 2003
240         mikeb - More MPTT fixes from Dan
241         mikeb - is_conflicting_acl() patch from Dan also.
242 Tue Nov 11 2003
243         mikeb - Applied MPTT (different group tree format) patch from Dan Cech <dcech@phpwerx.net>
244         mikeb - Minor cleanup of the above patch.
245         mikeb - FIxed a couple minor bugs with add_group_object() and del_object() relating to the MPTT patch.
246 Wed Nov 05 2003
247         - Fixed issue where ARO and AXO groups use the same sequence. Not really a bug, but shouldn't
248         be the case. Thanks to Dan Cech <dcech@phpwerx.net>
249 Wed Oct 29 2003
250         - Fixed bug in schema.xml where group_id was missing from a unique index.
251 Tue Oct 21 2003
252         - Group select boxes represent the tree structure much better. Purely cosmetic change.  Thanks to Dan Cech <dcech@phpwerx.net>
253 Wed Oct 08 2003
254         - Released 3.2.2
255         - Fixed bug in acl_list.php where the filter wasn't being passed between pages. Thanks to Dan Cech <dcech@phpwerx.net>
256         - Greatly improved the speed of acl_list.php. Thanks to Dan Cech <dcech@phpwerx.net>
257 Sun Oct 05 2003
258         - Fix for major bug in AXOs, if you don't specify AXO values in acl_check(), it could
259                 still match ACLs that have AXO groups assigned to them. Discovered by Dan Cech <dcech@phpwerx.net>.
260 Sun Oct 03 2003
261         - Released 3.2.1
262 Mon Sep 29 2003
263         - Fixed possible bug with re-using database connection objects.
264         - Fixed bug in assign_group.tpl where it was hard coded to reference AROs.
265         - Fixed major bug with table prefixes and del_object() function, as well as sequences. Thanks to Ian Eure <ieure@debian.org> for reporting this.
266         - Fixed minor bug in generating javascript arrays with values containing quotes. Bug found by: Martino Piccinato <m.piccinato@nexus.it>
267 Sat Sep 20 2003
268         - Released 3.2.0-final.
269         - Upgraded ADODB to 3.90.
270 Sat Sep 06 2003
271         - Fixed minor bug when assigning objects to groups. Thanks Jos Vanlanduyt <jos.vanlanduyt@higis.eu.org> for pointing this out.
272 Mon Aug 25 2003
273         - Added SOAP server and clients for PHP, Perl, and Python.
274         - Updated README regarding upgrading and PostgreSQL.
275         - Released phpGACL v3.2.0b2
276 Thu Aug 21 2003
277         - Added Help / About page.
278         - Fixed up the ACL Sections, to use values instead of IDs for consistency sake
279         - Upgraded to Smarty 2.5.0
280         - Released phpGACL v3.2.0b
281 Mon Aug 18 2003
282         - Merged table prefix patch from Ben Margolin (ben@prince.org), did some minor clean-ups/fixes.
283         - Upgraded to ADODB 3.72
284 Wed Aug 13 2003
285         - Decreased column lengths to varchar(240) so MySQL can index multiple columns. Thanks to Ben Margolin (ben@prince.org)
286         - Fixed bug in add_object(), it was selecting from a non-existent table. Thanks to Ben Margolin  (ben@prince.org)
287 Tue July 08 2003
288         - Create a new setup.php from scratch using ADODB XML-Schema. This should greatly ease table creation on many different databases.
289         - Modified ADODB XML-Schema to support all types of indexes. Submitted patch to Richard Tango-Lowy <richtl@arscognita.com>
291 Mon July 07 2003
292         - add_object() now returns TRUE if the object is already in the database.
294 Fri July 04 2003
295         - Updated table schema for the acl table. Added the acl_section table, and the phpgacl table.
296         - Added ACL sections. The purpose of these is like all other sections, to simply classify objects.
297                 For example, you may want to differentiate between automatically created ACLs (System ACLs) and
298                 manually created ACLs (User ACLs). As some installations may have several thousand automatically created
299                 ACLs, its nice to filter these out.
300         - add_group_object() now returns TRUE if the object is already assigned to the group.
302 Tue July 01 2003
303         - Fixed security bug that could allow someone to see your database password.
305 Mon June 16 2003
306         - Added acl_query_array() to aid in running an acl_check() over a large amount of AROs, returning section_value, values
307                 of those that return true. Especially useful with get_group_objects();
309 Thu June 12 2003
310         - Added "ACLs" link to the group page, so you easily show all ACLs a specific group is assigned too.
311         - Added "ACLs" link to the group assign page, so you easily show all ACLs a specific ARO/AXO is assigned too.
312         - modified return array format for get_group_objects() and added functionality to return objects in child groups as well.
314 Wed June 11 2003
315         - Object searching now supports a newline delimited list of names/values.
317 Sun June 8 2003
318         - Fixed more warnings.
320 Wed May 28 2003
321         - More minor warning fixes.
322         - Moved the manual to the documentation directory.
323         - Case insensitive object searching when assigning to groups.
325 Mon May 26 2003
326         - Fixed many more PHP warnings all over.
327         - Added example.php
328         - Upgraded Smarty to v2.5
329         - Upgraded ADODB to v3.5. Added line to set FETCH_MODE on a per connection basis.
331 Wed May 21 2003
332         - Fixed add_acl() for AXOs, as it was previously completely broken.
334 Mon May 19 2003
335         - Fixed ACL List filtering so it returns all ACL rows, not just the ones matching the LIKE query.
337 Fri May 16 2003
338         - Fixed a few PHP warnings gacl.class.php
339         - Removed an else condition from an if statement that didn't do anything anyways.
341 Sun Mar 09 2003
342         - Fixed small bug in API function get_object_id() where it referenced the $name variable,
343                 but $name was never used. If the function was used properly, this shouldn't have affected anything.
344                 Thanks to: Harald Fielker <fielker@informatik.fh-augsburg.de> for pointing this out.
346 Sat Mar 01 2003
347         - Fixed up the layers with AXO show/hide functionality. Usable, but still needs improvement.
349 Thu Feb 27 2003
350         - Attempted to add javascript show/hide to the AXO section of the acl_admin.
352 Tue Feb 25 2003
353         - Fixed invalid DB reference in acl_get_groups(); Thanks to Gianluca Faieta <gfaieta@iname.com> for the patch.
355 Thu Feb 20 2003
356         - Fixed bug in get_group_objects() that caused it to return the query record set, not the data itself. Thanks to Thomas <tstruebi@pentacon.ch> for submitting a patch.
357         - Fixed bug in del_group(), as it neglected to remove the object mapping. Thanks to Thomas <tstruebi@pentacon.ch> for pointing this out.
359 Tue Feb 18 2003
360         - Added 'force_cache_expire' option, so the cache is automaticalled expired when ACL/Group modifications take place.
361                 This should allow the cache_expire_time to be greatly increased (86400?) and still maintain instance updates.
362         - Removed un-needed table joins in search_acl() resulting in a large performance increase.
364 Mon Feb 17 2003
365         - Added "limit" to ARO select query in group_assign.php
367 Fri Feb 14 2003
368         - Tweeked consolidate_edit_acl() to better consolidate ACLs in the expected manor.
369         - Fixed cache ID in acl_get_group_path() so it doesn't contain non-alphanumeric characters.
371 Wed Feb 12 2003
372         - Fixed bug caused by overzealous array_unique in add_acl()
373         - Switched acl_query() to return TRUE/FALSE for the 'allow' return value instead of 1/0
374         - API group functions didn't manipulate the path_to_root mapping when reparenting or deleting occured.
376 Tue Feb 04 2003
377         - Fixed bug in edit_group(), added more error checking.
378         - Added object searching to the assign group pages.
379         - Moved all templates to $smarty_template_dir/phpgacl/ to better integrate with existing smarty installations.
380         - Fixed recursion in format_groups() so it doesn't use globals anymore.
381         - Greatly improved performance in sort_groups() (50% improvement) and format_groups() (20%) functions.
383 Thu Jan 31 2003
384         - Added conflict detection to add_acl();
386 Thu Jan 30 2003
387         - Created search_acl() to search for ACLs mapped to specific objects. This should also work for detecting conflicting ACLs.
388         - Created shift_acl() that basically does the opposite of append_acl(). Remove just the specific objects from the ACL mapping.
390 Wed Jan 29 2003
391         - Created append_acl() function for simply appending ACO/ARO/ARO Groups/AXO/AXO Groups on to an already existing ACL.
393 Mon Jan 28 2003
394         - Added ACL searching.
395         - Added ACL debug page.
396         - Added sanity checks to add_acl()/edit_acl() to make sure the objects mapped to ACLs actually exist.
397         - Transactionalized most API functions.
399 Fri Jan 24 2003
400         - Fixed JS UnSelect button bug for AXO groups.
401         - Added Object searching to help the admin interface handle an unlimited number of objects.
402         - Added "max_select_box_items" config option to set the maximum number of items shown in select boxes.
404 Tue Jan 14 2003
405         - Upgraded ADODB to v3.00
406         - Added user definable ACL return values, along with the acl_return_value() function.
407         - Added ACL notes which serve no other purpose other than to help the administrator keep track of ACL's
408         - Added paging for large record sets.
410 Sun Dec 15 2002
411         - Moved to a completely OO structure.
412         - Config options can now be passed during object creation. $gacl = new gacl($options);
414 Sun Dec 01 2002
415         - Fixed bug that broke allow and enabled from being changed when editing ACLs.
417 Sat Nov 30 2002
418         - Merged ERASE feature in to API functions, del_object() and del_object_section() thanks to Martino.
419         - Changed the acl list page layout
420         - Changed the acl test page layout
421         - Added assigned object count to the group admin page.
422         - Fixed a JS bug that wouldn't allow you to "select" (>>) any objects at all, if one was already selected.
424 Sun Nov 17 2002
425         - format_groups() function wasn't recursing as efficiently as it could be. Fixed.
426         - Re-wrote API aro/aco/group specific functions to be generic to help support AXO's.
427         - Re-wrote aro/aco/group specific admin scripts to be generic to help support AXO's.
428         - Added AXO support to acl_admin.php.
429         - Updated gacl.inc.php to support AXO's.
431 Mon Nov 11 2002
432         - Changed the ordering of the main acl_query() SQL query. It wasn't properly preferring the deepest groups ACLs. - Thanks to Mauro
433                 for spotting this one and helping me track it down.
434         - Fixed bug that prevented ACO/ARO's with the same 'value' in different sections from being assigned to an ACL. - Thanks to Martino
435         - Fixed bug that made it seem like assigning a single ARO to a group really added all AROs with the same value to that group. - Thanks to Martino
436         - Fixed bug causing virtual subtree'ing to only traverse 2 levels of the tree. - Thanks to Martino
437         - Used dirname(__FILE__) to remove the need for users to manually set the root path in config.inc.php.
439 Wed Oct 23 2002
440         - Switched away from ID's in favor of VALUES for most functions, including acl_check(). Broke all backwards compatibility.
441         - Modified DB Schema to reflect above.
442         - When ARO/ACO values are changed, the API will modify said values in all tables.
443         - Added a variable for phpGACL's current path.
445 Wed Oct 09 2002
446         - Added "hidden" flags to relavent API functions
447         - Added Oracle 8i schema to setup.php
448         - Changed group "level" table column name to "tree_level", as the old name "level" was a reserved word in some db's.
449                 MySQL: ALTER TABLE `groups_path` CHANGE `level` `tree_level` INT(12) DEFAULT '0' NOT NULL
450         - Modified a few of the queries to be more portable, specifically for Oracle's sake.
451         - Added a FAQ entry regarding individualized item permissions.
453 Wed Sep 25 2002
454         - Added multi-layer ACO checking to ACL_QUERY()
455         - Removed multi-layer ACO checking in favor of "dual" acl checking. ie:
456                 If you want to set ACL's on a contact list. Create ACO's for each Contact in the list.
457                 and create more generic ACO's for things like "View - Contacts", "Edit - Contacts".
458                 Then simply create an ACL with ACO's "View - Contacts" AND "Contact ID: 15"
459                 Then if ( acl_check("View - Contacts", "John Doe") AND acl_check("Contact ID: 15", "John Doe"))
460                 Very simple, and should be just as fast, or faster then adding more bloat to the database.
461         - Added "hidden" flag to ACO, ACO Sections, ARO, and ARO sections.