Tekil Mesaj gösterimi
Alt 26 Ağustos 2007, 01:56   #1
Çevrimdışı
NeTDeLiSi
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
IRCServices için topic yazım tarihi




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 ;



Konu toXic tarafından (02 Kasım 2010 Saat 19:03 ) değiştirilmiştir.
 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları eglen sohbet bizimmekan