This version of the ACL plugin has been done to support Twitter Bootstrap Framework in its version 3 + Fonts Awesome.
- Updated all files to replace spaces indents by tabs.
- Updated all files to remove extra new line in loops/if/... statements
- Deleted
webroot/img/
,webroot/css
as I won't need them anymore - Updated
webroot/js/acl_plugin.js
- Updated views to work with TB3/Fonts Awesome:
- Views
- Elements
- Errors
- Started to add a
title_for_layout
var in controllers actions.
TODO:
- Finish the
title_for_layout
stuff - Clean code (comments, echo() outputing HTML only,...)
- Website: http://www.alaxos.net/blaxos/pages/view/plugin_acl_2.0
- Author: Nicolas Rod [email protected]
- License: http://www.opensource.org/licenses/mit-license.php The MIT License
Date: 2013-05-02
- corrected code to support CakePHP 2.3 find() function that returns an empty array instead of 'false' when no records are found in the datasource
- updated the creation of ACOs to be more efficient when there are many records in the 'acos' datatable
Date: 2012-09-24
- corrected some functions to be fully compatible with CakePHP 2.1 and above to allow the use of E_STRICT error reporting level
- As a side effect, E_STRICT error reporting level is not possible anymore when using CakePHP 2.0
- better support of controller names containing an underscore
- ACO records that are not controllers or actions are not detected as ACO to prune anymore
- corrected a bug in AclRouter making the aco_path() function fail when the Cake app is at the domain root level
- added a response->render() to be sure to see the alert when some controllers have been updated
- corrected a App:uses to prevent an HtmlHelper not found error
Date: 2012-02-04
- Corrected a security bug allowing any authenticated user to access the Acl plugin
- Obsolete ACO nodes are now removed from the database when the ACO datatable is synchronized with the application
- Plugins default controllers are now supported by the plugin, allowing to set permissions for their actions
- New beta AclHtmlHelper containing a link() function that returns an HTML link only if its url points to an action that the current authenticated user can access (works only if the AclManagerComponent->set_session_permissions() was called before)
- Some minor design updates
Date: 2011-12-15
- As no problems have been signaled with the 2.0.0-RC6 version, it finally becomes the 2.0.0
Date: 2011-12-09
- Corrected a bug preventing the retrieval of plugin controllers methods when a PluginAppController exists
Date: 2011-12-07
- Added the RequestHandler component in AclAppController to make the plugin work even if the AppController does not use it already
Date: 2011-11-26
-
Removed plugin named parameter from Ajax requests when plugin is empty
-
Removed doubled slashes from icons src urls
Special thanks to Dave and Sam Sherlock for their feedbacks and ideas
Date: 2011-11-01
- Removed RequestHandler from ArosController as its method isAjax() is deprecated (use $this->request->is('ajax') instead)
Date: 2011-09-19
-
Adaptation for CakePHP 2.0
No new functionnalities in this version, but the code has been updated for the new Cake 2.0-RC1 Renamed classes, use App::uses() instead of old App::import(), updated forms url, etc.
Date: 2011-07-18
- the aros/users_permissions action can now be loaded through Ajax to prevent a request timeout when there are too many permissions to check
- added an indication when a user have specific permissions. New action to delete these specific permissions.
- corrected the way to get the plugins' paths in order to support custom paths added to App::path('plugins');
- corrected the way the plugins parent ACO are generated to support camel cased plugin names
- added a parameter in bootstrap.php to support roles and users primary keys' names that do not follow CakePHP conventions
- eventual errors raised by the user model when updating the users role are now displayed for a better understanding of the problem
- new brazilian portuguese (pt_BR) translation
- performance improvements in find queries by limiting retrieved data
Credit:
-
Elias Farah
For the brazilian portuguese translation po file and for his help to add the possibility to customize the roles and users primary keys' names
-
Paul Marshall (http://www.paulmarshall.us)
For pointing out a better way the get the plugins' paths and for ideas to improve performance in queries
-
Ilya (http://www.skychip.ru) and Gregorz
For identifying a bug with camel cased plugins' names and pointing out the solution
Date: 2011-04-27
- added a parameter in bootstrap.php to support role foreign key's names that do not follow CakePHP conventions
Date: 2011-02-19
- bug correction: the role foreign key is now created by using the Inflector class to be correctly generated even for camelcased role model names
- bug correcton: updated the way the roles and users display names are configured to prevent some situations where the use of an existing database field was not possible. It also improves performance by creating new virtual fields only if necessary.
Credit: thanks to Paul Marshall for his help on this version (http://www.paulmarshall.us)
Date: 2011-01-22
- the aros/role_permissions action can now be loaded through Ajax to prevent a request timeout when there are too many permissions to check
- new search filters on users roles page and users permissions page
- updated the way new controller and/or actions detection is done to allow to see the warning even after a redirection from /admin/acl
- replaced $html and $form by $this->Html and $this->Form in views to respect CakePHP best practices
Date: 2010-12-05
- Added support of plugins placed in ROOT/plugins
- Corrected a bug preventing to set a user specific permission in some cases
- Added automatic verification that the user and role models act as ACL requesters
- No writable 'tmp' folder needed anymore
- Some code refactoring (moved functions from the AclAppController to new components)
- Added this CHANGELOG file... ;-)