]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - src/modules/m_globops.cpp
Header update: 2007 -> 2008
[user/henk/code/inspircd.git] / src / modules / m_globops.cpp
1 /*       +------------------------------------+
2  *       | Inspire Internet Relay Chat Daemon |
3  *       +------------------------------------+
4  *
5  *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
6  * See: http://www.inspircd.org/wiki/index.php/Credits
7  *
8  * This program is free but copyrighted software; see
9  *            the file COPYING for details.
10  *
11  * ---------------------------------------------------
12  */
13
14 // Globops and +g support module by C.J.Edwards
15
16 #include "inspircd.h"
17
18 /* $ModDesc: Provides support for GLOBOPS and user mode +g */
19
20 /** Handle /GLOBOPS
21  */
22 class CommandGlobops : public Command
23 {
24  public:
25         CommandGlobops (InspIRCd* Instance) : Command(Instance,"GLOBOPS",'o',1)
26         {
27                 this->source = "m_globops.so";
28                 syntax = "<any-text>";
29                 TRANSLATE2(TR_TEXT, TR_END);
30         }
31
32         CmdResult Handle (const char** parameters, int pcnt, User *user)
33         {
34                 std::string line = "From " + std::string(user->nick) + ": ";
35                 for (int i = 0; i < pcnt; i++)
36                 {
37                         line = line + std::string(parameters[i]) + " ";
38                 }
39                 ServerInstance->SNO->WriteToSnoMask('g',line);
40
41                 /* route it (ofc :p) */
42                 return CMD_SUCCESS;
43         }
44 };
45
46 class ModuleGlobops : public Module
47 {
48         CommandGlobops* mycommand;
49  public:
50         ModuleGlobops(InspIRCd* Me)
51                 : Module(Me)
52         {
53                 mycommand = new CommandGlobops(ServerInstance);
54                 ServerInstance->AddCommand(mycommand);
55                 ServerInstance->SNO->EnableSnomask('g',"GLOBOPS");
56
57         }
58         
59         virtual ~ModuleGlobops()
60         {
61                 ServerInstance->SNO->DisableSnomask('g');
62         }
63         
64         virtual Version GetVersion()
65         {
66                 return Version(1, 1, 0, 1, VF_COMMON | VF_VENDOR, API_VERSION);
67         }
68
69 };
70
71 MODULE_INIT(ModuleGlobops)