コード例 #1
0
                    }
                    $id = vB::getDbAssertor()->assertQuery('vBForum:permission', $params);
                }
            }
            break;
        case 'deny':
            $usergroupcache =& vB::getDatastore()->getValue('usergroupcache');
            foreach ($usergroupcache as $group) {
                /*insert query*/
                vB::getDbAssertor()->assertQuery('replacePermissions', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_STORED, 'nodeid' => $vbulletin->GPC['nodeid'], 'usergroupid' => $group['usergroupid'], 'forumpermissions' => 0, 'moderatorpermissions' => 0, 'createpermissions' => 0, 'forumpermissions2' => 0, 'edit_time' => 2, 'require_moderate' => 1, 'maxtags' => 0, 'maxstartertags' => 0, 'maxothertags' => 0, 'maxattachments' => 0, 'maxchannels' => 0, 'channeliconmaxsize' => 0));
            }
            break;
        default:
            print_stop_message2('invalid_quick_set_action');
    }
    build_channel_permissions();
    vB_Cache::instance()->event('perms_changed');
    vB::getUserContext()->rebuildGroupAccess();
    print_stop_message2('saved_channel_permissions_successfully', 'forumpermission', array('do' => 'modify', 'n' => $vbulletin->GPC['nodeid']));
}
// ###################### Start fpgetstyle #######################
function fetch_forumpermission_style($permissions)
{
    global $vbulletin;
    if (!($permissions & $vbulletin->bf_ugp_forumpermissions['canview'])) {
        return " style=\"list-style-type:circle;\"";
    } else {
        return '';
    }
}
// ###################### Start modify #######################
コード例 #2
0
 /**
  * Delete an usergroup
  *
  * @param int $usergroupid Usergroup ID to be deleted
  * @return void
  */
 public function delete($usergroupid)
 {
     $this->checkHasAdminPermission('canadminpermissions');
     $db = vB::getDbAssertor();
     // update users who are in this usergroup to be in the registered usergroup
     $db->assertQuery('user', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_UPDATE, 'usergroupid' => 2, vB_dB_Query::CONDITIONS_KEY => array('usergroupid' => $usergroupid)));
     $db->assertQuery('user', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_UPDATE, 'displaygroupid' => 0, vB_dB_Query::CONDITIONS_KEY => array('displaygroupid' => $usergroupid)));
     $db->assertQuery('user', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_UPDATE, 'infractiongroupid' => 0, vB_dB_Query::CONDITIONS_KEY => array('infractiongroupid' => $usergroupid)));
     $db->assertQuery('useractivation', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_UPDATE, 'usergroupid' => 2, vB_dB_Query::CONDITIONS_KEY => array('usergroupid' => $usergroupid)));
     $db->assertQuery('vBForum:subscription', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_UPDATE, 'nusergroupid' => -1, vB_dB_Query::CONDITIONS_KEY => array('nusergroupid' => $usergroupid)));
     $db->assertQuery('vBForum:subscriptionlog', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_UPDATE, 'pusergroupid' => -1, vB_dB_Query::CONDITIONS_KEY => array('pusergroupid' => $usergroupid)));
     /** @todo rewise this query - it's currently invalid **/
     //		$db->assertQuery('vBForum:subscriptionlog', array(
     //			vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_UPDATE,
     //			'displaygroupid' => 0,
     //			vB_dB_Query::CONDITIONS_KEY => array(
     //				'displaygroupid' => $usergroupid
     //			),
     //		));
     // now get on with deleting stuff...
     $db->assertQuery('usergroup', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('usergroupid' => $usergroupid)));
     $db->assertQuery('vBForum:forumpermission', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('usergroupid' => $usergroupid)));
     $db->assertQuery('vBForum:permission', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('groupid' => $usergroupid)));
     vB_Library::instance('userrank')->deleteForUsergroup($usergroupid);
     $db->assertQuery('vBForum:usergrouprequest', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('usergroupid' => $usergroupid)));
     $db->assertQuery('userpromotion', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('usergroupid' => $usergroupid)));
     $db->assertQuery('deleteUserPromotion', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_STORED, 'usergroupid' => $usergroupid));
     $db->assertQuery('vBForum:imagecategorypermission', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('usergroupid' => $usergroupid)));
     $db->assertQuery('vBForum:attachmentpermission', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('usergroupid' => $usergroupid)));
     $db->assertQuery('vBForum:prefixpermission', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('usergroupid' => $usergroupid)));
     $db->assertQuery('vBforum:usergroupleader', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('usergroupid' => $usergroupid)));
     $db->assertQuery('infractiongroup', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('usergroupid' => $usergroupid)));
     $db->assertQuery('infractiongroup', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('orusergroupid' => $usergroupid)));
     $db->assertQuery('infractionban', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('usergroupid' => $usergroupid)));
     $db->assertQuery('infractionban', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_DELETE, vB_dB_Query::CONDITIONS_KEY => array('banusergroupid' => $usergroupid)));
     require_once DIR . '/includes/adminfunctions.php';
     build_channel_permissions();
     require_once DIR . '/includes/adminfunctions_attachment.php';
     build_attachment_permissions();
     // remove this group from users who have this group as a membergroup
     $updateusers = array();
     $casesql = '';
     $users = $db->getRows('usergroup_fetchmemberstoremove', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_STORED, 'usergroupid' => $usergroupid));
     if (count($users)) {
         $db->assertQuery('updateMemberForDeletedUsergroup', array(vB_dB_Query::TYPE_KEY => vB_dB_Query::QUERY_METHOD, 'users' => $users, 'usergroupid' => $usergroupid));
     }
     vB::getUserContext()->rebuildGroupAccess();
 }