* ---------------------------------------------------
*/
-/* $Core: libIRCDmodules */
+/* $Core */
#include "inspircd.h"
#include "wildcard.h"
void Module::OnUserDisconnect(User*) { }
void Module::OnUserJoin(User*, Channel*, bool, bool&) { }
void Module::OnPostJoin(User*, Channel*) { }
-void Module::OnUserPart(User*, Channel*, const std::string&, bool&) { }
+void Module::OnUserPart(User*, Channel*, std::string&, bool&) { }
void Module::OnRehash(User*, const std::string&) { }
void Module::OnServerRaw(std::string&, bool, User*) { }
int Module::OnUserPreJoin(User*, Channel*, const char*, std::string&, const std::string&) { return 0; }
int Module::OnCheckKey(User*, Channel*, const std::string&) { return 0; }
int Module::OnCheckLimit(User*, Channel*) { return 0; }
int Module::OnCheckBan(User*, Channel*) { return 0; }
+int Module::OnCheckExtBan(User *, Channel *, char) { return 0; }
+int Module::OnCheckStringExtBan(const std::string &s, Channel *c, char type) { return 0; }
int Module::OnStats(char, User*, string_list&) { return 0; }
int Module::OnChangeLocalUserHost(User*, const std::string&) { return 0; }
int Module::OnChangeLocalUserGECOS(User*, const std::string&) { return 0; }
{
/* Suggestion from Phoenix, "shuffle" the modules to better retain call order */
int incrmnt = 1;
+
if (source > swap_pos)
incrmnt = -1;
+
for (unsigned int j = source; j != swap_pos; j += incrmnt)
+ {
+ if (( j + incrmnt > EventHandlers[i].size() - 1) || (j + incrmnt < 0))
+ continue;
+
std::swap(EventHandlers[i][j], EventHandlers[i][j+incrmnt]);
+ }
}
return true;