Esempio n. 1
0
 /**
  * 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);
 }