From f648cdca22a022be1c8a06796a08eab03af7149c Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Wed, 29 Apr 2015 14:51:15 -0500 Subject: [PATCH] role: Allow registration to prepend new roles --- include/class.role.php | 12 +++++++++--- include/class.ticket.php | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/include/class.role.php b/include/class.role.php index b2bcd2c97..ce4256c5b 100644 --- a/include/class.role.php +++ b/include/class.role.php @@ -310,9 +310,15 @@ class RolePermission { return static::$_permissions; } - static function register($group, $perms) { - static::$_permissions[$group] = array_merge( - static::$_permissions[$group] ?: array(), $perms); + static function register($group, $perms, $prepend=false) { + if ($prepend) { + static::$_permissions[$group] = array_merge( + $perms, static::$_permissions[$group] ?: array()); + } + else { + static::$_permissions[$group] = array_merge( + static::$_permissions[$group] ?: array(), $perms); + } } } ?> diff --git a/include/class.ticket.php b/include/class.ticket.php index 30a5df7fd..2a14829dc 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -192,7 +192,7 @@ EOF; } } -RolePermission::register(/* @trans */ 'Tickets', TicketModel::getPermissions()); +RolePermission::register(/* @trans */ 'Tickets', TicketModel::getPermissions(), true); class TicketCData extends VerySimpleModel { static $meta = array( -- GitLab