Kanal infosunda en son topic atan tarihi gün,saat,dakkika,saniye biçiminden editi . Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd ircservices-5.0.5*
cd modules/chanserv
pico main.c
main.c dosyası içerisinde aşağıdaki saıtırları buluyoruz ; Kod: Kodu kopyalamak için üzerine çift tıklayın!
static void do_info(User *u)
{
char *chan = strtok(NULL, " ");
char *param = strtok(NULL, " ");
ChannelInfo *ci;
NickGroupInfo *ngi, *ngi2 = NULL;
char buf[BUFSIZE], *end, *s;
int is_servadmin = is_services_admin(u);
int can_show_all = 0, show_all = 0, used_all = 0;
Hemen altına ; Kod: Kodu kopyalamak için üzerine çift tıklayın!
char buf3[BUFSIZE];
time_t simdi = time(NULL);
Satırlarını ekliyoruz yine aynı dosya içerisinde ; Kod: Kodu kopyalamak için üzerine çift tıklayın!
notice_lang(s_ChanServ, u, CHAN_INFO_LAST_TOPIC,
ci->last_topic);
notice_lang(s_ChanServ, u, CHAN_INFO_TOPIC_SET_BY,
ci->last_topic_setter);
Yukarıdaki satırları bulup hemen altına ; Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (ci && ci->last_topic) {
free_time(buf3,(time(NULL))-(ci->last_topic_time),u);
send_cmd(s_ChanServ, "NOTICE %s : Yazilim tarihi: %s [%s]", u->nick, buf, buf3);
}
Ekliyoruz dosyadan kayıt edip çıkıyoruz . Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd ../..
pico extern.h
exren.h doyası içerisinde aşağıdaki satırı buluyoruz ; Kod: Kodu kopyalamak için üzerine çift tıklayın!
E int lock_data(void);
Bu satırların hemen üstüne aşağıdaki kodu ekleyiyoruz ; Kod: Kodu kopyalamak için üzerine çift tıklayın!
E void free_time(char *buf, time_t t, User *u);
Dosyadan kayıt edip çıkıyoruz.Aşağıdaki komutla devam ediyoruz ; Kod: Kodu kopyalamak için üzerine çift tıklayın!
pico misc.c
misc.c dosyası içerisinde aşağıdaki satırları buluyoruz ; Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (outpos < outsize)
outp[outpos] = (i2&3)<<6 | i3;
outpos++;
}
return outpos;
}
Bu kodların hemen altına aşağıdaki kodu ekliyoruz ; Kod: Kodu kopyalamak için üzerine çift tıklayın!
void free_time(char *buf, time_t t, User *u)
{
int days, hours, minutes, seconds;
days = t / (24 * 3600);
t %= 24 * 3600;
hours = t / 3600;
t %= 3600;
minutes = t / 60;
t %= 60;
seconds = t;
sprintf (buf, "\2%d\2 gün, \2%d\2 saat, \2%d\2 dakika ve \2%d\2 saniye önce", days, hours, minutes, seconds);
}
Dosyayı kayıt edip çıkıyoruz ; Kod: Kodu kopyalamak için üzerine çift tıklayın!
make
make install
Servisleri restartlıyoruz. Satır kaydırmamaya dikkat edin
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
kanalınıza info komutunu uygulayarak farkın tadına varabilirsiniz
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
kodlar denendi sorunsuz çalışıyor . Şunu söylemeden edemicem modules/chanserv/main.c dosyasındaki eksiklerimde yardımcı olan ( her zaman için ) Sky-Dancer abime çok teşekkür ederim.
Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir.
Iyi Çalışmalar.. NOT : Kodlar bana aittir.
Fikir Sky-Dancer abime ait değildir, Sadece hata veya eksik yerleri tamamlamıştır.
Editten örnek ;