Add an entry into the list of default permissions.
public addDefault ( string $Type, array $Permissions, null | string $Junction = null, null | integer $JunctionId = null ) | ||
$Type | string | Type of role the permissions should be added for. |
$Permissions | array | The list of permissions to include. |
$Junction | null | string | Type of junction to base the permission on. |
$JunctionId | null | integer | Identifier for the specific junction record to base the permission on. |
/** * Provide default permissions for roles, based on the value in their Type column. * * @param PermissionModel $Sender Instance of permission model that fired the event */ public function permissionModel_defaultPermissions_handler($Sender) { $Sender->addDefault(RoleModel::TYPE_MEMBER, array('Conversations.Conversations.Add' => 1)); $Sender->addDefault(RoleModel::TYPE_MODERATOR, array('Conversations.Conversations.Add' => 1)); $Sender->addDefault(RoleModel::TYPE_ADMINISTRATOR, array('Conversations.Conversations.Add' => 1)); }
/** * Provide default permissions for roles, based on the value in their Type column. * * @param PermissionModel $Sender Instance of permission model that fired the event */ public function permissionModel_defaultPermissions_handler($Sender) { // Guest defaults $Sender->addDefault(RoleModel::TYPE_GUEST, array('Vanilla.Discussions.View' => 1)); $Sender->addDefault(RoleModel::TYPE_GUEST, array('Vanilla.Discussions.View' => 1), 'Category', -1); // Unconfirmed defaults $Sender->addDefault(RoleModel::TYPE_UNCONFIRMED, array('Vanilla.Discussions.View' => 1)); $Sender->addDefault(RoleModel::TYPE_UNCONFIRMED, array('Vanilla.Discussions.View' => 1), 'Category', -1); // Applicant defaults $Sender->addDefault(RoleModel::TYPE_APPLICANT, array('Vanilla.Discussions.View' => 1)); $Sender->addDefault(RoleModel::TYPE_APPLICANT, array('Vanilla.Discussions.View' => 1), 'Category', -1); // Member defaults $Sender->addDefault(RoleModel::TYPE_MEMBER, array('Vanilla.Discussions.Add' => 1, 'Vanilla.Discussions.View' => 1, 'Vanilla.Comments.Add' => 1)); $Sender->addDefault(RoleModel::TYPE_MEMBER, array('Vanilla.Discussions.Add' => 1, 'Vanilla.Discussions.View' => 1, 'Vanilla.Comments.Add' => 1), 'Category', -1); // Moderator defaults $Sender->addDefault(RoleModel::TYPE_MODERATOR, array('Vanilla.Discussions.Add' => 1, 'Vanilla.Discussions.Edit' => 1, 'Vanilla.Discussions.Announce' => 1, 'Vanilla.Discussions.Sink' => 1, 'Vanilla.Discussions.Close' => 1, 'Vanilla.Discussions.Delete' => 1, 'Vanilla.Discussions.View' => 1, 'Vanilla.Comments.Add' => 1, 'Vanilla.Comments.Edit' => 1, 'Vanilla.Comments.Delete' => 1)); $Sender->addDefault(RoleModel::TYPE_MODERATOR, array('Vanilla.Discussions.Add' => 1, 'Vanilla.Discussions.Edit' => 1, 'Vanilla.Discussions.Announce' => 1, 'Vanilla.Discussions.Sink' => 1, 'Vanilla.Discussions.Close' => 1, 'Vanilla.Discussions.Delete' => 1, 'Vanilla.Discussions.View' => 1, 'Vanilla.Comments.Add' => 1, 'Vanilla.Comments.Edit' => 1, 'Vanilla.Comments.Delete' => 1), 'Category', -1); // Administrator defaults $Sender->addDefault(RoleModel::TYPE_ADMINISTRATOR, array('Vanilla.Discussions.Add' => 1, 'Vanilla.Discussions.Edit' => 1, 'Vanilla.Discussions.Announce' => 1, 'Vanilla.Discussions.Sink' => 1, 'Vanilla.Discussions.Close' => 1, 'Vanilla.Discussions.Delete' => 1, 'Vanilla.Discussions.View' => 1, 'Vanilla.Comments.Add' => 1, 'Vanilla.Comments.Edit' => 1, 'Vanilla.Comments.Delete' => 1)); $Sender->addDefault(RoleModel::TYPE_ADMINISTRATOR, array('Vanilla.Discussions.Add' => 1, 'Vanilla.Discussions.Edit' => 1, 'Vanilla.Discussions.Announce' => 1, 'Vanilla.Discussions.Sink' => 1, 'Vanilla.Discussions.Close' => 1, 'Vanilla.Discussions.Delete' => 1, 'Vanilla.Discussions.View' => 1, 'Vanilla.Comments.Add' => 1, 'Vanilla.Comments.Edit' => 1, 'Vanilla.Comments.Delete' => 1), 'Category', -1); }