diff -r 7602d7fb60d9 -r 026da5437111 plugins/admin-flatfile/admin-groups.sp --- a/plugins/admin-flatfile/admin-groups.sp Fri Jul 11 06:51:21 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,244 +0,0 @@ -/** - * vim: set ts=4 : - * ============================================================================= - * SourceMod Admin File Reader Plugin - * Reads the admin_groups.cfg file. Do not compile this directly. - * - * SourceMod (C)2004-2008 AlliedModders LLC. All rights reserved. - * ============================================================================= - * - * This program is free software; you can redistribute it and/or modify it under - * the terms of the GNU General Public License, version 3.0, as published by the - * Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more - * details. - * - * You should have received a copy of the GNU General Public License along with - * this program. If not, see . - * - * As a special exception, AlliedModders LLC gives you permission to link the - * code of this program (as well as its derivative works) to "Half-Life 2," the - * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software - * by the Valve Corporation. You must obey the GNU General Public License in - * all respects for all other code used. Additionally, AlliedModders LLC grants - * this exception to all derivative works. AlliedModders LLC defines further - * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007), - * or . - * - * Version: $Id$ - */ - -#define GROUP_STATE_NONE 0 -#define GROUP_STATE_GROUPS 1 -#define GROUP_STATE_INGROUP 2 -#define GROUP_STATE_OVERRIDES 3 -#define GROUP_PASS_FIRST 1 -#define GROUP_PASS_SECOND 2 - -static Handle:g_hGroupParser = INVALID_HANDLE; -static GroupId:g_CurGrp = INVALID_GROUP_ID; -static g_GroupState = GROUP_STATE_NONE; -static g_GroupPass = 0; -static bool:g_NeedReparse = false; - -public SMCResult:ReadGroups_NewSection(Handle:smc, const String:name[], bool:opt_quotes) -{ - if (g_IgnoreLevel) - { - g_IgnoreLevel++; - return SMCParse_Continue; - } - - if (g_GroupState == GROUP_STATE_NONE) - { - if (StrEqual(name, "Groups")) - { - g_GroupState = GROUP_STATE_GROUPS; - } else { - g_IgnoreLevel++; - } - } else if (g_GroupState == GROUP_STATE_GROUPS) { - if ((g_CurGrp = CreateAdmGroup(name)) == INVALID_GROUP_ID) - { - g_CurGrp = FindAdmGroup(name); - } - g_GroupState = GROUP_STATE_INGROUP; - } else if (g_GroupState == GROUP_STATE_INGROUP) { - if (StrEqual(name, "Overrides")) - { - g_GroupState = GROUP_STATE_OVERRIDES; - } else { - g_IgnoreLevel++; - } - } else { - g_IgnoreLevel++; - } - - return SMCParse_Continue; -} - -public SMCResult:ReadGroups_KeyValue(Handle:smc, - const String:key[], - const String:value[], - bool:key_quotes, - bool:value_quotes) -{ - if (g_CurGrp == INVALID_GROUP_ID - || g_IgnoreLevel) - { - return SMCParse_Continue; - } - - new AdminFlag:flag; - - if (g_GroupPass == GROUP_PASS_FIRST) - { - if (g_GroupState == GROUP_STATE_INGROUP) - { - if (StrEqual(key, "flags")) - { - new len = strlen(value); - for (new i=0; i