Starting in Tiki8, look at the function get_raw_permissions in lib/userslib.php
The permission list in Tiki is stored in the database. To create a new permission requires the same steps as a Database Schema Upgrade.
Essentially, it requires to insert a new row in the users_permissions table. It must be done in both the db/tiki.sql file and in a database patch file.
Sample permission creation
Copy to clipboard
INSERT INTO `users_permissions` (`permName`, `permDesc`, `level`, `type`, `admin`, `feature_check`) VALUES('tiki_p_wiki_view_source', 'Can view source of wiki pages', 'basic', 'wiki', NULL, 'feature_source');
The relevant fields are:
- permName
- The permission name beginning with the tiki_p_ prefix
- permDesc
- A short description of what the permission does
- level
- A group for the permission to be used by quick permission admin. Default available groups are basic, registered, editors and admin.
- type
- The section to which the permission applies. Used by the admin field to grant permission to child permissions.
- admin
- If the permission grants rights to all other permissions of the same type.
- feature_check
- Features on which the permission depends. If the features are not enabled, the permission will not be listed in the user interfaces.