]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_chanhistory.cpp
Write out the permchannels database on a timer, not on every mode change
[user/henk/code/inspircd.git] / src / modules / m_chanhistory.cpp
index 0e5bfd0825169b8c95abb6ab4e3edfebca562cb6..c25dcb6033ccce79cdbf0fd10613d662537c9fbf 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2010 InspIRCd Development Team
  * See: http://wiki.inspircd.org/Credits
  *
  * This program is free but copyrighted software; see
@@ -44,7 +44,7 @@ class HistoryMode : public ModeHandler
                        if (colon == std::string::npos)
                                return MODEACTION_DENY;
                        int len = atoi(parameter.substr(0, colon).c_str());
-                       int time = atoi(parameter.substr(colon+1).c_str());
+                       int time = ServerInstance->Duration(parameter.substr(colon+1));
                        if (len <= 0 || time < 0 || len > 50)
                                return MODEACTION_DENY;
                        ext.set(channel, new HistoryList(len, time));
@@ -68,7 +68,7 @@ class ModuleChanHistory : public Module
                if (!ServerInstance->Modes->AddMode(&m))
                        throw ModuleException("Could not add new modes!");
 
-               Implementation eventlist[] = { I_OnUserJoin, I_OnUserMessage };
+               Implementation eventlist[] = { I_OnPostJoin, I_OnUserMessage };
                ServerInstance->Modules->Attach(eventlist, this, 2);
        }
 
@@ -95,7 +95,7 @@ class ModuleChanHistory : public Module
                }
        }
 
-       void OnUserJoin(Membership* memb, bool sync, bool created, CUList& except_list)
+       void OnPostJoin(Membership* memb)
        {
                HistoryList* list = m.ext.get(memb->chan);
                if (!list)
@@ -114,7 +114,7 @@ class ModuleChanHistory : public Module
 
        Version GetVersion()
        {
-               return Version("Provides channel history replayed on join", VF_COMMON | VF_VENDOR);
+               return Version("Provides channel history replayed on join", VF_VENDOR);
        }
 };