I don't have any experience with phpGacl. How hard do you think it would be to get it using the existing Cake DB connection (for performance reasons)?
On Feb 28, 4:16 pm, "Mariano Iglesias" <[EMAIL PROTECTED]> wrote: > Update: still working on this (component is already over 900 lines, > including documentation, which is about 70% of the code). > > When the component runs for the first time it will set up PhpGacl database > schema (so there's no need to do anything other than just include phpGacl on > your vendors directory, and then adding PhpGacl as a component to your > controller), and create AXO groups/AXO objects for each controller/action > (see at the bottom of this message) > > Let me give you a quick view on how you programmatically manipulate your ACL > data: > > // Add groups > > $this->PhpGacl->saveGroup(1, 'my group #1 with ID 1'); > $this->PhpGacl->saveGroup(2, 'my group #1 with ID 2'); > > // Modify group > > $this->PhpGacl->saveGroup(2, 'my group #1 with ID 2 with new name'); > > // Get groups > > $groups = $this->PhpGacl->getGroups(); > > /* > This gets you a threaded array like: > > Array > ( > [0] => Array > ( > [id] => authenticated > [name] => Authenticated > ) > > [1] => Array > ( > [id] => 2 > [name] => my group #1 > ) > > [2] => Array > ( > [id] => 3 > [name] => my group #2 > [children] => Array > ( > [0] => Array > ( > [id] => 5 > [name] => my group #2.1 > ) > > ) > > ) > > [3] => Array > ( > [id] => 4 > [name] => my group #3 > ) > > ) > */ > > // Add user: > > $this->PhpGacl->saveUser(1, 'mariano.iglesias'); > > // Modify user: > > $this->PhpGacl->saveUser(1, 'mariano.iglesias (new)'); > > // Assign groups to user: > > $this->PhpGacl->assign(1, array(1, 2)); > > // Get user groups: > > $this->PhpGacl->getUserGroups(1); > > /* > * This gets you an array like: > * > * Array > * ( > * [0] => 1, > * [1] => 2, > * [2] => authenticated > * ) > */ > > // Change user group assignments: > > $this->PhpGacl->assign(1, array(2, 'authenticated')); > > /* > * After which the previous assigned group #1 will be un-assigned, #2 > * will remain assigned, and 'authenticated' will be added to the assignment > */ > > // Delete group (and related data): > > $this->PhpGacl->delGroup(3); > > /* > * By default if the group has children, they will be added as children > * of this group's parent. But if you call it like: > * > * $this->PhpGacl->delGroup(3, false); > * > * Then the children will also be deleted. > * > * Naturally deleting a group means that assignments with this group are > * also removed > */ > > // Delete user (and related data): > > $this->PhpGacl->delUser(1); > > // Add controller and its actions as AXO objects: > > $this->PhpGacl->saveController('Posts'); > > /* > * It creates an AXO group called Posts, and assigned to them > * one AXO object per action. > * > * If the controller was already added, only new actions are > * added > */ > > Next step I'm working on is the assignment of rules between group -> > controller/action, and user -> controller/action. > > After that wrap phpGACL check, set up a few things, and then release the > first version (without the plugin to manipulate data via GUI) > > -MI > > --------------------------------------------------------------------------- > > Remember, smart coders answer ten questions for every question they ask. > So be smart, be cool, and share your knowledge. > > BAKE ON! > > blog:http://www.MarianoIglesias.com.ar --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Cake PHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---