1
0
mirror of https://github.com/anope/anope.git synced 2026-07-07 16:43:15 +02:00

Added /chanserv access view, which shows the access creator and last time used

git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2611 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
Adam-
2009-11-06 02:08:15 +00:00
parent 95a017db9f
commit 3317f406d2
19 changed files with 253 additions and 28 deletions
+4
View File
@@ -21,10 +21,14 @@ Anope Version 1.9.2
CHAN_LEVEL_AUTOOWNER
CHAN_LEVEL_OWNER
CHAN_LEVEL_OWNERME
CHAN_ACCESS_VIEW_XOP_FORMAT
CHAN_ACCESS_VIEW_AXS_FORMAT
*** Mod Strings:
CHAN_HELP_SET
CHAN_REGISTER_SYNTAX
CHAN_ACCESS_SYNTAX
CHAN_HELP_ACCESS
*** Del Strings:
CHAN_PASSWORD_IS
+8 -2
View File
@@ -90,17 +90,23 @@ class CoreExport ChannelInfo : public Extensible
*
* @param nc The NickCore of the user that the access entry should be tied to
* @param level The channel access level the user has on the channel
* @param creator The user who added the access
* @param last_seen When the user was last seen within the channel
*
* Creates a new access list entry and inserts it into the access list.
*/
void AddAccess(NickCore *nc, int16 level, int32 last_seen = 0)
void AddAccess(NickCore *nc, int16 level, const std::string &creator, int32 last_seen = 0)
{
ChanAccess *new_access = new ChanAccess;
ChanAccess *new_access = new ChanAccess();
new_access->in_use = 1;
new_access->nc = nc;
new_access->level = level;
new_access->last_seen = last_seen;
if (!creator.empty())
new_access->creator = creator;
else
new_access->creator = "Unknown";
access.push_back(new_access);
}
+1
View File
@@ -641,6 +641,7 @@ struct ChanAccess {
int16 level;
NickCore *nc; /* Guaranteed to be non-NULL if in use, NULL if not */
time_t last_seen;
std::string creator;
};
/* AutoKick data. */
+12 -2
View File
@@ -1411,7 +1411,7 @@ CHAN_VOP_CLEAR
# ACCESS messages
CHAN_ACCESS_SYNTAX
ACCESS canal {ADD|DEL|LIST|CLEAR} [nick [nivell] | llista]
ACCESS canal {ADD|DEL|LIST|VIEW|CLEAR} [nick [nivell] | llista]
CHAN_ACCESS_XOP
No pots utilitzar aquest comanda.
Utilitza les comandes AOP, SOP i VOP.
@@ -1461,6 +1461,12 @@ CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
La llista d'accés pel canal %s ha estat netegada.
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -4714,6 +4720,7 @@ CHAN_HELP_ACCESS
Sintàxi: ACCESS canal ADD nick nivell
ACCESS canal DEL {nick | indices | llista}
ACCESS canal LIST [mascara | llista]
ACCESS canal VIEW [mascara | llista]
ACCESS canal CLEAR
Manté la llista d'accés per a un canal. La llista
@@ -4747,7 +4754,10 @@ CHAN_HELP_ACCESS
ACCESS #canal LIST 2-5,7-9
llista instàncies d'accés numerades 2 fins 5 i
7 fins a 9.
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
La comanda ACCESS CLEAR neteja totes les instàncies
de la llista d'accés.
+10
View File
@@ -1029,6 +1029,12 @@ CHAN_LEVEL_OWNER
Allowed to use OWNER command
CHAN_LEVEL_OWNERME
Allowed to (de)owner him/herself
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# Automatic responses
CHAN_LEVEL_BANME
@@ -4738,6 +4744,7 @@ CHAN_HELP_ACCESS
Syntax: ACCESS Channel ADD Nickname Level
ACCESS Channel DEL {Nickname | entry-num | Liste}
ACCESS Channel LIST [Maske | Liste]
ACCESS Channel VIEW [Maske | Liste]
ACCESS Channel CLEAR
Verwaltet die Zugriffsliste für einen Channel. Diese
@@ -4773,6 +4780,9 @@ CHAN_HELP_ACCESS
Zeigt Einträge mit den Nummern 2 bis 5 und
7 bis 9 an.
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
Durch ACCESS CLEAR werden alle Einträge der
Zugriffsliste entfernt.
+12 -2
View File
@@ -1380,7 +1380,7 @@ CHAN_VOP_CLEAR
# ACCESS messages
CHAN_ACCESS_SYNTAX
ACCESS channel {ADD|DEL|LIST|CLEAR} [nick [level] | entry-list]
ACCESS channel {ADD|DEL|LIST|VIEW|CLEAR} [nick [level] | entry-list]
CHAN_ACCESS_XOP
You can't use this command.
Use the AOP, SOP and VOP commands instead.
@@ -1430,6 +1430,12 @@ CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
Channel %s access list has been cleared.
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -4533,6 +4539,7 @@ CHAN_HELP_ACCESS
Syntax: ACCESS channel ADD nick level
ACCESS channel DEL {nick | entry-num | list}
ACCESS channel LIST [mask | list]
ACCESS channel VIEW [mask | list]
ACCESS channel CLEAR
Maintains the access list for a channel. The access
@@ -4564,7 +4571,10 @@ CHAN_HELP_ACCESS
ACCESS #channel LIST 2-5,7-9
Lists access entries numbered 2 through 5 and
7 through 9.
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
The ACCESS CLEAR command clears all entries of the
access list.
+12 -2
View File
@@ -1409,7 +1409,7 @@ CHAN_VOP_CLEAR
# ACCESS messages
CHAN_ACCESS_SYNTAX
ACCESS canal {ADD|DEL|LIST|CLEAR} [nick [nivel] | lista]
ACCESS canal {ADD|DEL|LIST|VIEW|CLEAR} [nick [nivel] | lista]
CHAN_ACCESS_XOP
No puedes usar este comando.
Usa los comandos AOP, SOP y VOP en vez.
@@ -1459,6 +1459,12 @@ CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
La lista de acceso para el canal %s ha sido limpiada.
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -4686,6 +4692,7 @@ CHAN_HELP_ACCESS
Sintaxis: ACCESS canal ADD nick nivel
ACCESS canal DEL {nick | indices | lista}
ACCESS canal LIST [mascara | lista]
ACCESS canal VIEW [mascara | lista]
ACCESS canal CLEAR
Mantiene la lista de acceso para un canal. La lista
@@ -4719,7 +4726,10 @@ CHAN_HELP_ACCESS
ACCESS #canal LIST 2-5,7-9
Lista instancias de acceso numeradas 2 hasta 5 y
7 hasta 9.
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
El comando ACCESS CLEAR limpia todas las instancias
de la lista de acceso.
+11 -1
View File
@@ -1417,7 +1417,7 @@ CHAN_VOP_CLEAR
# ACCESS messages
CHAN_ACCESS_SYNTAX
ACCESS canal {ADD|DEL|LIST|CLEAR} [pseudo [level] | liste-d'entrées]
ACCESS canal {ADD|DEL|LIST|VIEW|CLEAR} [pseudo [level] | liste-d'entrées]
CHAN_ACCESS_XOP
Vous ne pouvez pas utiliser cette commande.
Utilisez les commandes AOP, SOP et VOP à la place.
@@ -1467,6 +1467,12 @@ CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
La liste d'accès de %s est maintenant vide.
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -4748,6 +4754,7 @@ CHAN_HELP_ACCESS
Syntaxe: ACCESS canal ADD pseudo level
ACCESS canal DEL {pseudo | numéros d'entrée | liste}
ACCESS canal LIST [mask | liste]
ACCESS canal VIEW [mask | liste]
ACCESS canal CLEAR
Gère la liste d'accès d'un canal. La liste d'accès
@@ -4781,6 +4788,9 @@ CHAN_HELP_ACCESS
Liste toutes les entrées comprises entre 2 et 5 et
entre 7 et 9.
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
La commande ACCESS CLEAR supprime toutes les entrées
de la liste d'accès.
+15 -5
View File
@@ -1409,7 +1409,7 @@ CHAN_VOP_CLEAR
# ACCESS messages
CHAN_ACCESS_SYNTAX
ACCESS channel {ADD|DEL|LIST|CLEAR} [nick [level] | entry-list]
ACCESS channel {ADD|DEL|LIST|VIEW|CLEAR} [nick [level] | entry-list]
CHAN_ACCESS_XOP
Äåí ìðïñåßò íá ÷ñçóéìïðïéÞóåéò áõôÞ ôçí åíôïëÞ.
×ñçóéìïðïßçóå AOP, SOP êáé VOP åíôïëÝò áíôß ãéá ôçí access.
@@ -1457,6 +1457,12 @@ CHAN_ACCESS_LIST_XOP_FORMAT
%3d %s %s
CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# AKICK responses
CHAN_ACCESS_CLEAR
@@ -4671,9 +4677,10 @@ CHAN_HELP_VOP
CHAN_HELP_ACCESS
Óýíôáîç: ACCESS êáíÜëé ADD øåõäþíõìï âáèìüò
ACCESS êáíÜëé DEL {øåõäþíõìï | èÝóåéò-íïõ | list}
ACCESS êáíÜëé LIST [ìÜóêá | list]
ACCESS êáíÜëé CLEAR
ACCESS êáíÜëé DEL {øåõäþíõìï | èÝóåéò-íïõ | list}
ACCESS êáíÜëé LIST [ìÜóêá | list]
ACCESS êáíÜëé VIEW [ìÜóêá | list]
ACCESS êáíÜëé CLEAR
ÁëëÜæåé ôçí access ëßóôá ôïõ êáíáëéïý. Ç ëßóôá access
êáèïñßæåé ðïéïé ÷ñÞóôåò èá Ý÷ïõí op óôï êáíÜëé Þ
@@ -4702,7 +4709,10 @@ CHAN_HELP_ACCESS
ACCESS #êáíÜëé LIST 2-5,7-9
Åìöáíßæåé áðü ôçí ëßóôá access ôéò èÝóåéò ìå ôá
íïýìåñá 2 Ýùò 5 êáé 7 Ýùò 9.
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
Ç åíôïëÞ ACCESS CLEAR äéáãñÜöåé üëåò ôéó èÝóåéò ôçò ëßóôáò access.
CHAN_HELP_ACCESS_LEVELS
+11 -1
View File
@@ -1400,7 +1400,7 @@ CHAN_VOP_CLEAR
# ACCESS messages
CHAN_ACCESS_SYNTAX
ACCESS#szoba{ ADD | DEL | LIST | CLEAR } [ nick [ szint ] | sorszám ]
ACCESS #szoba { ADD | DEL | LIST | VIEW | CLEAR } [ nick [ szint ] | sorszám ]
CHAN_ACCESS_XOP
Nem használhatod ezt a parancsot.
Használd az AOP, SOP és VOP parancsokat helyette.
@@ -1449,6 +1449,12 @@ CHAN_ACCESS_LIST_XOP_FORMAT
%3d %s %s
CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# AKICK válaszok
CHAN_ACCESS_CLEAR
@@ -4608,6 +4614,7 @@ CHAN_HELP_ACCESS
Syntax: ACCESS #szoba ADD nick szint
ACCESS #szoba DEL {nick | sorszám | lista}
ACCESS #szoba LIST [maszk | lista]
ACCESS #szoba VIEW [maszk | lista]
ACCESS #szoba CLEAR
Access lista a csatornán. A hozzáférési lista (access)
@@ -4636,6 +4643,9 @@ CHAN_HELP_ACCESS
Listázza azokat a usereket, akik 2 és 5 között illetve
7-től 9-ig szerepelnek a listán.
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
Az ACCESS CLEAR parancs töröl minden bejegyzés a szoba
hozzáférési listájáról.
+12 -2
View File
@@ -1384,7 +1384,7 @@ CHAN_VOP_CLEAR
# ACCESS messages
CHAN_ACCESS_SYNTAX
ACCESS canale {ADD|DEL|LIST|CLEAR} [nick [livello] | numero-lista]
ACCESS canale {ADD|DEL|LIST|VIEW|CLEAR} [nick [livello] | numero-lista]
CHAN_ACCESS_XOP
Questo comando non è utilizzabile; usa i comandi SOP, AOP, HOP e VOP.
Digita %R%s HELP comando per ottenere maggiori informazioni.
@@ -1433,6 +1433,12 @@ CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
La lista di accesso del canale %s è stata svuotata.
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -4579,6 +4585,7 @@ CHAN_HELP_ACCESS
Sintassi: ACCESS canale ADD nick livello
ACCESS canale DEL {nick | numero | lista}
ACCESS canale LIST [mask | lista]
ACCESS canale VIEW [mask | lista]
ACCESS canale CLEAR
Gestisce la lista di accesso del canale.
@@ -4613,7 +4620,10 @@ CHAN_HELP_ACCESS
ACCESS #canale LIST 2-5,7-9
Mostra i record della lista che hanno numero da 2
a 5 e da 7 a 9 (il 6 è quindi escluso).
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
Il comando ACCESS CLEAR svuota completamente la lista di
accesso.
+12 -2
View File
@@ -1400,7 +1400,7 @@ CHAN_VOP_CLEAR
# ACCESS messages
CHAN_ACCESS_SYNTAX
ACCESS kanaal {ADD|DEL|LIST|CLEAR} [nick [niveau] | lijst]
ACCESS kanaal {ADD|DEL|LIST|VIEW|CLEAR} [nick [niveau] | lijst]
CHAN_ACCESS_XOP
Je kan dit commando niet gebruiken.
Gebruik de AOP, SOP en VOP commando's in plaats van deze.
@@ -1450,6 +1450,12 @@ CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
Kanaal %s toegangslijst is leeggemaakt.
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -4650,6 +4656,7 @@ CHAN_HELP_ACCESS
Gebruik: ACCESS kanaal ADD nick niveau
ACCESS kanaal DEL {nick | entry-nr | lijst}
ACCESS kanaal LIST [mask | lijst]
ACCESS kanaal VIEW [mask | lijst]
ACCESS kanaal CLEAR
Onderhoud de toegangslijst voor een kanaal. De toegangs-
@@ -4683,7 +4690,10 @@ CHAN_HELP_ACCESS
ACCESS #kanaal LIST 2-5,7-9
Geeft gebruikers 2 t/m 5 en 7 t/m 9 van de
toegangslijst weer.
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
Het ACCESS CLEAR commando maakt de toegangslijst leeg.
CHAN_HELP_ACCESS_LEVELS
+13 -1
View File
@@ -1802,7 +1802,7 @@ CHAN_VOP_CLEAR
# ACCESS messages
CHAN_ACCESS_SYNTAX
ACCESS kana³ {ADD|DEL|LIST|CLEAR} [nick [poziom] | pozycja]
ACCESS kana³ {ADD|DEL|LIST|VIEW|CLEAR} [nick [poziom] | pozycja]
CHAN_ACCESS_XOP
Nie możesz użyć tej komendy.
@@ -1878,6 +1878,14 @@ CHAN_ACCESS_LIST_AXS_FORMAT
CHAN_ACCESS_CLEAR
Lista dostępu kanału %s została wyczyszczona.
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# AKICK responses
CHAN_AKICK_SYNTAX
AKICK kanał {ADD | STICK | UNSTICK | DEL | LIST | VIEW | ENFORCE | CLEAR} [nick-lub-maska] [powód]
@@ -5649,6 +5657,7 @@ CHAN_HELP_ACCESS
Składnia: ACCESS kanał ADD nick level
ACCESS kanał DEL {nick | numer | list}
ACCESS kanał LIST [maska | list]
ACCESS kana³ VIEW [maska | list]
ACCESS kanał CLEAR
Polecenie pozwala na zarządzanie wpisami w kanałowej
@@ -5685,6 +5694,9 @@ CHAN_HELP_ACCESS
Wyświetli wpisy na liście od numeru 2 do 5, oraz
od 7 do 9.
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
Polecenie ACCESS CLEAR usuwa wszystkie wpisy z listy.
CHAN_HELP_ACCESS_LEVELS
+11 -1
View File
@@ -1401,7 +1401,7 @@ CHAN_VOP_CLEAR
# ACCESS messages
CHAN_ACCESS_SYNTAX
ACCESS canal {ADD|DEL|LIST|CLEAR} [nick [nível] | lista-entradas]
ACCESS canal {ADD|DEL|LIST|VIEW|CLEAR} [nick [nível] | lista-entradas]
CHAN_ACCESS_XOP
Você não pode usar este comando.
Ao invés, use os comandos VOP, HOP, AOP e SOP.
@@ -1451,6 +1451,12 @@ CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
Lista de acesso do canal %s apagada.
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -4555,6 +4561,7 @@ CHAN_HELP_ACCESS
Sintaxe: ACCESS canal ADD nick nível
ACCESS canal DEL {nick | entrada | lista-entradas}
ACCESS canal LIST [máscara | lista-entradas]
ACCESS canal VIEW [máscara | lista-entradas]
ACCESS canal CLEAR
Faz manutenção da lista de acesso de um canal. A lista
@@ -4588,6 +4595,9 @@ CHAN_HELP_ACCESS
ACCESS #canal LIST 2-5,7-9
Lista as entradas de acesso numeradas de 2 a 5 e de 7 a 9.
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
O comando ACCESS CLEAR limpa todas as entradas da lista
de acesso.
+11 -1
View File
@@ -1381,7 +1381,7 @@ CHAN_VOP_CLEAR
# ACCESS messages
CHAN_ACCESS_SYNTAX
ACCESS #êàíàë {ADD|DEL|LIST|CLEAR} [íèê [óðîâåíü] | íîìåð_çàïèñè]
ACCESS #êàíàë {ADD|DEL|LIST|VIEW|CLEAR} [íèê [óðîâåíü] | íîìåð_çàïèñè]
CHAN_ACCESS_XOP
Вы не можете использовать эту команду так как включена система привилегий xOP.
Для модификации списка доступа используйте команды VOP, AOP и SOP.
@@ -1431,6 +1431,12 @@ CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
Список доступа канала %s был полностью очищен.
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -4648,6 +4654,7 @@ CHAN_HELP_ACCESS
Синтаксис: ACCESS #канал ADD ник уровень
ACCESS #канал DEL {ник | номер_записи | список_записей}
ACCESS #канал LIST [маска | список_записей]
ACCESS #êàíàë VIEW [ìàñêà | ñïèñîê_çàïèñåé]
ACCESS #канал CLEAR
Позволяет управлять списком доступа (ACCESS-списком) канала.
@@ -4684,6 +4691,9 @@ CHAN_HELP_ACCESS
ACCESS #канал LIST 2-5,7-9
отобразит все записи со 2-ой по 5-ую, и с 7-ой по 9-ю.
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
Команда ACCESS CLEAR позволяет полностью очистить список доступа.
CHAN_HELP_ACCESS_LEVELS
+12 -2
View File
@@ -1408,7 +1408,7 @@ CHAN_VOP_CLEAR
# ACCESS messages
CHAN_ACCESS_SYNTAX
ACCESS kanaladı {ADD|DEL|LIST|CLEAR} [nick [seviye] | kayıt-listesi]
ACCESS kanaladý {ADD|DEL|LIST|VIEW|CLEAR} [nick [seviye] | kayýt-listesi]
CHAN_ACCESS_XOP
Bu komutu kullanamazsiniz.
Yerine AOP, SOP veya VOP komutlarini kullanin.
@@ -1458,6 +1458,12 @@ CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
Kanal %s access listesi temizlendi.
CHAN_ACCESS_VIEW_XOP_FORMAT
%3d %s %s
by %s, last seen %s
CHAN_ACCESS_VIEW_AXS_FORMAT
%3d %4d %s
by %s, last seen %s
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -4651,6 +4657,7 @@ CHAN_HELP_ACCESS
Kullanımı: ACCESS kanaladı ADD nick seviye
ACCESS kanaladı DEL {nick | kayıt-no | liste}
ACCESS kanaladı LIST [mask | liste]
ACCESS kanaladý VIEW [mask | liste]
ACCESS kanaladı CLEAR
Bir kanal için access listesi oluşturur. Access listesi
@@ -4679,7 +4686,10 @@ CHAN_HELP_ACCESS
ACCESS #kanaladı LIST 2-5,7-9
2'den 5'e ve 7'den 9'a kadar olan access kayıtları
listelenir.
The ACCESS VIEW command displays the access list similar
to ACCESS LIST but shows the creator and last used time.
ACCESS CLEAR komutu tüm access listesini temizler.
CHAN_HELP_ACCESS_LEVELS
+7 -1
View File
@@ -445,8 +445,13 @@ void load_cs_dbase()
nc = NULL;
uint32 last_seen;
SAFE(read_int32(&last_seen, f));
//SAFE(read_string(&s, f));
if (nc)
ci->AddAccess(nc, level, last_seen);
{
//std::string creator = s ? s : "";
std::string creator = "";
ci->AddAccess(nc, level, creator, last_seen);
}
}
}
}
@@ -687,6 +692,7 @@ void save_cs_dbase()
SAFE(write_int16(access->level, f));
SAFE(write_string(access->nc->display, f));
SAFE(write_int32(access->last_seen, f));
//SAFE(write_string(access->creator.c_str(), f));
}
SAFE(write_int16(ci->akickcount, f));
+74 -2
View File
@@ -80,6 +80,51 @@ static int access_list_callback(User * u, int num, va_list args)
return access_list(u, num - 1, ci, sent_header);
}
static int access_view(User *u, int index, ChannelInfo *ci, int *sent_header)
{
ChanAccess *access = ci->GetAccess(index);
const char *xop;
char timebuf[64];
tm tm;
if (!access || !access->in_use)
return 0;
if (!*sent_header)
{
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_HEADER, ci->name);
*sent_header = 1;
}
memset(&timebuf, 0, sizeof(timebuf));
if (ci->c && u->nc && nc_on_chan(ci->c, u->nc))
sprintf(timebuf, "Now");
else if (access->last_seen == 0)
sprintf(timebuf, "Never");
else
{
tm = *localtime(&access->last_seen);
strftime_lang(timebuf, sizeof(timebuf), u, STRFTIME_DATE_TIME_FORMAT, &tm);
}
if (ci->flags & CI_XOP)
{
xop = get_xop_level(access->level);
notice_lang(s_ChanServ, u, CHAN_ACCESS_VIEW_XOP_FORMAT, index + 1, xop, access->nc->display, access->creator.c_str(), timebuf);
}
else
notice_lang(s_ChanServ, u, CHAN_ACCESS_VIEW_AXS_FORMAT, index + 1, access->level, access->nc->display, access->creator.c_str(), timebuf);
return 1;
}
static int access_view_callback(User *u, int num, va_list args)
{
ChannelInfo *ci = va_arg(args, ChannelInfo *);
int *sent_header = va_arg(args, int *);
return 0;
return access_view(u, num - 1, ci, sent_header);
}
class CommandCSAccess : public Command
{
@@ -102,7 +147,7 @@ class CommandCSAccess : public Command
unsigned i;
int level = 0, ulev;
bool is_list = cmd == "LIST";
bool is_list = cmd == "LIST" || cmd == "VIEW";
/* If LIST, we don't *require* any parameters, but we can take any.
* If DEL, we require a nick and no level.
@@ -193,7 +238,8 @@ class CommandCSAccess : public Command
return MOD_CONT;
}
ci->AddAccess(nc, level);
std::string usernick = u->nick;
ci->AddAccess(nc, level, usernick);
FOREACH_MOD(I_OnAccessAdd, OnAccessAdd(ci, u, na->nick, level));
@@ -307,6 +353,32 @@ class CommandCSAccess : public Command
else
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FOOTER, ci->name);
}
else if (cmd == "VIEW")
{
int sent_header = 0;
if (ci->access.empty())
{
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_EMPTY, chan);
return MOD_CONT;
}
if (nick && strspn(nick, "1234567890,-") == strlen(nick))
process_numlist(nick, NULL, access_view_callback, u, ci, &sent_header);
else
{
for (i = 0; i < ci->access.size(); ++i)
{
access = ci->GetAccess(i);
if (nick && access->nc && !Anope::Match(access->nc->display, nick, false))
continue;
access_view(u, i, ci, &sent_header);
}
}
if (!sent_header)
notice_lang(s_ChanServ, u, CHAN_ACCESS_NO_MATCH, chan);
else
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FOOTER, ci->name);
}
else if (cmd == "CLEAR")
{
if (readonly)
+5 -1
View File
@@ -178,11 +178,15 @@ class XOPBase : public Command
}
if (!change)
ci->AddAccess(nc, level);
{
std::string usernick = u->nick;
ci->AddAccess(nc, level, usernick);
}
else
{
access->level = level;
access->last_seen = 0;
access->creator = u->nick;
}
alog("%s: %s!%s@%s (level %d) %s access level %d to %s (group %s) on channel %s", s_ChanServ, u->nick, u->GetIdent().c_str(), u->host, ulev, change ? "changed" : "set", level, na->nick, nc->display, ci->name);