X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=DataObjects%2FCore_group.php;fp=DataObjects%2FCore_group.php;h=f9b91561558726d8b8febf9ef346bdeb83b2a6c5;hp=a6b37575841dad3c05425491eaaed4bc1868fd4f;hb=cb77b2a79891280a5b5a5f4580d7af9b8bd03d1a;hpb=c1fe581a023a7bc2219bb720ebb2ae6cfec36f1c diff --git a/DataObjects/Core_group.php b/DataObjects/Core_group.php index a6b37575..f9b91561 100644 --- a/DataObjects/Core_group.php +++ b/DataObjects/Core_group.php @@ -119,7 +119,8 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject $g->addMember($uid,$roo); break; case 'sub': - $g->removeMember($uid); + + $g->removeMember($uid, $roo); break; default: $roo->jerr('invalid action'); @@ -220,12 +221,16 @@ class Pman_Core_DataObjects_Core_group extends DB_DataObject } } - function removeMember($person) + function removeMember($person, $roo) { $gm = DB_Dataobject::factory('core_group_member'); $gm->group_id = $this->id; $gm->user_id = is_object($person) ? $person->id : $person; - + $au = $roo->getAuthUser(); + if ($gm->group()->name == 'Administrators' && $gm->user_id = $au->id) { + $roo->jerr("You can not remove yourself from the admin group"); + } + if ($gm->find(true)) { $gm->delete(); }