/** * Register edited group permissions * * @access private * @param array $_post _POST array * @return void */ private function permitting($_post) { $msg = null; // check permission $msg = AdmUtils_helper::chk_priv_level($_SESSION['xuid'], 'groups', $_post['id'], 4); if (is_null($msg)) { // get all available permissions $perm = new Permission_model(); $types = $perm->get_privtypes($_post['xrif']); // build action arrays $insert = $update = $delete = array(); foreach ($types as $i) { if (isset($_post[$i->name]) && $_post[$i->name] != $_post['old_' . $i->name]) { if ($_post[$i->name]) { // insert or update if ($_post['old_' . $i->name]) { $update[$i->name] = $_post[$i->name]; } else { $insert[$i->name] = $_post[$i->name]; } } else { $delete[] = $i->name; } } } // update privs $result = $perm->update_gprivs($_post['id'], $insert, $update, $delete); // set message $msg = AdmUtils_helper::set_msg($result); // set what update if ($result[1]) { $msg->update[] = array('element' => 'tdown', 'url' => BASE_URL . 'users', 'title' => null); } } $this->response($msg); }