示例#1
0
 public function updateUserGroups(RM_User_Object $obUser, $new_groups = array())
 {
     $old_groups = array();
     foreach ($this->getAvailableGroupsForAdmin() as $obGroup) {
         $old_groups[$obGroup->id()] = $obUser->isUserInGroup($obGroup->alias, FALSE) ? 1 : 0;
     }
     foreach ($old_groups as $group_id => $old_value) {
         $new_value = intval(@$new_groups[$group_id]);
         if ($new_value != $old_value) {
             if (!isNull($obGroup = M('User')->loadGroupById($group_id))) {
                 if ($obGroup->alias == 'super-admin') {
                     error(L('user.cannot_add_remove_super_admin'));
                     continue;
                 }
                 if ($new_value && !$old_value) {
                     $obGroup->addUserToGroup($obUser);
                 } else {
                     if (!$new_value && $old_value) {
                         $obGroup->removeUserFromGroup($obUser);
                     }
                 }
             }
         }
     }
     return;
 }
示例#2
0
 public function canChangeBarcode(RM_User_Object $obUser)
 {
     return $obUser->isUserInGroup(array('super-coder'), FALSE);
 }
示例#3
0
 public function canSendBarcodeToRefresh(RM_User_Object $obUser)
 {
     if ($obUser->isUserInGroup(array('super-admin', 'super-coder', 'advanced-coder'))) {
         return TRUE;
     }
     return FALSE;
 }