/** * */ public function removeACLUserGroups($pa_group_ids) { if (!($vn_id = (int) $this->getPrimaryKey())) { return null; } require_once __CA_MODELS_DIR__ . '/ca_acl.php'; $vn_table_num = $this->tableNum(); $va_current_groups = $this->getUserGroups(); $t_acl = new ca_acl(); foreach ($pa_group_ids as $vn_group_id) { if (!isset($va_current_groups[$vn_group_id]) && $va_current_groups[$vn_group_id]) { continue; } $t_acl->setMode(ACCESS_WRITE); if ($t_acl->load(array('table_num' => $vn_table_num, 'row_id' => $vn_id, 'group_id' => $vn_group_id))) { $t_acl->delete(true); if ($t_acl->numErrors()) { $this->errors = $t_acl->errors; return false; } } } return true; }