/* * m_wallops (write to *all* opers currently online) * parv[0] = sender prefix * parv[1] = message text */ int m_wallops(struct Client *cptr, struct Client *sptr, int parc, char *parv[]) { char* message; message = parc > 1 ? parv[1] : NULL; if (EmptyString(message)) { sendto_one(sptr, form_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "WALLOPS"); return 0; } if (!IsServer(sptr) && MyConnect(sptr) && !IsAnOper(sptr)) { sendto_one(sptr, form_str(ERR_NOPRIVILEGES), me.name, parv[0]); return(0); } /* If its coming from a server, do the normal thing if its coming from an oper, send the wallops along and only send the wallops to our local opers (those who are +ow) -Dianora */ if(!IsServer(sptr)) /* If source of message is not a server, i.e. oper */ { #ifdef PACE_WALLOPS if( MyClient(sptr) ) { if( (LastUsedWallops + WALLOPS_WAIT) > CurrentTime ) { sendto_one(sptr, ":%s NOTICE %s :Oh, one of those annoying opers who doesn't know how to use a channel", me.name,parv[0]); return 0; } LastUsedWallops = CurrentTime; } #endif send_operwall(sptr, "WALLOPS", message); sendto_serv_butone( IsServer(cptr) ? cptr : NULL, ":%s WALLOPS :%s", parv[0], message); } else /* its a server wallops */ sendto_wallops_butone(IsServer(cptr) ? cptr : NULL, sptr, ":%s WALLOPS :%s", parv[0], message); return 0; }
int m_operwall(struct Client *cptr, struct Client *sptr, int parc, char *parv[]) { char *message = parc > 1 ? parv[1] : NULL; if (check_registered_user(sptr)) return 0; if (!SendOperwall(sptr) || IsServer(sptr)) { if (MyClient(sptr) && !IsServer(sptr)) sendto_one(sptr, form_str(ERR_NOPRIVILEGES), me.name, parv[0]); return 0; } if (EmptyString(message)) { if (MyClient(sptr)) sendto_one(sptr, form_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "OPERWALL"); return 0; } #ifdef PACE_WALLOPS if( MyClient(sptr) ) { if( (LastUsedWallops + WALLOPS_WAIT) > CurrentTime ) { sendto_one(sptr, ":%s NOTICE %s :Oh, one of those annoying opers who doesn't know how to use a channel", me.name,parv[0]); return 0; } LastUsedWallops = CurrentTime; } #endif sendto_serv_butone(IsServer(cptr) ? cptr : NULL, ":%s OPERWALL :%s", parv[0], message); send_operwall(sptr, "OPERWALL", message); return 0; }
/* * m_wallops (write to *all* opers currently online) * parv[0] = sender prefix * parv[1] = message text */ int m_wallops(struct Client *cptr, struct Client *sptr, int parc, char *parv[]) { char* message; message = parc > 1 ? parv[1] : NULL; if (EmptyString(message)) { sendto_one(sptr, form_str(ERR_NEEDMOREPARAMS), me.name, parv[0], "WALLOPS"); return 0; } if (!IsServer(sptr) && MyConnect(sptr) && !IsAnOper(sptr)) { sendto_one(sptr, form_str(ERR_NOPRIVILEGES), me.name, parv[0]); return(0); } /* If its coming from a server, do the normal thing if its coming from an oper, send the wallops along and only send the wallops to our local opers (those who are +oz) -Dianora */ if(!IsServer(sptr)) /* If source of message is not a server, i.e. oper */ { send_operwall(sptr, "WALLOPS", message); sendto_serv_butone( IsServer(cptr) ? cptr : NULL, ":%s WALLOPS :%s", parv[0], message); } else /* its a server wallops */ sendto_wallops_butone(IsServer(cptr) ? cptr : NULL, sptr, ":%s WALLOPS :%s", parv[0], message); return 0; }