mirror of
https://github.com/anope/anope.git
synced 2026-07-08 13:23:13 +02:00
Cleanup of internals of new opertype stuff by Adam. Removes OS OPER and OS ADMIN, changes OS STAFF to be more helpful in their place.
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2319 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
+1
-11
@@ -1116,17 +1116,7 @@ operserv
|
||||
* The core modules to load for OperServ. This is a space separated list that corresponds
|
||||
* to the base names of the modules for OperServ. This directive is optional, but highly recommended.
|
||||
*/
|
||||
modules = "os_help os_global os_stats os_oper os_admin os_staff os_mode os_kick os_clearmodes os_akill os_sgline os_sqline os_szline os_chanlist os_userlist os_news os_session os_noop os_jupe os_ignore os_set os_reload os_update os_restart os_quit os_shutdown os_defcon os_chankill os_svsnick os_oline os_umode os_modload os_modunload os_modlist os_modinfo"
|
||||
|
||||
/*
|
||||
* Specifies the Services "super-users". The super-users, or "roots" as in Unix terminology, are
|
||||
* the only users who can add or delete Services Admins.
|
||||
*
|
||||
* You can specify more than one nick by separating each one by a space.
|
||||
*
|
||||
* This is commented out by default; make sure you insert the correct nicks before uncommenting it.
|
||||
*/
|
||||
#servicesroot = "CyberBotX w00t"
|
||||
modules = "os_help os_global os_stats os_staff os_mode os_kick os_clearmodes os_akill os_sgline os_sqline os_szline os_chanlist os_userlist os_news os_session os_noop os_jupe os_ignore os_set os_reload os_update os_restart os_quit os_shutdown os_defcon os_chankill os_svsnick os_oline os_umode os_modload os_modunload os_modlist os_modinfo"
|
||||
|
||||
/*
|
||||
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
|
||||
|
||||
@@ -346,8 +346,6 @@ E bool GlobalOnCycle;
|
||||
E bool AnonymousGlobal;
|
||||
E char *GlobalOnCycleMessage;
|
||||
E char *GlobalOnCycleUP;
|
||||
E char **ServicesRoots;
|
||||
E int RootNumber;
|
||||
E bool LogMaxUsers;
|
||||
E bool SuperAdmin;
|
||||
E bool LogBot;
|
||||
@@ -731,8 +729,6 @@ E int is_on_access(User * u, NickCore * nc);
|
||||
/**** operserv.c ****/
|
||||
|
||||
E SList akills, sglines, sqlines, szlines;
|
||||
E SList servadmins;
|
||||
E SList servopers;
|
||||
|
||||
E int DefConModesSet;
|
||||
E uint32 DefConModesOn;
|
||||
@@ -744,8 +740,6 @@ E void os_init();
|
||||
E void load_os_dbase();
|
||||
E void save_os_dbase();
|
||||
|
||||
E void os_remove_nick(NickCore *nc);
|
||||
|
||||
E int add_akill(User *u, const char *mask, const char *by, const time_t expires, const char *reason);
|
||||
E int check_akill(const char *nick, const char *username, const char *host, const char *vhost, const char *ip);
|
||||
E void expire_akills();
|
||||
|
||||
+3
-3
@@ -1135,10 +1135,10 @@ typedef struct ircd_modes_ {
|
||||
#define NI_HIDE_QUIT 0x00000200 /* Don't show last quit message in INFO */
|
||||
#define NI_KILL_QUICK 0x00000400 /* Kill in 20 seconds instead of 60 */
|
||||
#define NI_KILL_IMMED 0x00000800 /* Kill immediately instead of in 60 sec */
|
||||
#define NI_SERVICES_OPER 0x00001000 /* User is a Services operator */
|
||||
#define NI_SERVICES_ADMIN 0x00002000 /* User is a Services admin */
|
||||
//#define NI_SERVICES_OPER 0x00001000 /* No longer used */
|
||||
//#define NI_SERVICES_ADMIN 0x00002000 /* No longer used */
|
||||
#define NI_ENCRYPTEDPW 0x00004000 /* Nickname password is encrypted */
|
||||
#define NI_SERVICES_ROOT 0x00008000 /* User is a Services root */
|
||||
//#define NI_SERVICES_ROOT 0x00008000 /* No longer used */
|
||||
#define NI_MEMO_MAIL 0x00010000 /* User gets email on memo */
|
||||
#define NI_HIDE_STATUS 0x00020000 /* Don't show services access status */
|
||||
#define NI_SUSPENDED 0x00040000 /* Nickname is suspended */
|
||||
|
||||
-66
@@ -2650,72 +2650,6 @@ OPER_SVSNICK_SYNTAX
|
||||
SVSNICK nick newnick
|
||||
OPER_SVSNICK_NEWNICK
|
||||
The nick %s is now being changed to %s.
|
||||
|
||||
# ADMIN responses
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [nick | llista]
|
||||
OPER_ADMIN_SKELETON
|
||||
Els serveis estan en Mode skeleton; la comanda ADMIN no esta disponible.
|
||||
OPER_ADMIN_EXISTS
|
||||
%s ja esta present a la llista d'administradors de serveis.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Ho sento, sols pots tenir %d administradors de serveis.
|
||||
OPER_ADMIN_ADDED
|
||||
%s afegit a la llista d'administradors de serveis.
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
%s no trobat a la llista d'administradors de serveis.
|
||||
OPER_ADMIN_NO_MATCH
|
||||
No existeixen instàncies similars a la llista d'administradors de serveis.
|
||||
OPER_ADMIN_DELETED
|
||||
%s esborrat de la llista d'administradors de serveis.
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
1 instància esborrada de la llista d'administradors de serveis.
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
%d instàncies esborrades de la llista d'administradors de serveis.
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
La llista d'administradors de serveis esta buida.
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Llista d'administradors de serveis:
|
||||
Num Nick
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_ADMIN_CLEAR
|
||||
La llista d'administradors de serveis ha estat netegada.
|
||||
OPER_ADMIN_MOVED
|
||||
%s has been moved to Services Administrators list.
|
||||
|
||||
# OPER responses
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [nick | llista]
|
||||
OPER_OPER_SKELETON
|
||||
Els serveis estan en Mode skeleton; la comanda OPER no esta disponible.
|
||||
OPER_OPER_EXISTS
|
||||
%s ja existeix a la llista d'operadors de serveis.
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Ho sento, sols pots tenir %d operadors de serveis.
|
||||
OPER_OPER_ADDED
|
||||
%s afegit a la llista d'operadors de serveis.
|
||||
OPER_OPER_NOT_FOUND
|
||||
%s no trobat a la llista d'operadors de serveis.
|
||||
OPER_OPER_NO_MATCH
|
||||
No existeixen instàncies similars a la llista d'operadors de serveis.
|
||||
OPER_OPER_DELETED
|
||||
%s esborrat de la llista d'operadors de serveis.
|
||||
OPER_OPER_DELETED_ONE
|
||||
1 instància esborrada de la llista d'operadors de serveis.
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
%d instàncies esborrades de la llista d'operadors de serveis.
|
||||
OPER_OPER_LIST_EMPTY
|
||||
La llista d'administradors de serveis esta buida.
|
||||
OPER_OPER_LIST_HEADER
|
||||
Llista d'operadors de serveis:
|
||||
Num Nick
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_OPER_CLEAR
|
||||
La llista d'operadors de serveis ha estat netegada.
|
||||
OPER_OPER_MOVED
|
||||
%s has been moved to Services Operators list.
|
||||
|
||||
# AKILL responses
|
||||
OPER_AKILL_SYNTAX
|
||||
|
||||
@@ -2616,72 +2616,6 @@ OPER_SVSNICK_SYNTAX
|
||||
SVSNICK Nickname Neuer-Nickname
|
||||
OPER_SVSNICK_NEWNICK
|
||||
Der Nickname %s wird jetzt zu %s geändert.
|
||||
|
||||
# ADMIN responses
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [Nickname | entry-liste]
|
||||
OPER_ADMIN_SKELETON
|
||||
Services sind im Basis-Modus. Das ADMIN-Befehl ist nicht verfügbar.
|
||||
OPER_ADMIN_EXISTS
|
||||
%s existiert bereits auf der Services Administratoren-Liste.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Du kannst nur %d Services Administratoren haben.
|
||||
OPER_ADMIN_ADDED
|
||||
%s wurde zur Liste der Services Administratoren hinzugefügt.
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
%s wurde nicht auf der Liste der Services Administratoren gefunden.
|
||||
OPER_ADMIN_NO_MATCH
|
||||
Keine entsprechenden Einträge in der Services Administratoren-Liste gefunden.
|
||||
OPER_ADMIN_DELETED
|
||||
%s wurde aus der Services Administratoren-Liste entfernt.
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
Es wurde 1 Eintrag aus der Services Administratoren-Liste entfernt.
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
Es wurden %d Einträge aus der Services Administratoren-Liste entfernt.
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
Die Services Administratoren-Liste ist leer.
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Services Administratoren-Liste:
|
||||
Nummer Nickname
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_ADMIN_CLEAR
|
||||
Die Liste der Services Administratoren wurde geleert.
|
||||
OPER_ADMIN_MOVED
|
||||
%s wurde zu der Services Administratoren-Liste verschoben.
|
||||
|
||||
# OPER responses
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [Nickname | entry-liste]
|
||||
OPER_OPER_SKELETON
|
||||
Services sind im Basis-Modus. Das OPER-Befehl ist nicht verfügbar.
|
||||
OPER_OPER_EXISTS
|
||||
%s existiert bereits auf der Services Operatoren-Liste.
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Du kannst nur %d Services Operatoren haben.
|
||||
OPER_OPER_ADDED
|
||||
%s wurde zur der Services Operatoren-Liste hinzugefügt.
|
||||
OPER_OPER_NOT_FOUND
|
||||
%s wurde nicht auf der Services Operatoren-Liste gefunden.
|
||||
OPER_OPER_NO_MATCH
|
||||
Keine entsprechenden Einträge in der Services Operatoren-Liste gefunden.
|
||||
OPER_OPER_DELETED
|
||||
%s wurde aus der Services Operatoren-Liste entfernt.
|
||||
OPER_OPER_DELETED_ONE
|
||||
Es wurde 1 Eintrag aus der Services Operatoren-Liste entfernt.
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
Es wurden %d Einträge aus der Services Operatoren-Liste entfernt.
|
||||
OPER_OPER_LIST_EMPTY
|
||||
Die Services Operatoren-Liste ist leer.
|
||||
OPER_OPER_LIST_HEADER
|
||||
Services Operatoren-Liste:
|
||||
Nummer Nickname
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_OPER_CLEAR
|
||||
Die Liste der Services Operatoren wurde geleert.
|
||||
OPER_OPER_MOVED
|
||||
%s wurde zu der Services Operatoren-Liste verschoben.
|
||||
|
||||
# AKILL responses
|
||||
OPER_AKILL_SYNTAX
|
||||
|
||||
@@ -2568,72 +2568,6 @@ OPER_SVSNICK_SYNTAX
|
||||
SVSNICK nick newnick
|
||||
OPER_SVSNICK_NEWNICK
|
||||
The nick %s is now being changed to %s.
|
||||
|
||||
# ADMIN responses
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [nick | entry-list]
|
||||
OPER_ADMIN_SKELETON
|
||||
Services is in skeleton mode; the ADMIN command is unavailable.
|
||||
OPER_ADMIN_EXISTS
|
||||
%s already exists on Services admin list.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Sorry, you can only have %d Services admins.
|
||||
OPER_ADMIN_ADDED
|
||||
%s added to Services admin list.
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
%s not found on Services admin list.
|
||||
OPER_ADMIN_NO_MATCH
|
||||
No matching entries on Services admin list.
|
||||
OPER_ADMIN_DELETED
|
||||
%s deleted from Services admin list.
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
Deleted 1 entry from Services admin list.
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
Deleted %d entries from Services admin list.
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
Services admin list is empty.
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Services admin list:
|
||||
Num Nick
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_ADMIN_CLEAR
|
||||
Services admin list has been cleared.
|
||||
OPER_ADMIN_MOVED
|
||||
%s has been moved to Services Administrators list.
|
||||
|
||||
# OPER responses
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [nick | entry-list]
|
||||
OPER_OPER_SKELETON
|
||||
Services is in skeleton mode; the OPER command is unavailable.
|
||||
OPER_OPER_EXISTS
|
||||
%s already exists on Services operator list.
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Sorry, you can only have %d Services operators.
|
||||
OPER_OPER_ADDED
|
||||
%s added to Services operator list.
|
||||
OPER_OPER_NOT_FOUND
|
||||
%s not found on Services operator list.
|
||||
OPER_OPER_NO_MATCH
|
||||
No matching entries on Services operator list.
|
||||
OPER_OPER_DELETED
|
||||
%s deleted from Services operator list.
|
||||
OPER_OPER_DELETED_ONE
|
||||
Deleted 1 entry from Services operator list.
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
Deleted %d entries from Services operator list.
|
||||
OPER_OPER_LIST_EMPTY
|
||||
Services operator list is empty.
|
||||
OPER_OPER_LIST_HEADER
|
||||
Services operator list:
|
||||
Num Nick
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_OPER_CLEAR
|
||||
Services operator list has been cleared.
|
||||
OPER_OPER_MOVED
|
||||
%s has been moved to Services Operators list.
|
||||
|
||||
# AKILL responses
|
||||
OPER_AKILL_SYNTAX
|
||||
|
||||
@@ -2621,72 +2621,6 @@ OPER_SVSNICK_SYNTAX
|
||||
SVSNICK nick nuevonick
|
||||
OPER_SVSNICK_NEWNICK
|
||||
El nick %s esta siendo cambiado a %s.
|
||||
|
||||
# ADMIN responses
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [nick | lista]
|
||||
OPER_ADMIN_SKELETON
|
||||
Los Servicios estan en modo skeleton; El comando ADMIN no esta disponible.
|
||||
OPER_ADMIN_EXISTS
|
||||
%s ya esta presente en la lista de administradores de Servicios.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Lo siento, solo puedes tener %d administradores de Servicios.
|
||||
OPER_ADMIN_ADDED
|
||||
%s añadido a la lista de administradores de Servicios.
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
%s no encontrado en la lista de administradores de Servicios.
|
||||
OPER_ADMIN_NO_MATCH
|
||||
No existen instancias similares en la lista de administradores de Servicios.
|
||||
OPER_ADMIN_DELETED
|
||||
%s borrado de la lista de administradores de Servicios.
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
1 Instancia borrada de la lista de administradores de Servicios.
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
%d instancias borradas de la lista de administradores de Servicios.
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
La lista de administradores de Servicios esta vacia.
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Lista de administradores de Servicios:
|
||||
Num Nick
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_ADMIN_CLEAR
|
||||
La lista de administradores de Servicios ha sido limpiada.
|
||||
OPER_ADMIN_MOVED
|
||||
%s ha sido movido a la lista de Administradores de Servicios.
|
||||
|
||||
# OPER responses
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [nick | lista]
|
||||
OPER_OPER_SKELETON
|
||||
Los Servicios estan en modo skeleton; El comando OPER no esta disponible.
|
||||
OPER_OPER_EXISTS
|
||||
%s ya existe en la lista de operadores de Servicios.
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Lo siento, solo puedes tener %d operadores de Servicios.
|
||||
OPER_OPER_ADDED
|
||||
%s añadido a la lista de operadores de Servicios.
|
||||
OPER_OPER_NOT_FOUND
|
||||
%s no encontrado en la lista de operadores de Servicios.
|
||||
OPER_OPER_NO_MATCH
|
||||
No existen instancias similares en la lista de operadores de Servicios.
|
||||
OPER_OPER_DELETED
|
||||
%s borrado de la lista de operadores de Servicios.
|
||||
OPER_OPER_DELETED_ONE
|
||||
1 Instancia borrada de la lista de operadores de Servicios.
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
%d instancias borradas de la lista de operadores de Servicios.
|
||||
OPER_OPER_LIST_EMPTY
|
||||
La lista de administradores de Servicios esta vacia.
|
||||
OPER_OPER_LIST_HEADER
|
||||
Lista de operadores de Servicios:
|
||||
Num Nick
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_OPER_CLEAR
|
||||
La lista de operadores de Servicios ha sido limpiada.
|
||||
OPER_OPER_MOVED
|
||||
%s ha sido movido a la lista de Operadores de Servicios.
|
||||
|
||||
# AKILL responses
|
||||
OPER_AKILL_SYNTAX
|
||||
|
||||
@@ -2674,72 +2674,6 @@ OPER_SVSNICK_SYNTAX
|
||||
SVSNICK pseudo nouveau-pseudo
|
||||
OPER_SVSNICK_NEWNICK
|
||||
Le pseudo de %s a été changé en %s.
|
||||
|
||||
# ADMIN responses
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [pseudo | entry-list]
|
||||
OPER_ADMIN_SKELETON
|
||||
Les services sont en mode skeleton, la commande ADMIN n'est pas disponible.
|
||||
OPER_ADMIN_EXISTS
|
||||
%s est déjà sur la liste des Services admins.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Vous ne pouvez avoir que %d Services admins.
|
||||
OPER_ADMIN_ADDED
|
||||
%s a été ajouté à la liste des Services admins.
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
%s est introuvable sur la liste des Services admins.
|
||||
OPER_ADMIN_NO_MATCH
|
||||
Aucune entrée correspondante sur la liste des Services admins.
|
||||
OPER_ADMIN_DELETED
|
||||
%s a été supprimé de la liste des Services admins.
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
1 entrée a été supprimée de la liste des Services admins.
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
%d entrées ont été supprimées de la liste des Services admins.
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
La liste des Services admins est vide.
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Liste des Services admins:
|
||||
Num Pseudo
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_ADMIN_CLEAR
|
||||
La liste des Services admins a été vidée.
|
||||
OPER_ADMIN_MOVED
|
||||
%s a été retiré de la liste des services admins.
|
||||
|
||||
# OPER responses
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [pseudo | entry-list]
|
||||
OPER_OPER_SKELETON
|
||||
Les services sont en mode skeleton, la commande OPER n'est pas disponible.
|
||||
OPER_OPER_EXISTS
|
||||
%s est déjà sur la liste des Services oper.
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Vous ne pouvez avoir que %d Services oper.
|
||||
OPER_OPER_ADDED
|
||||
%s a été ajouté à la liste des Services oper.
|
||||
OPER_OPER_NOT_FOUND
|
||||
%s est introuvable sur la liste des Services oper.
|
||||
OPER_OPER_NO_MATCH
|
||||
Aucune entrée correspondante sur la liste des Services oper.
|
||||
OPER_OPER_DELETED
|
||||
%s a été supprimé de la liste des Services oper.
|
||||
OPER_OPER_DELETED_ONE
|
||||
1 entrée a été supprimée de la liste des Services oper.
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
%d entrées ont été supprimées de la liste des Services oper.
|
||||
OPER_OPER_LIST_EMPTY
|
||||
La liste des Services oper est vide.
|
||||
OPER_OPER_LIST_HEADER
|
||||
Liste des Services oper:
|
||||
Num Pseudo
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_OPER_CLEAR
|
||||
La liste des Services oper a été vidée.
|
||||
OPER_OPER_MOVED
|
||||
%s a été bougé dans la liste des services oper.
|
||||
|
||||
# AKILL responses
|
||||
OPER_AKILL_SYNTAX
|
||||
|
||||
@@ -2653,72 +2653,6 @@ OPER_SVSNICK_SYNTAX
|
||||
SVSNICK nick newnick
|
||||
OPER_SVSNICK_NEWNICK
|
||||
The nick %s is now being changed to %s.
|
||||
|
||||
# ADMIN responses
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [nick | entry-list]
|
||||
OPER_ADMIN_SKELETON
|
||||
Ïé õðçñåóßåò åßíáé óå skeleton mode; Ç åíôïëÞ ADMIN äåí åßíáé äéáèÝóéìç.
|
||||
OPER_ADMIN_EXISTS
|
||||
Ï/ç %s õðÜñ÷åé Þäç óôçí ëßóôá ôùí õðçñåóéþí.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Óõãíþìç, ìðïñåßò íá Ý÷åéò óôçí ëßóôá ôùí õðçñåóéþí ìüíï %d.
|
||||
OPER_ADMIN_ADDED
|
||||
%s ðñïóèÝèçêå óôçí ëßóôá ôùí õðçñåóéþí.
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
%s äåí âñÝèçêå óôçí ëßóôá ôùí õðçñåóéþí.
|
||||
OPER_ADMIN_NO_MATCH
|
||||
Äåí âñÝèçêáí èÝóåéò óôçí ëßóôá ôùí õðçñåóéþí.
|
||||
OPER_ADMIN_DELETED
|
||||
%s äéáãñÜöçêå áðü ôçí ëßóôá ôùí õðçñåóéþí.
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
ÄéáãñÜöçêå 1 èÝóç áðü ôçí ëßóôá ôùí õðçñåóéþí.
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
ÄéáãñÜöçêáí %d èÝóåéò áðü ôçí ëßóôá ôùí õðçñåóéþí.
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
Ç ëßóôá ôùí õðçñåóéþí åßíáé Üäåéá.
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Ç ëßóôá ôùí õðçñåóéþí åßíáé ïé åîÞò:
|
||||
Íïýì Øåõä
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_ADMIN_CLEAR
|
||||
Ç ëßóôá ôùí õðçñåóéþí êáèáñßóôçêå.
|
||||
OPER_ADMIN_MOVED
|
||||
%s has been moved to Services Administrators list.
|
||||
|
||||
# OPER responses
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [nick | entry-list]
|
||||
OPER_OPER_SKELETON
|
||||
Ïé õðçñåóßåò åßíáé óå skeleton mode; Ç åíôïëÞ OPER äåí åßíáé äéáèÝóéìç.
|
||||
OPER_OPER_EXISTS
|
||||
%s õðÜñ÷åé Þäç óôçí ëßóôá ôùí õðçñåóéþí ùò operator.
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Óõãíþìç, ìðïñåßò ìüíï íá Ý÷åéò óôçí ëßóôá õðçñåóéþí %d operators.
|
||||
OPER_OPER_ADDED
|
||||
%s ðñïóèÝèçêå óôçí ëßóôá ôùí õðçñåóéþí ùò operator.
|
||||
OPER_OPER_NOT_FOUND
|
||||
%s äåí âñÝèçêå óôçí ëßóôá ôùí õðçñåóéþí áõôëïò ï operator.
|
||||
OPER_OPER_NO_MATCH
|
||||
Äåí âñÝèçêáí èÝóåéò óôçí ëßóôá ôùí õðçñåóéþí ïé opers.
|
||||
OPER_OPER_DELETED
|
||||
%s äéáãñÜöçêå áðü ôçí ëßóôá ôùí operators.
|
||||
OPER_OPER_DELETED_ONE
|
||||
ÄéáãñÜöçêå 1 èÝóç áðü ôçí ëßóôá ôùí operators.
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
ÄéáãñÜöçêáí %d èÝóåéò áðü ôçí ëßóôá ôùí operators.
|
||||
OPER_OPER_LIST_EMPTY
|
||||
Ç ëßóôá ôùí operators åßíáé Üäåéá.
|
||||
OPER_OPER_LIST_HEADER
|
||||
Ç ëßóôá ôùí operators åßíáé:
|
||||
Íïõ Øåõä
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_OPER_CLEAR
|
||||
Ç ëßóôá ôùí operators êáèáñßóôçêå.
|
||||
OPER_OPER_MOVED
|
||||
%s has been moved to Services Operators list.
|
||||
|
||||
# AKILL responses
|
||||
OPER_AKILL_SYNTAX
|
||||
|
||||
-66
@@ -2611,72 +2611,6 @@ OPER_SVSNICK_SYNTAX
|
||||
OPER_SVSNICK_NEWNICK
|
||||
A nicked %s meg lett változtatva erre: %s.
|
||||
|
||||
# ADMIN válaszok
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [nick | bejegyzések]
|
||||
OPER_ADMIN_SKELETON
|
||||
Szervíz most skeleton módban fut, az ADMIN parancs nem elérhetõ
|
||||
OPER_ADMIN_EXISTS
|
||||
%s már szerepel a szervíz admin litában.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Csak %d szervíz admin lehet a listán.
|
||||
OPER_ADMIN_ADDED
|
||||
%s hozzáadva szervíz admin listához.
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
%s nem található szervíz admin listán.
|
||||
OPER_ADMIN_NO_MATCH
|
||||
Nincs ilyen a szervíz admin listán.
|
||||
OPER_ADMIN_DELETED
|
||||
%s törölve a szervíz admin listáról.
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
Töröltve 1 bejegyzés a szervíz admin listáról.
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
Töröltve %d bejegyzés a szervíz admin listáról.
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
Szervíz admin lista üres.
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Szerviz admin lista:
|
||||
Szám Nick
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_ADMIN_CLEAR
|
||||
Szervíz admin lista törölve.
|
||||
OPER_ADMIN_MOVED
|
||||
%s has been moved to Services Administrators list.
|
||||
|
||||
# OPER válaszok
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [nick | bejegyzések]
|
||||
OPER_OPER_SKELETON
|
||||
Szervíz most skeleton módban fut, az OPER parancs nem elérhetõ.
|
||||
OPER_OPER_EXISTS
|
||||
%s már szerepel a szervíz operátor listán.
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Csak %d szervíz operátor lehet a listán.
|
||||
OPER_OPER_ADDED
|
||||
%s hozzáadva a szervíz operátor listához.
|
||||
OPER_OPER_NOT_FOUND
|
||||
%s nem található a szervíz operátor listán.
|
||||
OPER_OPER_NO_MATCH
|
||||
Nincs ilyen bejegyzés a szervíz operátor listán.
|
||||
OPER_OPER_DELETED
|
||||
%s törölve szervíz operátor listáról.
|
||||
OPER_OPER_DELETED_ONE
|
||||
Törölve 1 bejegyzés a szervíz operátor listáról.
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
Törölve %d bejegyzés a szervíz operátor listától.
|
||||
OPER_OPER_LIST_EMPTY
|
||||
Szervíz operátor lista üres.
|
||||
OPER_OPER_LIST_HEADER
|
||||
Szervíz operátor lista:
|
||||
Szám Nick
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_OPER_CLEAR
|
||||
Szervíz operátor lista törölve.
|
||||
OPER_OPER_MOVED
|
||||
%s has been moved to Services Operators list.
|
||||
|
||||
# AKILL válaszok
|
||||
OPER_AKILL_SYNTAX
|
||||
AKILL {ADD | DEL | LIST | VIEW | CLEAR} [[+lejárat] {maszk | sorszám} [indok]]
|
||||
|
||||
@@ -2580,72 +2580,6 @@ OPER_SVSNICK_SYNTAX
|
||||
SVSNICK nick nuovonick
|
||||
OPER_SVSNICK_NEWNICK
|
||||
Il nick %s viene ora cambiato in %s.
|
||||
|
||||
# ADMIN responses
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [nick | numero-lista]
|
||||
OPER_ADMIN_SKELETON
|
||||
I Services sono in modalità "scheletro"; il comando ADMIN non è disponibile.
|
||||
OPER_ADMIN_EXISTS
|
||||
%s è già presente nella lista dei Services admin.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Spiacente, puoi avere un massimo di %d Services admin.
|
||||
OPER_ADMIN_ADDED
|
||||
%s aggiunto alla lista dei Services admin.
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
%s non trovato nella lista dei Services admin.
|
||||
OPER_ADMIN_NO_MATCH
|
||||
Nessun record corrispondente nella lista dei Services admin.
|
||||
OPER_ADMIN_DELETED
|
||||
%s eliminato dalla lista dei Services admin.
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
Eliminato 1 record dalla lista dei Services admin.
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
Eliminati %d record dalla lista dei Services admin.
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
La lista dei Services admin è vuota.
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Lista dei Services admin:
|
||||
Num Nick
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_ADMIN_CLEAR
|
||||
La lista dei Services admin è stata svuotata.
|
||||
OPER_ADMIN_MOVED
|
||||
%s è stato spostato nella lista dei Services admin.
|
||||
|
||||
# OPER responses
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [nick | numero-lista]
|
||||
OPER_OPER_SKELETON
|
||||
I Services sono in modalità "scheletro"; il comando ADMIN non è disponibile.
|
||||
OPER_OPER_EXISTS
|
||||
%s è già presente nella lista dei Services oper.
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Spiacente, puoi avere un massimo di %d Services oper.
|
||||
OPER_OPER_ADDED
|
||||
%s aggiunto alla lista dei Services oper.
|
||||
OPER_OPER_NOT_FOUND
|
||||
%s non trovato nella lista dei Services oper.
|
||||
OPER_OPER_NO_MATCH
|
||||
Nessun record corrispondente nella lista dei Services oper.
|
||||
OPER_OPER_DELETED
|
||||
%s eliminato dalla lista dei Services oper.
|
||||
OPER_OPER_DELETED_ONE
|
||||
Eliminato 1 record dalla lista dei Services oper.
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
Eliminati %d record dalla lista dei Services oper.
|
||||
OPER_OPER_LIST_EMPTY
|
||||
La lista dei Services oper è vuota.
|
||||
OPER_OPER_LIST_HEADER
|
||||
Lista dei Services oper:
|
||||
Num Nick
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_OPER_CLEAR
|
||||
La lista dei Services oper è stata svuotata.
|
||||
OPER_OPER_MOVED
|
||||
%s è stato spostato nella lista dei Services oper.
|
||||
|
||||
# AKILL responses
|
||||
OPER_AKILL_SYNTAX
|
||||
|
||||
@@ -2619,72 +2619,6 @@ OPER_SVSNICK_SYNTAX
|
||||
SVSNICK nick nieuwe nick
|
||||
OPER_SVSNICK_NEWNICK
|
||||
De nick %s wordt nu veranderd in %s.
|
||||
|
||||
# ADMIN responses
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [nick | toeganslijst]
|
||||
OPER_ADMIN_SKELETON
|
||||
Services is in skelet mode; het ADMIN commando is niet beschikbaar.
|
||||
OPER_ADMIN_EXISTS
|
||||
%s bestaat al op de Services admin lijst.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Sorry, je kan maar %d Services admins hebben.
|
||||
OPER_ADMIN_ADDED
|
||||
%s toegevoegd aan de Services admin lijst.
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
%s niet gevonden op de Services admin lijst.
|
||||
OPER_ADMIN_NO_MATCH
|
||||
Geen overkeenkomsten op de Services admin lijst.
|
||||
OPER_ADMIN_DELETED
|
||||
%s verwijderd van de Services admin lijst.
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
1 admin verwijderd van de Services admin lijst.
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
%d admins verwijderd van de Services admin lijst.
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
Services admin lijst is leeg.
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Services admin lijst:
|
||||
Nr Nick
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_ADMIN_CLEAR
|
||||
Services admin lijst is leeggemaakt.
|
||||
OPER_ADMIN_MOVED
|
||||
%s is verplaatst naar de Services admin lijst.
|
||||
|
||||
# OPER responses
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [nick | toegangslijst]
|
||||
OPER_OPER_SKELETON
|
||||
Services is in skelet mode; het OPER commando is onbeschikbaar.
|
||||
OPER_OPER_EXISTS
|
||||
%s bestaat al op de Services operator lijst.
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Sorry, je kan maar %d Services operators hebben.
|
||||
OPER_OPER_ADDED
|
||||
%s toegevoegd aan Services operator lijst.
|
||||
OPER_OPER_NOT_FOUND
|
||||
%s niet gevonden op Services operator lijst.
|
||||
OPER_OPER_NO_MATCH
|
||||
Geen overeenkomsten op Services operator lijst.
|
||||
OPER_OPER_DELETED
|
||||
%s verwijderd van Services operator lijst.
|
||||
OPER_OPER_DELETED_ONE
|
||||
1 operator verwijderd van Services operator lijst.
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
%d operators verwijderd van Services operator lijst.
|
||||
OPER_OPER_LIST_EMPTY
|
||||
Services operator lijst is leeg.
|
||||
OPER_OPER_LIST_HEADER
|
||||
Services operator lijst:
|
||||
Nr Nick
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_OPER_CLEAR
|
||||
Services operator lijst is leeggemaakt.
|
||||
OPER_OPER_MOVED
|
||||
%s is verplaatst naar de Services operator lijst.
|
||||
|
||||
# AKILL responses
|
||||
OPER_AKILL_SYNTAX
|
||||
|
||||
@@ -3434,100 +3434,6 @@ OPER_SVSNICK_SYNTAX
|
||||
OPER_SVSNICK_NEWNICK
|
||||
Nick %s zostaje zmieniony na %s.
|
||||
|
||||
# ADMIN responses
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [nick | pozycja]
|
||||
|
||||
OPER_ADMIN_SKELETON
|
||||
Serwisy s± w trybie szkieletowym, komenda ADMIN nie jest dostêpna.
|
||||
|
||||
OPER_ADMIN_EXISTS
|
||||
%s ju¿ istnieje na li¶cie administratorów serwisów.
|
||||
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Mo¿esz mieæ tylko %d administratorów serwisów.
|
||||
|
||||
OPER_ADMIN_ADDED
|
||||
%s dodano do listy administratorów serwisów.
|
||||
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
%s nie znaleziono na li¶cie administratorów serwisów.
|
||||
|
||||
OPER_ADMIN_NO_MATCH
|
||||
Nie znaleziono pasuj±cych wpisów na li¶cie administratorów serwisów.
|
||||
|
||||
OPER_ADMIN_DELETED
|
||||
%s usuniêto z listy administratorów serwisów.
|
||||
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
Usuniêto 1 wpis z listy administratorów serwisów.
|
||||
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
Usuniêto %d wpisy(ów) z listy administratorów serwisów.
|
||||
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
Lista administratorów serwisów jest pusta.
|
||||
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Lista administratorów serwisów:
|
||||
Nr Nick
|
||||
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
|
||||
OPER_ADMIN_CLEAR
|
||||
Lista administratorów serwisów zosta³a wyczyszczona.
|
||||
|
||||
OPER_ADMIN_MOVED
|
||||
%s przeniesiono na listê administratorów serwisów.
|
||||
|
||||
# OPER responses
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [nick | pozycja]
|
||||
|
||||
OPER_OPER_SKELETON
|
||||
Serwisy s± w trybie szkieletowym, komenda OPER nie jest dostêpna.
|
||||
|
||||
OPER_OPER_EXISTS
|
||||
%s ju¿ istnieje na li¶cie operatorów serwisów.
|
||||
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Mo¿esz mieæ tylko %d operatorów serwisów.
|
||||
|
||||
OPER_OPER_ADDED
|
||||
%s dodano do listy operatorów serwisów.
|
||||
|
||||
OPER_OPER_NOT_FOUND
|
||||
%s nie znaleziono na li¶cie operatorów serwisów.
|
||||
|
||||
OPER_OPER_NO_MATCH
|
||||
Nie znaleziono pasuj±cych wpisów na li¶cie operatorów serwisów.
|
||||
|
||||
OPER_OPER_DELETED
|
||||
%s usuniêto z listy operatorów serwisów.
|
||||
|
||||
OPER_OPER_DELETED_ONE
|
||||
Usuniêto 1 wpis z listy operatorów serwisów.
|
||||
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
Usuniêto %d wpisy(ów) z listy operatorów serwisów.
|
||||
|
||||
OPER_OPER_LIST_EMPTY
|
||||
Lista operatorów serwisów jest pusta.
|
||||
|
||||
OPER_OPER_LIST_HEADER
|
||||
Lista operatorów serwisów:
|
||||
Nr Nick
|
||||
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
|
||||
OPER_OPER_CLEAR
|
||||
Lista operatorów serwisów zosta³a wyczyszczona.
|
||||
|
||||
OPER_OPER_MOVED
|
||||
%s przeniesiono na listê operatorów serwisów.
|
||||
|
||||
# AKILL responses
|
||||
OPER_AKILL_SYNTAX
|
||||
AKILL {ADD | DEL | LIST | VIEW | CLEAR} [[+czas-trwania] {maska | pozycja} [powód]]
|
||||
|
||||
@@ -2591,72 +2591,6 @@ OPER_SVSNICK_SYNTAX
|
||||
SVSNICK nick novonick
|
||||
OPER_SVSNICK_NEWNICK
|
||||
O nick %s está sendo alterado para %s.
|
||||
|
||||
# ADMIN responses
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [nick | lista]
|
||||
OPER_ADMIN_SKELETON
|
||||
Services estão no modo esqueleto; o comando ADMIN não está disponível.
|
||||
OPER_ADMIN_EXISTS
|
||||
%s já está na lista de Administradores dos Services.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Desculpe, você pode ter apenas %d Administradores dos Services.
|
||||
OPER_ADMIN_ADDED
|
||||
%s adicionado à lista de Administradores dos Services.
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
%s não encontrado na lista de Administradores dos Services.
|
||||
OPER_ADMIN_NO_MATCH
|
||||
Nenhum resultado encontrado na lista de Administradores dos Services.
|
||||
OPER_ADMIN_DELETED
|
||||
%s removido da lista de Administradores dos Services.
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
Removida 1 entrada da lista de Administradores dos Services.
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
Removidas %d entradas da lista de Administradores dos Services.
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
A lista de Administradores dos Services está vazia.
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Lista de Administradores dos Services:
|
||||
Núm Nick
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_ADMIN_CLEAR
|
||||
Lista de Administradores dos Services foi apagada.
|
||||
OPER_ADMIN_MOVED
|
||||
%s foi movido para a lista de Administradores dos Services.
|
||||
|
||||
# OPER responses
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [nick | lista]
|
||||
OPER_OPER_SKELETON
|
||||
Services estão no modo esqueleto; o comando OPER não está disponível.
|
||||
OPER_OPER_EXISTS
|
||||
%s já está na lista de Operadores dos Services.
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Desculpe, você pode ter apenas %d Operadores dos Services.
|
||||
OPER_OPER_ADDED
|
||||
%s adicionado à lista de Operadores dos Services.
|
||||
OPER_OPER_NOT_FOUND
|
||||
%s não encontrado na lista de Operadores dos Services.
|
||||
OPER_OPER_NO_MATCH
|
||||
Nenhum resultado equivalente na lista de Operadores dos Services.
|
||||
OPER_OPER_DELETED
|
||||
%s removido da lista de Operadores dos Services.
|
||||
OPER_OPER_DELETED_ONE
|
||||
Removida 1 entrada da lista de Operadores dos Services.
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
Removidas %d entradas da lista de Operadores dos Services.
|
||||
OPER_OPER_LIST_EMPTY
|
||||
A lista de Operadores dos Services está vazia.
|
||||
OPER_OPER_LIST_HEADER
|
||||
Lista de Operadores dos Services:
|
||||
Núm Nick
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_OPER_CLEAR
|
||||
A lista de Operadores dos Services foi apagada.
|
||||
OPER_OPER_MOVED
|
||||
%s foi movido para a lista de Operadores dos Services.
|
||||
|
||||
# AKILL responses
|
||||
OPER_AKILL_SYNTAX
|
||||
|
||||
@@ -2565,72 +2565,6 @@ OPER_SVSNICK_SYNTAX
|
||||
OPER_SVSNICK_NEWNICK
|
||||
Íèê ïîëüçîâàòåëÿ %s áûë èçìåíåí íà %s.
|
||||
|
||||
# ADMIN responses
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [íèê | íîìåð_çàïèñè]
|
||||
OPER_ADMIN_SKELETON
|
||||
Ñåðâèñû ðàáîòàþò â skeleton-ðåæèìå, êîìàíäà ADMIN íåäîñòóïíà.
|
||||
OPER_ADMIN_EXISTS
|
||||
Íèê %s óæå ïðèñóòñòâóåò â ñïèñêå Àäìèíèñòðàòîðîâ ñåðâèñîâ.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Êîëè÷åñòâî çàïèñåé â ñïèñêå Àäìèíèñòðàòîðîâ ñåðâèñîâ íå ìîæåò ïðåâûøàòü %d.
|
||||
OPER_ADMIN_ADDED
|
||||
Ïîëüçîâàòåëü %s óñïåøíî äîáàâëåí â ñïèñîê Àäìèíèñòðàòîðîâ ñåðâèñîâ.
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
Ïîëüçîâàòåëü %s â ñïèñêå Àäìèíèñòðàòîðîâ ñåðâèñîâ íå îáíàðóæåí.
|
||||
OPER_ADMIN_NO_MATCH
|
||||
Ñîâïàäàþùèõ çàïèñåé íå îáíàðóæåíî.
|
||||
OPER_ADMIN_DELETED
|
||||
Ïîëüçîâàòåëü %s óñïåøíî óäàëåí èç ñïèñêà Àäìèíèñòðàòîðîâ ñåðâèñîâ.
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
Óäàëåíà 1 çàïèñü èç ñïèñêà Àäìèíèñòðàòîðîâ ñåðâèñîâ.
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
Óäàëåíî %d çàïèñåé èç ñïèñêà Àäìèíèñòðàòîðîâ ñåðâèñîâ.
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
Ñïèñîê Àäìèíèñòðàòîðîâ ñåðâèñîâ ïóñò.
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Ñïèñîê Àäìèíèñòðàòîðîâ ñåðâèñîâ:
|
||||
No. Íèê
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_ADMIN_CLEAR
|
||||
Ñïèñîê Àäìèíèñòðàòîðîâ ñåðâèñîâ ïîëíîñòüþ î÷èùåí.
|
||||
OPER_ADMIN_MOVED
|
||||
Ïîëüçîâàòåëü %s óñïåøíî ïåðåìåùåí â ñïèñîê Àäìèíèñòðàòîðîâ ñåðâèñîâ.
|
||||
|
||||
# OPER responses
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [íèê | íîìåð_çàïèñè]
|
||||
OPER_OPER_SKELETON
|
||||
Ñåðâèñû ðàáîòàþò â skeleton-ðåæèìå, êîìàíäà OPER íåäîñòóïíà.
|
||||
OPER_OPER_EXISTS
|
||||
Íèê %s óæå ïðèñóòñòâóåò â ñïèñêå Îïåðàòîðîâ ñåðâèñîâ.
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Êîëè÷åñòâî çàïèñåé â ñïèñêå Îïåðàòîðîâ ñåðâèñîâ íå ìîæåò ïðåâûøàòü %d.
|
||||
OPER_OPER_ADDED
|
||||
Ïîëüçîâàòåëü %s óñïåøíî äîáàâëåí â ñïèñîê Îïåðàòîðîâ ñåðâèñîâ.
|
||||
OPER_OPER_NOT_FOUND
|
||||
Ïîëüçîâàòåëü %s â ñïèñêå Îïåðàòîðîâ ñåðâèñîâ íå îáíàðóæåí.
|
||||
OPER_OPER_NO_MATCH
|
||||
Ñîâïàäàþùèõ çàïèñåé íå îáíàðóæåíî.
|
||||
OPER_OPER_DELETED
|
||||
Ïîëüçîâàòåëü %s óñïåøíî óäàëåí èç ñïèñêà Îïåðàòîðîâ ñåðâèñîâ.
|
||||
OPER_OPER_DELETED_ONE
|
||||
Óäàëåíà 1 çàïèñü èç ñïèñêà Îïåðàòîðîâ ñåðâèñîâ.
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
Óäàëåíî %d çàïèñåé èç ñïèñêà Îïåðàòîðîâ ñåðâèñîâ.
|
||||
OPER_OPER_LIST_EMPTY
|
||||
Ñïèñîê Îïåðàòîðîâ ñåðâèñîâ ïóñò.
|
||||
OPER_OPER_LIST_HEADER
|
||||
Ñïèñîê Îïåðàòîðîâ ñåðâèñîâ:
|
||||
No. Íèê
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_OPER_CLEAR
|
||||
Ñïèñîê Îïåðàòîðîâ ñåðâèñîâ ïîëíîñòüþ î÷èùåí.
|
||||
OPER_OPER_MOVED
|
||||
%s áûë ïåðåìåùåí â ñïèñîê Îïåðàòîðîâ Ñåðâèñîâ.
|
||||
|
||||
# AKILL responses
|
||||
OPER_AKILL_SYNTAX
|
||||
AKILL {ADD|DEL|LIST|VIEW|CLEAR} [[+âðåìÿ_èñòå÷åíèÿ] {ìàñêà | íîìåð_çàïèñè} [ïðè÷èíà]]
|
||||
|
||||
@@ -2647,72 +2647,6 @@ OPER_SVSNICK_SYNTAX
|
||||
SVSNICK nick newnick
|
||||
OPER_SVSNICK_NEWNICK
|
||||
The nick %s is now being changed to %s.
|
||||
|
||||
# ADMIN responses
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [nick | kayýt-listesi]
|
||||
OPER_ADMIN_SKELETON
|
||||
Servisler iskelet modunda(skeleton); ADMIN komutu devre dýþý.
|
||||
OPER_ADMIN_EXISTS
|
||||
%s zaten Servis adminleri listesinde.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
Sadece %d tane servis admini olabilir.
|
||||
OPER_ADMIN_ADDED
|
||||
%s Servis adminleri listesine eklendi.
|
||||
OPER_ADMIN_NOT_FOUND
|
||||
%s Servisler admin listesinde bulunamadý.
|
||||
OPER_ADMIN_NO_MATCH
|
||||
Servis adminleri listesinde uyuþan kayýt yok.
|
||||
OPER_ADMIN_DELETED
|
||||
%s servis adminleri listesinden silindi.
|
||||
OPER_ADMIN_DELETED_ONE
|
||||
Servis adminleri listesinden 1 kayýt silindi.
|
||||
OPER_ADMIN_DELETED_SEVERAL
|
||||
Servis adminleri listesinden %d kayýt silindi.
|
||||
OPER_ADMIN_LIST_EMPTY
|
||||
Servis adminleri listesi boþ.
|
||||
OPER_ADMIN_LIST_HEADER
|
||||
Servis adminleri listesi:
|
||||
Num Nick
|
||||
OPER_ADMIN_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_ADMIN_CLEAR
|
||||
Servis adminleri listesi temizlendi.
|
||||
OPER_ADMIN_MOVED
|
||||
%s has been moved to Services Administrators list.
|
||||
|
||||
# OPER responses
|
||||
OPER_OPER_SYNTAX
|
||||
OPER {ADD|DEL|LIST|CLEAR} [nick | kayýt-listesi]
|
||||
OPER_OPER_SKELETON
|
||||
Servisler iskelet modunda(skeleton); OPER komutu devre dýþý.
|
||||
OPER_OPER_EXISTS
|
||||
%s zaten servis operatörleri listesinde.
|
||||
OPER_OPER_REACHED_LIMIT
|
||||
Sadece %d tane servis operatörü olabilir.
|
||||
OPER_OPER_ADDED
|
||||
%s servis operatörleri listesine eklendi.
|
||||
OPER_OPER_NOT_FOUND
|
||||
%s servis operatörleri listesinde bulunamadý.
|
||||
OPER_OPER_NO_MATCH
|
||||
Servis operatörleri listesinde uyuþan kayýt bulunamadý.
|
||||
OPER_OPER_DELETED
|
||||
%s servis operatörleri listesinden silindi.
|
||||
OPER_OPER_DELETED_ONE
|
||||
Servis operatörleri listesinden 1 kayýt silindi.
|
||||
OPER_OPER_DELETED_SEVERAL
|
||||
Servis operatörleri listesinden %d kayýt silindi.
|
||||
OPER_OPER_LIST_EMPTY
|
||||
Servis operatörleri listesi boþ.
|
||||
OPER_OPER_LIST_HEADER
|
||||
Servis operatörleri listesi:
|
||||
Num Nick
|
||||
OPER_OPER_LIST_FORMAT
|
||||
%3d %s
|
||||
OPER_OPER_CLEAR
|
||||
Servis operatörleri listesi temizlendi.
|
||||
OPER_OPER_MOVED
|
||||
%s has been moved to Services Operators list.
|
||||
|
||||
# AKILL responses
|
||||
OPER_AKILL_SYNTAX
|
||||
|
||||
+13
-25
@@ -151,9 +151,6 @@ bool AnonymousGlobal;
|
||||
bool RestrictOperNicks;
|
||||
char *GlobalOnCycleMessage;
|
||||
char *GlobalOnCycleUP;
|
||||
static char *ServicesRoot;
|
||||
char **ServicesRoots;
|
||||
int RootNumber;
|
||||
bool SuperAdmin;
|
||||
bool LogBot;
|
||||
bool LogMaxUsers;
|
||||
@@ -896,7 +893,6 @@ int ServerConfig::Read(bool bail)
|
||||
{"operserv", "newsdatabase", "news.db", new ValueContainerChar(&NewsDBName), DT_CHARPTR, ValidateNotEmpty},
|
||||
{"operserv", "exceptiondatabase", "exception.db", new ValueContainerChar(&ExceptionDBName), DT_CHARPTR, ValidateNotEmpty},
|
||||
{"operserv", "modules", "", new ValueContainerChar(&OperCoreModules), DT_CHARPTR, NoValidation},
|
||||
{"operserv", "servicesroot", "", new ValueContainerChar(&ServicesRoot), DT_CHARPTR, ValidateNotEmpty},
|
||||
{"operserv", "superadmin", "no", new ValueContainerBool(&SuperAdmin), DT_BOOLEAN, NoValidation},
|
||||
{"operserv", "logmaxusers", "no", new ValueContainerBool(&LogMaxUsers), DT_BOOLEAN, NoValidation},
|
||||
{"operserv", "autokillexpiry", "0", new ValueContainerTime(&AutokillExpiry), DT_TIME, ValidateNotZero},
|
||||
@@ -1617,7 +1613,20 @@ int read_config(int reload)
|
||||
int retval = 1;
|
||||
char *s;
|
||||
int defconCount = 0;
|
||||
std::list<std::pair<std::string, std::string> >::iterator it;
|
||||
NickCore *nc;
|
||||
std::string nick;
|
||||
|
||||
/* Clear current opers for reload */
|
||||
for (it = svsopers_in_config.begin(); it != svsopers_in_config.end(); it++)
|
||||
{
|
||||
nick = it->first;
|
||||
|
||||
if ((nc = findcore(nick.c_str())))
|
||||
nc->ot = NULL;
|
||||
}
|
||||
svsopers_in_config.clear();
|
||||
|
||||
retval = serverConfig.Read(reload ? false : true);
|
||||
if (!retval) return 0; // Temporary until most of the below is modified to use the new parser -- CyberBotX
|
||||
|
||||
@@ -1747,27 +1756,6 @@ int read_config(int reload)
|
||||
}
|
||||
}
|
||||
|
||||
/* Services Root building */
|
||||
|
||||
if (ServicesRoot && !reload) { /* Check to prevent segmentation fault if it's missing */
|
||||
RootNumber = 0;
|
||||
|
||||
s = strtok(ServicesRoot, " ");
|
||||
do {
|
||||
if (s) {
|
||||
RootNumber++;
|
||||
ServicesRoots =
|
||||
static_cast<char **>(realloc(ServicesRoots, sizeof(char *) * RootNumber));
|
||||
ServicesRoots[RootNumber - 1] = sstrdup(s);
|
||||
}
|
||||
} while ((s = strtok(NULL, " ")));
|
||||
}
|
||||
|
||||
if (!RootNumber) {
|
||||
error(0, "No ServicesRoot defined");
|
||||
retval = 0;
|
||||
}
|
||||
|
||||
/* Ulines */
|
||||
|
||||
if (UlineServers) {
|
||||
|
||||
+5
-30
@@ -35,6 +35,7 @@ class CommandNSGroup : public Command
|
||||
char tsbuf[16];
|
||||
char modes[512];
|
||||
int len;
|
||||
std::list<std::pair<std::string, std::string> >::iterator it;
|
||||
|
||||
if (NSEmailReg && findrequestnick(u->nick))
|
||||
{
|
||||
@@ -61,25 +62,11 @@ class CommandNSGroup : public Command
|
||||
|
||||
if (RestrictOperNicks)
|
||||
{
|
||||
for (i = 0; i < RootNumber; ++i)
|
||||
for (it = svsopers_in_config.begin(); it != svsopers_in_config.end(); it++)
|
||||
{
|
||||
if (stristr(u->nick, ServicesRoots[i]) && !is_oper(u))
|
||||
{
|
||||
notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, u->nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
}
|
||||
for (i = 0; i < servadmins.count && (nc = static_cast<NickCore *>(servadmins.list[i])); ++i)
|
||||
{
|
||||
if (stristr(u->nick, nc->display) && !is_oper(u))
|
||||
{
|
||||
notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, u->nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
}
|
||||
for (i = 0; i < servopers.count && (nc = static_cast<NickCore *>(servopers.list[i])); ++i)
|
||||
{
|
||||
if (stristr(u->nick, nc->display) && !is_oper(u))
|
||||
const std::string nick = it->first;
|
||||
|
||||
if (stristr(u->nick, const_cast<char *>(it->first.c_str())) && !is_oper(u))
|
||||
{
|
||||
notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, u->nick);
|
||||
return MOD_CONT;
|
||||
@@ -141,18 +128,6 @@ class CommandNSGroup : public Command
|
||||
na->time_registered = na->last_seen = time(NULL);
|
||||
na->status = static_cast<int16>(NS_IDENTIFIED | NS_RECOGNIZED);
|
||||
|
||||
if (!(na->nc->flags & NI_SERVICES_ROOT))
|
||||
{
|
||||
for (i = 0; i < RootNumber; ++i)
|
||||
{
|
||||
if (!stricmp(ServicesRoots[i], u->nick))
|
||||
{
|
||||
na->nc->flags |= NI_SERVICES_ROOT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
u->nc = na->nc;
|
||||
|
||||
FOREACH_MOD(I_OnNickGroup, OnNickGroup(u, target));
|
||||
|
||||
+5
-26
@@ -44,14 +44,6 @@ class CommandNSConfirm : public Command
|
||||
na->status = static_cast<int16>(NS_IDENTIFIED | NS_RECOGNIZED);
|
||||
|
||||
na->nc->flags |= NSDefFlags;
|
||||
for (i = 0; i < RootNumber; ++i)
|
||||
{
|
||||
if (!stricmp(ServicesRoots[i], nr->nick))
|
||||
{
|
||||
na->nc->flags |= NI_SERVICES_ROOT;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
na->nc->memos.memomax = MSMaxMemos;
|
||||
|
||||
@@ -225,6 +217,7 @@ class CommandNSRegister : public CommandNSConfirm
|
||||
'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y',
|
||||
'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'
|
||||
};
|
||||
std::list<std::pair<std::string, std::string> >::iterator it;
|
||||
|
||||
if (readonly)
|
||||
{
|
||||
@@ -269,25 +262,11 @@ class CommandNSRegister : public CommandNSConfirm
|
||||
|
||||
if (RestrictOperNicks)
|
||||
{
|
||||
for (i = 0; i < RootNumber; ++i)
|
||||
for (it = svsopers_in_config.begin(); it != svsopers_in_config.end(); it++)
|
||||
{
|
||||
if (stristr(u->nick, ServicesRoots[i]) && !is_oper(u))
|
||||
{
|
||||
notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, u->nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
}
|
||||
for (i = 0; i < servadmins.count && (nc = static_cast<NickCore *>(servadmins.list[i])); ++i)
|
||||
{
|
||||
if (stristr(u->nick, nc->display) && !is_oper(u))
|
||||
{
|
||||
notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, u->nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
}
|
||||
for (i = 0; i < servopers.count && (nc = static_cast<NickCore *>(servopers.list[i])); ++i)
|
||||
{
|
||||
if (stristr(u->nick, nc->display) && !is_oper(u))
|
||||
const std::string nick = it->first;
|
||||
|
||||
if (stristr(u->nick, const_cast<char *>(it->first.c_str())) && !is_oper(u))
|
||||
{
|
||||
notice_lang(s_NickServ, u, NICK_CANNOT_BE_REGISTERED, u->nick);
|
||||
return MOD_CONT;
|
||||
|
||||
@@ -1,270 +0,0 @@
|
||||
/* OperServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
*
|
||||
* Based on the original code of Epona by Lara.
|
||||
* Based on the original code of Services by Andy Church.
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
*/
|
||||
/*************************************************************************/
|
||||
|
||||
#include "module.h"
|
||||
|
||||
int admin_list_callback(SList *slist, int number, void *item, va_list args);
|
||||
int admin_list(int number, NickCore *nc, User *u, int *sent_header);
|
||||
|
||||
class CommandOSAdmin : public Command
|
||||
{
|
||||
private:
|
||||
CommandReturn DoAdd(User *u, std::vector<std::string> ¶ms)
|
||||
{
|
||||
NickAlias *na;
|
||||
const char *nick = params.size() > 1 ? params[1].c_str() : NULL;
|
||||
int res = 0;
|
||||
|
||||
if (!nick)
|
||||
{
|
||||
this->OnSyntaxError(u);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (!(na = findnick(nick)))
|
||||
{
|
||||
notice_lang(s_OperServ, u, NICK_X_NOT_REGISTERED, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (na->status & NS_FORBIDDEN)
|
||||
{
|
||||
notice_lang(s_OperServ, u, NICK_X_FORBIDDEN, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (na->nc->flags & NI_SERVICES_ADMIN || slist_indexof(&servadmins, na->nc) != -1)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_EXISTS, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
res = slist_add(&servadmins, na->nc);
|
||||
if (res == -2)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_REACHED_LIMIT, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (na->nc->flags & NI_SERVICES_OPER && (res = slist_indexof(&servopers, na->nc)) != -1)
|
||||
{
|
||||
slist_delete(&servopers, res);
|
||||
na->nc->flags |= NI_SERVICES_ADMIN;
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_MOVED, nick);
|
||||
}
|
||||
else
|
||||
{
|
||||
na->nc->flags |= NI_SERVICES_ADMIN;
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_ADDED, nick);
|
||||
}
|
||||
}
|
||||
|
||||
if (readonly)
|
||||
notice_lang(s_OperServ, u, READ_ONLY_MODE);
|
||||
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
CommandReturn DoDel(User *u, std::vector<std::string> ¶ms)
|
||||
{
|
||||
const char *nick = params.size() > 1 ? params[1].c_str() : NULL;
|
||||
NickAlias *na;
|
||||
int res = 0;
|
||||
|
||||
if (!nick)
|
||||
{
|
||||
this->OnSyntaxError(u);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (!servadmins.count)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_LIST_EMPTY);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (isdigit(*nick) && strspn(nick, "1234567890,-") == strlen(nick))
|
||||
{
|
||||
/* Deleting a range */
|
||||
res = slist_delete_range(&servadmins, nick, NULL);
|
||||
if (!res)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_NO_MATCH);
|
||||
return MOD_CONT;
|
||||
}
|
||||
else if (res == 1)
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_DELETED_ONE);
|
||||
else
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_DELETED_SEVERAL, res);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!(na = findnick(nick)))
|
||||
{
|
||||
notice_lang(s_OperServ, u, NICK_X_NOT_REGISTERED, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (na->status & NS_FORBIDDEN)
|
||||
{
|
||||
notice_lang(s_OperServ, u, NICK_X_FORBIDDEN, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (!(na->nc->flags & NI_SERVICES_ADMIN) || (res = slist_indexof(&servadmins, na->nc)) == -1)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_NOT_FOUND, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
slist_delete(&servadmins, res);
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_DELETED, nick);
|
||||
}
|
||||
|
||||
if (readonly)
|
||||
notice_lang(s_OperServ, u, READ_ONLY_MODE);
|
||||
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
CommandReturn DoList(User *u, std::vector<std::string> ¶ms)
|
||||
{
|
||||
const char *nick = params.size() > 1 ? params[1].c_str() : NULL;
|
||||
int sent_header = 0, res = 0;
|
||||
|
||||
if (!servadmins.count)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_LIST_EMPTY);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (!nick || (isdigit(*nick) && strspn(nick, "1234567890,-") == strlen(nick)))
|
||||
{
|
||||
res = slist_enum(&servadmins, nick, &admin_list_callback, u, &sent_header);
|
||||
if (!res)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_NO_MATCH);
|
||||
return MOD_CONT;
|
||||
}
|
||||
else
|
||||
notice_lang(s_OperServ, u, END_OF_ANY_LIST, "Admin");
|
||||
}
|
||||
else
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < servadmins.count; ++i) {
|
||||
if (!stricmp(nick, (static_cast<NickCore *>(servadmins.list[i]))->display) || Anope::Match((static_cast<NickCore *>(servadmins.list[i]))->display, nick, false))
|
||||
admin_list(i + 1, static_cast<NickCore *>(servadmins.list[i]), u, &sent_header);
|
||||
}
|
||||
|
||||
if (!sent_header)
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_NO_MATCH);
|
||||
else
|
||||
notice_lang(s_OperServ, u, END_OF_ANY_LIST, "Admin");
|
||||
}
|
||||
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
CommandReturn DoClear(User *u, std::vector<std::string> ¶ms)
|
||||
{
|
||||
if (!servadmins.count)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_LIST_EMPTY);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
slist_clear(&servadmins, 1);
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_CLEAR);
|
||||
|
||||
return MOD_CONT;
|
||||
}
|
||||
public:
|
||||
CommandOSAdmin() : Command("ADMIN", 1, 2, "operserv/admin")
|
||||
{
|
||||
}
|
||||
|
||||
CommandReturn Execute(User *u, std::vector<std::string> ¶ms)
|
||||
{
|
||||
const char *cmd = params[0].c_str();
|
||||
|
||||
if (!stricmp(cmd, "ADD"))
|
||||
return this->DoAdd(u, params);
|
||||
else if (!stricmp(cmd, "DEL"))
|
||||
return this->DoDel(u, params);
|
||||
else if (!stricmp(cmd, "LIST"))
|
||||
return this->DoList(u, params);
|
||||
else if (!stricmp(cmd, "CLEAR"))
|
||||
return this->DoClear(u, params);
|
||||
else
|
||||
this->OnSyntaxError(u);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
bool OnHelp(User *u, const std::string &subcommand)
|
||||
{
|
||||
notice_help(s_OperServ, u, OPER_HELP_ADMIN, s_NickServ);
|
||||
return true;
|
||||
}
|
||||
|
||||
void OnSyntaxError(User *u)
|
||||
{
|
||||
syntax_error(s_OperServ, u, "ADMIN", OPER_ADMIN_SYNTAX);
|
||||
}
|
||||
};
|
||||
|
||||
class OSAdmin : public Module
|
||||
{
|
||||
public:
|
||||
OSAdmin(const std::string &modname, const std::string &creator) : Module(modname, creator)
|
||||
{
|
||||
this->SetAuthor("Anope");
|
||||
this->SetVersion("$Id$");
|
||||
this->SetType(CORE);
|
||||
|
||||
this->AddCommand(OPERSERV, new CommandOSAdmin(), MOD_UNIQUE);
|
||||
}
|
||||
void OperServHelp(User *u)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_HELP_CMD_ADMIN);
|
||||
}
|
||||
};
|
||||
|
||||
int admin_list_callback(SList *slist, int number, void *item, va_list args)
|
||||
{
|
||||
User *u = va_arg(args, User *);
|
||||
int *sent_header = va_arg(args, int *);
|
||||
|
||||
return admin_list(number, static_cast<NickCore *>(item), u, sent_header);
|
||||
}
|
||||
|
||||
int admin_list(int number, NickCore *nc, User *u, int *sent_header)
|
||||
{
|
||||
if (!nc)
|
||||
return 0;
|
||||
|
||||
if (!*sent_header)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_LIST_HEADER);
|
||||
*sent_header = 1;
|
||||
}
|
||||
|
||||
notice_lang(s_OperServ, u, OPER_ADMIN_LIST_FORMAT, number, nc->display);
|
||||
return 1;
|
||||
}
|
||||
|
||||
MODULE_INIT("os_admin", OSAdmin)
|
||||
@@ -1,273 +0,0 @@
|
||||
/* OperServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
*
|
||||
* Based on the original code of Epona by Lara.
|
||||
* Based on the original code of Services by Andy Church.
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
*/
|
||||
/*************************************************************************/
|
||||
|
||||
#include "module.h"
|
||||
|
||||
int oper_list_callback(SList *slist, int number, void *item, va_list args);
|
||||
int oper_list(int number, NickCore *nc, User *u, int *sent_header);
|
||||
|
||||
class CommandOSOper : public Command
|
||||
{
|
||||
private:
|
||||
CommandReturn DoAdd(User *u, std::vector<std::string> ¶ms)
|
||||
{
|
||||
const char *nick = params.size() > 1 ? params[1].c_str() : NULL;
|
||||
NickAlias *na;
|
||||
int res = 0;
|
||||
|
||||
if (!nick)
|
||||
{
|
||||
this->OnSyntaxError(u);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (!(na = findnick(nick)))
|
||||
{
|
||||
notice_lang(s_OperServ, u, NICK_X_NOT_REGISTERED, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (na->status & NS_FORBIDDEN)
|
||||
{
|
||||
notice_lang(s_OperServ, u, NICK_X_FORBIDDEN, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (na->nc->flags & NI_SERVICES_OPER || slist_indexof(&servopers, na->nc) != -1)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_OPER_EXISTS, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
res = slist_add(&servopers, na->nc);
|
||||
if (res == -2)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_OPER_REACHED_LIMIT, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (na->nc->flags & NI_SERVICES_ADMIN && (res = slist_indexof(&servadmins, na->nc)) != -1)
|
||||
{
|
||||
slist_delete(&servadmins, res);
|
||||
na->nc->flags |= NI_SERVICES_OPER;
|
||||
notice_lang(s_OperServ, u, OPER_OPER_MOVED, nick);
|
||||
}
|
||||
else
|
||||
{
|
||||
na->nc->flags |= NI_SERVICES_OPER;
|
||||
notice_lang(s_OperServ, u, OPER_OPER_ADDED, nick);
|
||||
}
|
||||
}
|
||||
|
||||
if (readonly)
|
||||
notice_lang(s_OperServ, u, READ_ONLY_MODE);
|
||||
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
CommandReturn DoDel(User *u, std::vector<std::string> ¶ms)
|
||||
{
|
||||
const char *nick = params.size() > 1 ? params[1].c_str() : NULL;
|
||||
NickAlias *na;
|
||||
int res = 0;
|
||||
|
||||
if (!nick)
|
||||
{
|
||||
this->OnSyntaxError(u);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (isdigit(*nick) && strspn(nick, "1234567890,-") == strlen(nick))
|
||||
{
|
||||
/* Deleting a range */
|
||||
res = slist_delete_range(&servopers, nick, NULL);
|
||||
if (res == 0)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_OPER_NO_MATCH);
|
||||
return MOD_CONT;
|
||||
}
|
||||
else if (res == 1)
|
||||
notice_lang(s_OperServ, u, OPER_OPER_DELETED_ONE);
|
||||
else
|
||||
notice_lang(s_OperServ, u, OPER_OPER_DELETED_SEVERAL, res);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!(na = findnick(nick)))
|
||||
{
|
||||
notice_lang(s_OperServ, u, NICK_X_NOT_REGISTERED, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (na->status & NS_FORBIDDEN)
|
||||
{
|
||||
notice_lang(s_OperServ, u, NICK_X_FORBIDDEN, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (!(na->nc->flags & NI_SERVICES_OPER) || (res = slist_indexof(&servopers, na->nc)) == -1)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_OPER_NOT_FOUND, nick);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
slist_delete(&servopers, res);
|
||||
notice_lang(s_OperServ, u, OPER_OPER_DELETED, nick);
|
||||
}
|
||||
|
||||
if (readonly)
|
||||
notice_lang(s_OperServ, u, READ_ONLY_MODE);
|
||||
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
CommandReturn DoList(User *u, std::vector<std::string> ¶ms)
|
||||
{
|
||||
int sent_header = 0;
|
||||
const char *nick = params.size() > 1 ? params[1].c_str() : NULL;
|
||||
int res = 0;
|
||||
|
||||
if (!is_oper(u))
|
||||
{
|
||||
notice_lang(s_OperServ, u, ACCESS_DENIED);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (!servopers.count)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_OPER_LIST_EMPTY);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
if (!nick || (isdigit(*nick) && strspn(nick, "1234567890,-") == strlen(nick)))
|
||||
{
|
||||
int res = slist_enum(&servopers, nick, &oper_list_callback, u, &sent_header);
|
||||
if (!res)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_OPER_NO_MATCH);
|
||||
return MOD_CONT;
|
||||
}
|
||||
else
|
||||
notice_lang(s_OperServ, u, END_OF_ANY_LIST, "Oper");
|
||||
}
|
||||
else
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < servopers.count; ++i)
|
||||
{
|
||||
if (!stricmp(nick, (static_cast<NickCore *>(servopers.list[i]))->display) || Anope::Match((static_cast<NickCore *>(servopers.list[i]))->display, nick, false))
|
||||
oper_list(i + 1, static_cast<NickCore *>(servopers.list[i]), u, &sent_header);
|
||||
}
|
||||
|
||||
if (!sent_header)
|
||||
notice_lang(s_OperServ, u, OPER_OPER_NO_MATCH);
|
||||
else
|
||||
notice_lang(s_OperServ, u, END_OF_ANY_LIST, "Oper");
|
||||
}
|
||||
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
CommandReturn DoClear(User *u, std::vector<std::string> ¶ms)
|
||||
{
|
||||
if (!servopers.count)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_OPER_LIST_EMPTY);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
slist_clear(&servopers, 1);
|
||||
notice_lang(s_OperServ, u, OPER_OPER_CLEAR);
|
||||
|
||||
return MOD_CONT;
|
||||
}
|
||||
public:
|
||||
CommandOSOper() : Command("OPER", 1, 2, "operserv/oper")
|
||||
{
|
||||
}
|
||||
|
||||
CommandReturn Execute(User *u, std::vector<std::string> ¶ms)
|
||||
{
|
||||
const char *cmd = params[0].c_str();
|
||||
|
||||
if (!stricmp(cmd, "ADD"))
|
||||
return this->DoAdd(u, params);
|
||||
else if (!stricmp(cmd, "DEL"))
|
||||
return this->DoDel(u, params);
|
||||
else if (!stricmp(cmd, "LIST"))
|
||||
return this->DoList(u, params);
|
||||
else if (!stricmp(cmd, "CLEAR"))
|
||||
return this->DoClear(u, params);
|
||||
else
|
||||
this->OnSyntaxError(u);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
bool OnHelp(User *u, const std::string &subcommand)
|
||||
{
|
||||
notice_help(s_OperServ, u, OPER_HELP_OPER, s_NickServ);
|
||||
return true;
|
||||
}
|
||||
|
||||
void OnSyntaxError(User *u)
|
||||
{
|
||||
syntax_error(s_OperServ, u, "OPER", OPER_OPER_SYNTAX);
|
||||
}
|
||||
};
|
||||
|
||||
class OSOper : public Module
|
||||
{
|
||||
public:
|
||||
OSOper(const std::string &modname, const std::string &creator) : Module(modname, creator)
|
||||
{
|
||||
this->SetAuthor("Anope");
|
||||
this->SetVersion("$Id$");
|
||||
this->SetType(CORE);
|
||||
this->AddCommand(OPERSERV, new CommandOSOper(), MOD_UNIQUE);
|
||||
}
|
||||
void OperServHelp(User *u)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_HELP_CMD_OPER);
|
||||
}
|
||||
};
|
||||
|
||||
/* Lists an oper entry, prefixing it with the header if needed */
|
||||
int oper_list(int number, NickCore *nc, User *u, int *sent_header)
|
||||
{
|
||||
if (!nc)
|
||||
return 0;
|
||||
|
||||
if (!*sent_header)
|
||||
{
|
||||
notice_lang(s_OperServ, u, OPER_OPER_LIST_HEADER);
|
||||
*sent_header = 1;
|
||||
}
|
||||
|
||||
notice_lang(s_OperServ, u, OPER_OPER_LIST_FORMAT, number, nc->display);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Callback for enumeration purposes */
|
||||
int oper_list_callback(SList *slist, int number, void *item, va_list args)
|
||||
{
|
||||
User *u = va_arg(args, User *);
|
||||
int *sent_header = va_arg(args, int *);
|
||||
|
||||
return oper_list(number, static_cast<NickCore *>(item), u, sent_header);
|
||||
}
|
||||
|
||||
MODULE_INIT("os_oper", OSOper)
|
||||
+13
-62
@@ -27,42 +27,43 @@ class CommandOSStaff : public Command
|
||||
|
||||
CommandReturn Execute(User *u, std::vector<std::string> ¶ms)
|
||||
{
|
||||
int idx = 0;
|
||||
User *au = NULL;
|
||||
NickCore *nc;
|
||||
NickAlias *na;
|
||||
int found;
|
||||
int i;
|
||||
std::list<std::pair<std::string, std::string> >::iterator it;
|
||||
|
||||
notice_lang(s_OperServ, u, OPER_STAFF_LIST_HEADER);
|
||||
slist_enum(&servopers, NULL, &opers_list_callback, u, "OPER");
|
||||
slist_enum(&servadmins, NULL, &opers_list_callback, u, "ADMN");
|
||||
|
||||
for (idx = 0; idx < RootNumber; ++idx)
|
||||
for (it = svsopers_in_config.begin(); it != svsopers_in_config.end(); it++)
|
||||
{
|
||||
found = 0;
|
||||
if ((au = finduser(ServicesRoots[idx]))) /* see if user is online */
|
||||
const std::string nick = it->first;
|
||||
const std::string type = it->second;
|
||||
|
||||
if ((au = finduser(nick.c_str())))
|
||||
{
|
||||
found = 1;
|
||||
notice_lang(s_OperServ, u, OPER_STAFF_FORMAT, '*', "ROOT", ServicesRoots[idx]);
|
||||
notice_lang(s_OperServ, u, OPER_STAFF_FORMAT, '*', type.c_str(), nick.c_str());
|
||||
}
|
||||
else if ((nc = findcore(ServicesRoots[idx])))
|
||||
else if ((nc = findcore(nick.c_str())))
|
||||
{
|
||||
for (i = 0; i < nc->aliases.count; ++i) /* check all aliases */
|
||||
for (i = 0; i < nc->aliases.count; i++)
|
||||
{
|
||||
na = static_cast<NickAlias *>(nc->aliases.list[i]);
|
||||
if ((au = finduser(na->nick))) /* see if user is online */
|
||||
if ((au = finduser(na->nick)))
|
||||
{
|
||||
found = 1;
|
||||
notice_lang(s_OperServ, u, OPER_STAFF_AFORMAT, '*', "ROOT", ServicesRoots[idx], na->nick);
|
||||
notice_lang(s_OperServ, u, OPER_STAFF_AFORMAT, '*', type.c_str(), nick.c_str(), u->nick);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!found)
|
||||
notice_lang(s_OperServ, u, OPER_STAFF_FORMAT, ' ', "ROOT", ServicesRoots[idx]);
|
||||
|
||||
notice_lang(s_OperServ, u, OPER_STAFF_FORMAT, ' ', type.c_str(), nick.c_str());
|
||||
}
|
||||
|
||||
notice_lang(s_OperServ, u, END_OF_ANY_LIST, "Staff");
|
||||
return MOD_CONT;
|
||||
}
|
||||
@@ -91,54 +92,4 @@ class OSStaff : public Module
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Function for the enumerator to call
|
||||
**/
|
||||
int opers_list_callback(SList *slist, int number, void *item, va_list args)
|
||||
{
|
||||
User *u = va_arg(args, User *);
|
||||
char *level = va_arg(args, char *);
|
||||
|
||||
return opers_list(number, static_cast<NickCore *>(item), u, level);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Display an Opers list Entry
|
||||
**/
|
||||
int opers_list(int number, NickCore *nc, User *u, char *level)
|
||||
{
|
||||
User *au = NULL;
|
||||
NickAlias *na;
|
||||
int found;
|
||||
int i;
|
||||
|
||||
if (!nc)
|
||||
return 0;
|
||||
|
||||
found = 0;
|
||||
if ((au = finduser(nc->display))) /* see if user is online */
|
||||
{
|
||||
found = 1;
|
||||
notice_lang(s_OperServ, u, OPER_STAFF_FORMAT, '*', level, nc->display);
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < nc->aliases.count; ++i) /* check all aliases */
|
||||
{
|
||||
na = static_cast<NickAlias *>(nc->aliases.list[i]);
|
||||
if ((au = finduser(na->nick))) /* see if user is online */
|
||||
{
|
||||
found = 1;
|
||||
notice_lang(s_OperServ, u, OPER_STAFF_AFORMAT, '*', level, nc->display, na->nick);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!found)
|
||||
notice_lang(s_OperServ, u, OPER_STAFF_FORMAT, ' ', level, nc->display);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
MODULE_INIT("os_staff", OSStaff)
|
||||
|
||||
+10
-8
@@ -243,14 +243,16 @@ int m_stats(const char *source, int ac, const char **av)
|
||||
if (u && !is_oper(u) && HideStatsO) {
|
||||
ircdproto->SendNumeric(ServerName, 219, source, "%c :End of /STATS report.", *av[0] ? *av[0] : '*');
|
||||
} else {
|
||||
for (i = 0; i < RootNumber; i++)
|
||||
ircdproto->SendNumeric(ServerName, 243, source, "O * * %s Root 0", ServicesRoots[i]);
|
||||
for (i = 0; i < servadmins.count && (nc = static_cast<NickCore *>(servadmins.list[i]));
|
||||
i++)
|
||||
ircdproto->SendNumeric(ServerName, 243, source, "O * * %s Admin 0", nc->display);
|
||||
for (i = 0; i < servopers.count && (nc = static_cast<NickCore *>(servopers.list[i]));
|
||||
i++)
|
||||
ircdproto->SendNumeric(ServerName, 243, source, "O * * %s Oper 0", nc->display);
|
||||
std::list<std::pair<std::string, std::string> >::iterator it;
|
||||
|
||||
for (it = svsopers_in_config.begin(); it != svsopers_in_config.end(); it++)
|
||||
{
|
||||
const std::string nick = it->first;
|
||||
const std::string type = it->second;
|
||||
|
||||
if ((nc = findcore(it->first.c_str())))
|
||||
ircdproto->SendNumeric(ServerName, 243, source, "O * * %s %s 0", it->first.c_str(), it->second.c_str());
|
||||
}
|
||||
|
||||
ircdproto->SendNumeric(ServerName, 219, source, "%c :End of /STATS report.", *av[0] ? *av[0] : '*');
|
||||
}
|
||||
|
||||
@@ -818,9 +818,9 @@ void my_memo_lang(User *u, char *name, int z, int number, ...)
|
||||
|
||||
void req_send_memos(User *u, char *vIdent, char *vHost)
|
||||
{
|
||||
int i;
|
||||
int z = 2;
|
||||
char host[50];
|
||||
char host[BUFSIZE];
|
||||
std::list<std::pair<std::string, std::string> >::iterator it;
|
||||
|
||||
if (checkDefCon(DEFCON_NO_NEW_MEMOS))
|
||||
return;
|
||||
@@ -832,12 +832,11 @@ void req_send_memos(User *u, char *vIdent, char *vHost)
|
||||
|
||||
if (HSRequestMemoOper == 1)
|
||||
{
|
||||
for (i = 0; i < servopers.count; ++i)
|
||||
my_memo_lang(u, (static_cast<NickCore *>(servopers.list[i]))->display, z, LNG_REQUEST_MEMO, host);
|
||||
for (i = 0; i < servadmins.count; ++i)
|
||||
my_memo_lang(u, (static_cast<NickCore *>(servadmins.list[i]))->display, z, LNG_REQUEST_MEMO, host);
|
||||
for (i = 0; i < RootNumber; ++i)
|
||||
my_memo_lang(u, ServicesRoots[i], z, LNG_REQUEST_MEMO, host);
|
||||
for (it = svsopers_in_config.begin(); it != svsopers_in_config.end(); it++)
|
||||
{
|
||||
const std::string nick = it->first;
|
||||
my_memo_lang(u, const_cast<char *>(nick.c_str()), z, LNG_REQUEST_MEMO, host);
|
||||
}
|
||||
}
|
||||
if (HSRequestMemoSetters == 1)
|
||||
{
|
||||
|
||||
@@ -355,13 +355,6 @@ void load_ns_dbase()
|
||||
nc->flags &= ~NI_KILL_IMMED;
|
||||
SAFE(read_int16(&nc->language, f));
|
||||
|
||||
/* Add services opers and admins to the appropriate list, but
|
||||
only if the database version is more than 10. */
|
||||
if (nc->flags & NI_SERVICES_ADMIN)
|
||||
slist_add(&servadmins, nc);
|
||||
if (nc->flags & NI_SERVICES_OPER)
|
||||
slist_add(&servopers, nc);
|
||||
|
||||
uint16 accesscount;
|
||||
SAFE(read_int16(&accesscount, f));
|
||||
if (accesscount)
|
||||
@@ -441,8 +434,6 @@ void load_ns_dbase()
|
||||
na->last_realname = sstrdup("");
|
||||
}
|
||||
|
||||
na->nc->flags &= ~NI_SERVICES_ROOT;
|
||||
|
||||
*nalast = na;
|
||||
nalast = &na->next;
|
||||
na->prev = naprev;
|
||||
@@ -470,10 +461,6 @@ void load_ns_dbase()
|
||||
continue;
|
||||
}
|
||||
|
||||
/* Add the Services root flag if needed. */
|
||||
for (j = 0; j < RootNumber; j++)
|
||||
if (!stricmp(ServicesRoots[j], na->nick))
|
||||
na->nc->flags |= NI_SERVICES_ROOT;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1121,7 +1108,6 @@ static int delcore(NickCore * nc)
|
||||
int i;
|
||||
/* (Hopefully complete) cleanup */
|
||||
cs_remove_nick(nc);
|
||||
os_remove_nick(nc);
|
||||
|
||||
/* Remove the core from the list */
|
||||
if (nc->next)
|
||||
|
||||
@@ -17,22 +17,11 @@
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/* List of Services administrators */
|
||||
SList servadmins;
|
||||
/* List of Services operators */
|
||||
SList servopers;
|
||||
/* AKILL, SGLINE, SQLINE and SZLINE lists */
|
||||
SList akills, sglines, sqlines, szlines;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
static int compare_adminlist_entries(SList * slist, void *item1,
|
||||
void *item2);
|
||||
static int compare_operlist_entries(SList * slist, void *item1,
|
||||
void *item2);
|
||||
static void free_adminlist_entry(SList * slist, void *item);
|
||||
static void free_operlist_entry(SList * slist, void *item);
|
||||
|
||||
static int is_akill_entry_equal(SList * slist, void *item1, void *item2);
|
||||
static void free_akill_entry(SList * slist, void *item);
|
||||
static int is_sgline_entry_equal(SList * slist, void *item1, void *item2);
|
||||
@@ -60,13 +49,8 @@ void moduleAddOperServCmds();
|
||||
|
||||
/* Options for the lists */
|
||||
SListOpts akopts = { 0, NULL, &is_akill_entry_equal, &free_akill_entry };
|
||||
SListOpts saopts = { SLISTF_SORT, &compare_adminlist_entries, NULL,
|
||||
&free_adminlist_entry
|
||||
};
|
||||
|
||||
SListOpts sgopts = { 0, NULL, &is_sgline_entry_equal, &free_sgline_entry };
|
||||
SListOpts soopts =
|
||||
{ SLISTF_SORT, &compare_operlist_entries, NULL, &free_operlist_entry };
|
||||
SListOpts sqopts =
|
||||
{ SLISTF_SORT, NULL, &is_sqline_entry_equal, &free_sqline_entry };
|
||||
SListOpts szopts = { 0, NULL, &is_szline_entry_equal, &free_szline_entry };
|
||||
@@ -87,12 +71,6 @@ void os_init()
|
||||
{
|
||||
moduleAddOperServCmds();
|
||||
|
||||
/* Initialization of the lists */
|
||||
slist_init(&servadmins);
|
||||
servadmins.opts = &saopts;
|
||||
slist_init(&servopers);
|
||||
servopers.opts = &soopts;
|
||||
|
||||
slist_init(&akills);
|
||||
akills.opts = &akopts;
|
||||
|
||||
@@ -332,15 +310,6 @@ void save_os_dbase()
|
||||
|
||||
#undef SAFE
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/* Removes the nick structure from OperServ lists. */
|
||||
|
||||
void os_remove_nick(NickCore * nc)
|
||||
{
|
||||
slist_remove(&servadmins, nc);
|
||||
slist_remove(&servopers, nc);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
/*********************** OperServ command functions **********************/
|
||||
@@ -1204,48 +1173,6 @@ static int is_szline_entry_equal(SList * slist, void *item1, void *item2)
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/* Callback function used to sort the admin list */
|
||||
|
||||
static int compare_adminlist_entries(SList * slist, void *item1,
|
||||
void *item2)
|
||||
{
|
||||
NickCore *nc1 = static_cast<NickCore *>(item1), *nc2 = static_cast<NickCore *>(item2);
|
||||
if (!nc1 || !nc2)
|
||||
return -1; /* To tell to continue */
|
||||
return stricmp(nc1->display, nc2->display);
|
||||
}
|
||||
|
||||
/* Callback function used when an admin list entry is deleted */
|
||||
|
||||
static void free_adminlist_entry(SList * slist, void *item)
|
||||
{
|
||||
NickCore *nc = static_cast<NickCore *>(item);
|
||||
nc->flags &= ~NI_SERVICES_ADMIN;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/* Callback function used to sort the oper list */
|
||||
|
||||
static int compare_operlist_entries(SList * slist, void *item1,
|
||||
void *item2)
|
||||
{
|
||||
NickCore *nc1 = static_cast<NickCore *>(item1), *nc2 = static_cast<NickCore *>(item2);
|
||||
if (!nc1 || !nc2)
|
||||
return -1; /* To tell to continue */
|
||||
return stricmp(nc1->display, nc2->display);
|
||||
}
|
||||
|
||||
/* Callback function used when an oper list entry is deleted */
|
||||
|
||||
static void free_operlist_entry(SList * slist, void *item)
|
||||
{
|
||||
NickCore *nc = static_cast<NickCore *>(item);
|
||||
nc->flags &= ~NI_SERVICES_OPER;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* Returns 1 if the passed level is part of the CURRENT defcon, else 0 is returned
|
||||
**/
|
||||
|
||||
Reference in New Issue
Block a user