1 * Create a function that a SQL command with variables inserted can be passed to,
2 phpGACL will then replace the variables with ACL specific SQL and return the entire query
5 $sql = "select * from table #phggacl_join# where #phpgacl_allow# limit 100 offset 10";
6 $retval = get_acl_sql( <ACO Section>, <ACO Value>, (ARO|AXO), <(ARX|AXO) Section>, $sql );
8 phpGACL would insert the proper SQL to join ACL tables at #phpgacl_join# and proper SQL
9 to limit the query to allowed entries only at #phpgacl_allow#. I think this is the best
10 solution to the huge amount of rows for acl_check() problem.
13 * Have the Admin interface "show code" as it does operations.
15 * Create code that takes an ACL_ID as input arguments and returns example acl_check() code that will
16 hit the given ACL, regardless if it is ALLOW or DENY. This should really help people get started
19 * Create enviroment tests in test suite to check if the database has data in it or not.
20 * Create regression tests. - Need more of these.
22 * Write function to find which groups an object is in.
23 * Add ability to find all groups objects are assigned too in admin interface.
25 * Value is a reserved word on SapDB/MaxDB. Quote it.
27 * Make sure all input values in gacl.class.php are quoted.
29 * Create upgrade.php script, to handle as much of the upgrade process as possible. Have it display the changelog as well?
30 Have setup.php handle this?
32 * Array ACL Checks for select boxes. - Half done currently.
34 * Add visual notification when a section has hit the $max_select_box_items.
36 * Add filters/AXO's to ACL Test page.
38 * Oracle compatibility. XML Schema should fix the majority of the Oracle issues.
40 * FUTURE: Build framework for the plugin system.
41 Create a "plugin" directory.
42 Create a "plugin" section on the acl_admin page where plugin form fields can be displayed?
43 Plugins must be enabled in the config file, for both the admin interface and the calling interface?
45 * FUTURE: Possibly support tree'd ACOs.
47 * FUTURE: Allow phpGACL to set permissions on its own administration interface.
48 Having said that, I think going 99.9% of the way would be inside said scope and
49 would be something to seriously consider. We could add all the ACO's, ARO's, Groups, and
50 mark them "system" so they can't be deleted, as well as all the acl_check()'s.
51 Then in an include file or something we could place a hook to plugin with any
52 existing login/authentication mechanism and disable all this by default. Once the
53 user enables it and plugs in a simple ARO value, it would all come to life and allow
54 them the ability to use phpGACL to set permissions on itself.
56 * Write "mock" implementations to show off some of phpGACL's benefits.