using namespace std;
-#include <string>
-#include <map>
-#include <sstream>
-#include <vector>
-#include <deque>
#include <stdarg.h>
#include "configreader.h"
#include "inspircd.h"
-#include "hash_map.h"
#include "users.h"
-#include "ctables.h"
-#include "globals.h"
#include "modules.h"
-#include "dynamic.h"
-#include "commands.h"
#include "wildcard.h"
#include "mode.h"
-#include "xline.h"
-#include "inspstring.h"
-
-#include "typedefs.h"
chanrec::chanrec(InspIRCd* Instance) : ServerInstance(Instance)
{
user->WriteServ("333 %s %s %s %lu", user->nick, Ptr->name, Ptr->setby, (unsigned long)Ptr->topicset);
}
Ptr->UserList(user);
- user->WriteServ("366 %s %s :End of /NAMES list.", user->nick, Ptr->name);
}
FOREACH_MOD_I(Instance,I_OnUserJoin,OnUserJoin(user,Ptr));
return Ptr;
{
char list[MAXBUF];
size_t dlen, curlen;
+ int MOD_RESULT = 0;
+
+ FOREACH_RESULT(I_OnUserList,OnUserList(user, this));
+ ServerInstance->Log(DEBUG,"MOD_RESULT for UserList = %d",MOD_RESULT);
+ if (MOD_RESULT == 1)
+ return;
+
+ ServerInstance->Log(DEBUG,"Using builtin NAMES list generation");
dlen = curlen = snprintf(list,MAXBUF,"353 %s = %s :", user->nick, this->name);
{
user->WriteServ(list);
}
+
+ user->WriteServ("366 %s %s :End of /NAMES list.", user->nick, this->name);
}
long chanrec::GetMaxBans()
return STATUS_NORMAL;
}
+/*bool ModeParser::PrefixComparison(const prefixtype one, const prefixtype two)
+{
+ return one.second > two.second;
+}*/
+
void chanrec::SetPrefix(userrec* user, char prefix, unsigned int prefix_value, bool adding)
{
prefixlist::iterator n = prefixes.find(user);
if (std::find(n->second.begin(), n->second.end(), pfx) == n->second.end())
{
n->second.push_back(pfx);
+ std::sort(n->second.begin(), n->second.end(), ModeParser::PrefixComparison);
}
}
else