public function saveGroupMembers($idst, $members) { //validate parameters if ($idst <= 0) { return false; } if (is_numeric($members)) { $members = array($members); } if (!is_array($members)) { return false; } if (empty($members)) { return true; } //filter and validate members - group can't have hisself as member, members cannot be fncroles $fmodel = new FunctionalrolesAdm(); $fncroles = $fmodel->getAllFunctionalRoles(); if (!empty($fncroles)) { $members = array_diff($members, $fncroles); } //delete old members $res = $this->deleteGroupMembers($idst); if (!$res) { return false; } //write new members if (count($members) > 0) { $insert_list = array(); foreach ($members as $member) { if (is_numeric($member) && $member > 0 && $member != $idst) { $insert_list[] = '(' . (int) $idst . ', ' . (int) $member . ')'; } } if (count($insert_list) > 0) { $query = "INSERT INTO %adm_group_members (idst, idstMember) VALUES " . implode(",", $insert_list); $res = $this->db->query($query); } } return $res; }