bool sent_to_at_least_one = false;
- for (int i = 0; i < MAXCHANS; i++)
+ for (unsigned int i = 0; i < u->chans.size(); i++)
{
if (u->chans[i].channel)
{
memset(&already_sent,0,65536);
- for (int i = 0; i < MAXCHANS; i++)
+ for (unsigned int i = 0; i < u->chans.size(); i++)
{
if (u->chans[i].channel)
{
}
}
+void ServerNoticeAll(char* text, ...)
+{
+ if (!text)
+ return;
+
+ char textbuffer[MAXBUF];
+ va_list argsPtr;
+ va_start (argsPtr, text);
+ vsnprintf(textbuffer, MAXBUF, text, argsPtr);
+ va_end(argsPtr);
+
+ for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
+ {
+ if ((i->second) && (i->second->fd != FD_MAGIC_NUMBER))
+ {
+ WriteServ(i->second->fd,"NOTICE $%s :%s",ServerName,textbuffer);
+ }
+ }
+}
+
+void ServerPrivmsgAll(char* text, ...)
+{
+ if (!text)
+ return;
+
+ char textbuffer[MAXBUF];
+ va_list argsPtr;
+ va_start (argsPtr, text);
+ vsnprintf(textbuffer, MAXBUF, text, argsPtr);
+ va_end(argsPtr);
+
+ for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
+ {
+ if ((i->second) && (i->second->fd != FD_MAGIC_NUMBER))
+ {
+ WriteServ(i->second->fd,"PRIVMSG $%s :%s",ServerName,textbuffer);
+ }
+ }
+}
+
void NoticeAllOpers(userrec *source, bool local_only, char* text, ...)
{
if ((!text) || (!source))
{
log(DEBUG,"ChanAnyOnThisServer");
- for (int i = 0; i < MAXCHANS; i++)
+ for (unsigned int i = 0; i < u->chans.size(); i++)
{
if (u->chans[i].channel)
{
int go_again = 1, purge = 0;
// firstly decrement the count on each channel
- for (int f = 0; f < MAXCHANS; f++)
+ for (unsigned int f = 0; f < u->chans.size(); f++)
{
if (u->chans[f].channel)
{
}
}
- for (int i = 0; i < MAXCHANS; i++)
+ for (unsigned int i = 0; i < u->chans.size(); i++)
{
if (u->chans[i].channel)
{
int c = 0;
for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
{
- if ((i->second->fd) && (isnick(i->second->nick))) c++;
+ if (i->second->registered == 7) c++;
}
return c;
}
int usercount_invisible(void)
{
int c = 0;
-
for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
{
- if ((i->second->fd) && (isnick(i->second->nick)) && (strchr(i->second->modes,'i'))) c++;
+ if ((isnick(i->second->nick)) && (strchr(i->second->modes,'i'))) c++;
}
return c;
}
int usercount_opers(void)
{
int c = 0;
-
for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
{
- if ((i->second->fd) && (isnick(i->second->nick)) && (strchr(i->second->modes,'o'))) c++;
+ if ((isnick(i->second->nick)) && (strchr(i->second->modes,'o'))) c++;
}
return c;
}
return chanlist.size();
}
-long count_servs(void)
-{
- return 0;
-}
-
-long servercount(void)
-{
- return count_servs()+1;
-}
-
long local_count()
{
int c = 0;
return true;
}
-char islast(const char* s)
-{
- return '+';
-}
-
-long map_count(const char* s)
-{
- int c = 0;
- for (user_hash::const_iterator i = clientlist.begin(); i != clientlist.end(); i++)
- {
- if ((i->second->fd) && (isnick(i->second->nick)) && (!strcasecmp(i->second->server,s))) c++;
- }
- return c;
-}
-
void createcommand(char* cmd, handlerfunc f, char flags, int minparams,char* source)
{
command_t comm;