Code
11 Temmuz 2016, 19:44
cd ircservices-*
pico -w modules/chan*/main.c
int access_add(ChannelInfo *ci, const char *nick, int level, int uacc)
üstteki satırı bulun.
bu satırı;
int access_add(ChannelInfo *ci, const char *nick, int level, int uacc, char *ekleyen)olarak değiştirin. daha sonra yine aynı dosyada, access_add fonksiyonu içerisinde bulunan;
ci->access[i].nickgroup = ni->nickgroup;
ci->access[i].level = level;satırlarını bulup bi alt satırına;
ci->access[i].ekleyen = sstrdup(ekleyen);satırını ekleyip, kaydedip dosyayı kapatın. daha sonra yine aynı klasörde bulunan
access-levels.c dosyasını;
pico access-levels.ckomutuyla açtıktan sonra;
switch (access_add(ci, nick, level,
is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci)))satırlarını bulup;
switch (access_add(ci, nick, level,
is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci), u->nick))olarak değiştirin. yine aynı dosya içerisinde;
RET_LISTEDsatırını bulup bi üst satırında bulunan
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
index+1, access->level, ngi_mainnick(ngi));satırlarını ;
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
index+1, access->level, ngi_mainnick(ngi), access->ekleyen);şeklinde değiştirin. kaydedip dosyayı kapatın. aynı klasörde bulunan
access-xop.c dosyasini
pico access-xop.c komutuyla açip
switch (access_add(ci, nick, level,
is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci)))satırlarını bulup bu satırları
switch (access_add(ci, nick, level,
is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci), u->nick))olarak değiştirin. kaydedip dosyayı kapatın.aynı klasörde bulunan chanserv.h dosyasını
pico chanserv.h komutuyla açin ve
typedef struct {
uint32 nickgroup; /* Zero if entry is not in use */
int16 level;
}
satirlarini bulup;
typedef struct {
uint32 nickgroup; /* Zero if entry is not in use */
int16 level;
char *ekleyen;
} olarak değiştirin kaydedin kapatin.
pico cs-local.hkomutu ile cs-local.h dosyasini acip
E int access_add(ChannelInfo *ci, const char *nick, int level, int uacc);satırını bulun ve bu satırı
E int access_add(ChannelInfo *ci, const char *nick, int level, int uacc, char *ekleyen);olarak değiştirin. kaydedip dosyayı kapatın.daha sonra /home/login/ircservices-5.0.x/lang/
klasörüne girip
pico tr.l komutuyla tr.l dosyasını açın.
CHAN_ACCESS_LIST_HEADER
%s Kanali Erisim Listesi:
Sira Seviye Nick
CHAN_ACCESS_LIST_FORMAT
%4d %4d %ssatırlarını bulup;
CHAN_ACCESS_LIST_HEADER
%s Kanali Erisim Listesi:
Sira Seviye Nick Ekleyen
CHAN_ACCESS_LIST_FORMAT
%4d %4d %s %sşeklinde değiştirin. kaydedip dosyayı kapatın.
daha sonra /home/login/ircservices-5.0.x/modules/database/ klasörüne girip
pico version4.ckomutuyla version4.c dosyasını açın.bu dosyada
SAFE(write_int16(ci->access_count, f));
ARRAY_FOREACH (i, ci->access) {
if (ci->access[i].nickgroup)
ngi = get_ngi_id(ci->access[i].nickgroup);
else
ngi = NULL;
SAFE(write_int16(ngi != NULL, f));
if (ngi) {
SAFE(write_int16(convert_new_level(ci->access[i].level), f));
SAFE(write_string(ngi_mainnick(ngi), f));
}
}satırlarını bulup hemen altına
SAFE(write_int16(ci->access_count, f));
ARRAY_FOREACH (i, ci->access) {
SAFE(write_string(ci->access[i].ekleyen, f));
}satırlarını ekleyin. kaydedip çıkın. /home/login/ircservices-5.0.x/ klasörüne girip
önce
makebitince de make install komutunu uygulayıp servisleri ÇALIŞTIRIN.denemek amacıyla resgele bi kanalda rasgele bi nicke
access ekleyip access listesine bakın.
daha sonra;
/home/login/ircservices-5.0.x/modules/database/ klasörüne girip;
pico version4.ckomutuyla yine version4.c dosyasını açın.bu dosyada ;
SAFE(read_int16(&ci->access_count, f));
if (ci->access_count) {
ci->access = scalloc(ci->access_count, sizeof(ChanAccess));
ARRAY_FOREACH (i, ci->access) {
SAFE(read_int16(&tmp16, f)); /* in_use */
if (tmp16) {
SAFE(read_int16(&lev, f));
ci->access[i].level = convert_old_level(lev);
SAFE(read_string(&s, f));
if (s) {
ni = get_nickinfo(s);
if (ni) {
ci->access[i].nickgroup = ni->nickgroup;
} free(s);
}
}
}
} else {
ci->access = NULL;
}satırlarını bulup en son parantezin bi alt satırına;
SAFE(read_int16(&ci->access_count, f));
if (ci->access_count) {
ARRAY_FOREACH (i, ci->access) {
SAFE(read_string(&ci->access[i].ekleyen, f));
}
}
else {
ci->access = NULL;
}
ircservices-* dosyasına girip;
önce
makebitince de make install
ALINTI
pico -w modules/chan*/main.c
int access_add(ChannelInfo *ci, const char *nick, int level, int uacc)
üstteki satırı bulun.
bu satırı;
int access_add(ChannelInfo *ci, const char *nick, int level, int uacc, char *ekleyen)olarak değiştirin. daha sonra yine aynı dosyada, access_add fonksiyonu içerisinde bulunan;
ci->access[i].nickgroup = ni->nickgroup;
ci->access[i].level = level;satırlarını bulup bi alt satırına;
ci->access[i].ekleyen = sstrdup(ekleyen);satırını ekleyip, kaydedip dosyayı kapatın. daha sonra yine aynı klasörde bulunan
access-levels.c dosyasını;
pico access-levels.ckomutuyla açtıktan sonra;
switch (access_add(ci, nick, level,
is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci)))satırlarını bulup;
switch (access_add(ci, nick, level,
is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci), u->nick))olarak değiştirin. yine aynı dosya içerisinde;
RET_LISTEDsatırını bulup bi üst satırında bulunan
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
index+1, access->level, ngi_mainnick(ngi));satırlarını ;
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_FORMAT,
index+1, access->level, ngi_mainnick(ngi), access->ekleyen);şeklinde değiştirin. kaydedip dosyayı kapatın. aynı klasörde bulunan
access-xop.c dosyasini
pico access-xop.c komutuyla açip
switch (access_add(ci, nick, level,
is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci)))satırlarını bulup bu satırları
switch (access_add(ci, nick, level,
is_servadmin ? ACCLEV_FOUNDER : get_access(u,ci), u->nick))olarak değiştirin. kaydedip dosyayı kapatın.aynı klasörde bulunan chanserv.h dosyasını
pico chanserv.h komutuyla açin ve
typedef struct {
uint32 nickgroup; /* Zero if entry is not in use */
int16 level;
}
satirlarini bulup;
typedef struct {
uint32 nickgroup; /* Zero if entry is not in use */
int16 level;
char *ekleyen;
} olarak değiştirin kaydedin kapatin.
pico cs-local.hkomutu ile cs-local.h dosyasini acip
E int access_add(ChannelInfo *ci, const char *nick, int level, int uacc);satırını bulun ve bu satırı
E int access_add(ChannelInfo *ci, const char *nick, int level, int uacc, char *ekleyen);olarak değiştirin. kaydedip dosyayı kapatın.daha sonra /home/login/ircservices-5.0.x/lang/
klasörüne girip
pico tr.l komutuyla tr.l dosyasını açın.
CHAN_ACCESS_LIST_HEADER
%s Kanali Erisim Listesi:
Sira Seviye Nick
CHAN_ACCESS_LIST_FORMAT
%4d %4d %ssatırlarını bulup;
CHAN_ACCESS_LIST_HEADER
%s Kanali Erisim Listesi:
Sira Seviye Nick Ekleyen
CHAN_ACCESS_LIST_FORMAT
%4d %4d %s %sşeklinde değiştirin. kaydedip dosyayı kapatın.
daha sonra /home/login/ircservices-5.0.x/modules/database/ klasörüne girip
pico version4.ckomutuyla version4.c dosyasını açın.bu dosyada
SAFE(write_int16(ci->access_count, f));
ARRAY_FOREACH (i, ci->access) {
if (ci->access[i].nickgroup)
ngi = get_ngi_id(ci->access[i].nickgroup);
else
ngi = NULL;
SAFE(write_int16(ngi != NULL, f));
if (ngi) {
SAFE(write_int16(convert_new_level(ci->access[i].level), f));
SAFE(write_string(ngi_mainnick(ngi), f));
}
}satırlarını bulup hemen altına
SAFE(write_int16(ci->access_count, f));
ARRAY_FOREACH (i, ci->access) {
SAFE(write_string(ci->access[i].ekleyen, f));
}satırlarını ekleyin. kaydedip çıkın. /home/login/ircservices-5.0.x/ klasörüne girip
önce
makebitince de make install komutunu uygulayıp servisleri ÇALIŞTIRIN.denemek amacıyla resgele bi kanalda rasgele bi nicke
access ekleyip access listesine bakın.
daha sonra;
/home/login/ircservices-5.0.x/modules/database/ klasörüne girip;
pico version4.ckomutuyla yine version4.c dosyasını açın.bu dosyada ;
SAFE(read_int16(&ci->access_count, f));
if (ci->access_count) {
ci->access = scalloc(ci->access_count, sizeof(ChanAccess));
ARRAY_FOREACH (i, ci->access) {
SAFE(read_int16(&tmp16, f)); /* in_use */
if (tmp16) {
SAFE(read_int16(&lev, f));
ci->access[i].level = convert_old_level(lev);
SAFE(read_string(&s, f));
if (s) {
ni = get_nickinfo(s);
if (ni) {
ci->access[i].nickgroup = ni->nickgroup;
} free(s);
}
}
}
} else {
ci->access = NULL;
}satırlarını bulup en son parantezin bi alt satırına;
SAFE(read_int16(&ci->access_count, f));
if (ci->access_count) {
ARRAY_FOREACH (i, ci->access) {
SAFE(read_string(&ci->access[i].ekleyen, f));
}
}
else {
ci->access = NULL;
}
ircservices-* dosyasına girip;
önce
makebitince de make install
ALINTI