if (!$vbulletin->GPC['nodeid']) {
     print_stop_message2('invalid_channel_specified');
 }
 try {
     $channel = vB_Library::instance('node')->getNode($vbulletin->GPC['nodeid']);
     if ($channel['parentid'] == 0) {
         print_stop_message2('invalid_channel_specified');
     }
 } catch (exception $e) {
     print_stop_message2('invalid_channel_specified');
 }
 switch ($vbulletin->GPC['type']) {
     case 'reset':
         vB::getDbAssertor()->assertQuery('vBForum:permission', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, 'nodeid' => $vbulletin->GPC['nodeid']));
         // If the nodeid is in default permissions, we need to copy default permissions back to permission table
         $defaultpermissions = vB_ChannelPermission::loadDefaultChannelPermissions();
         if (!empty($defaultpermissions["node_" . $vbulletin->GPC['nodeid']])) {
             foreach ($defaultpermissions["node_" . $vbulletin->GPC['nodeid']] as $groupid => $perm) {
                 $groupid = str_replace('group_', '', $groupid);
                 $params = array();
                 $params[vB_dB_Query::TYPE_KEY] = vB_dB_Query::QUERY_INSERT;
                 $params['nodeid'] = $vbulletin->GPC['nodeid'];
                 $params['groupid'] = intval($groupid);
                 foreach ($perm as $k => $v) {
                     $params[$k] = $v;
                 }
                 $id = vB::getDbAssertor()->assertQuery('vBForum:permission', $params);
             }
         }
         break;
     case 'deny':