core/AdminCache.cpp
changeset 1473 f3f39075066d
parent 1435 18b0febf4e60
child 1477 b2d8f676a902
     1.1 --- a/core/AdminCache.cpp	Tue Sep 25 21:45:25 2007 +0000
     1.2 +++ b/core/AdminCache.cpp	Wed Sep 26 01:03:20 2007 +0000
     1.3 @@ -1707,3 +1707,25 @@
     1.4  	return pUser->immunity_level;
     1.5  }
     1.6  
     1.7 +bool AdminCache::CheckAccess(int client, const char *cmd, AdminFlag flags, bool override_only)
     1.8 +{
     1.9 +	if (client == 0)
    1.10 +	{
    1.11 +		return true;
    1.12 +	}
    1.13 +
    1.14 +	/* Auto-detect a command if we can */
    1.15 +	FlagBits bits = flags;
    1.16 +	bool found_command = false;
    1.17 +	if (!override_only)
    1.18 +	{
    1.19 +		found_command = g_ConCmds.LookForCommandAdminFlags(cmd, &bits);
    1.20 +	}
    1.21 +
    1.22 +	if (!found_command)
    1.23 +	{
    1.24 +		GetCommandOverride(cmd, Override_Command, &bits);
    1.25 +	}
    1.26 +
    1.27 +	return g_ConCmds.CheckCommandAccess(client, cmd, bits) ? 1 : 0;
    1.28 +}