Giriş

Orijinalini görmek için tıklayınız : MemoServ List Komutu..


Code
23 Eylül 2015, 16:39
Bilindiği gibi uzun zamandır, nickserv ve chanserv üzerine kod çalışmaları oldu ve yayınlayabildiklerimizi yayınlamıştık... Akşam üstü canım sıkılıyordu memoserv üzerine ufak bir çalışma yapayım dedim umarım işinize yarar.

Gelen memoların /ms list komutunda ne kadar süre önce geldiğinin gösterimi:


cd ircservices*
pico extern.hextern.h dosyasının içine giriyoruz.

E int lock_data(void);satırının üstüne;

E void emre_time(char *buf, time_t t, User *u);
satırlarını ekleyin kaydedip dosyadan çıkın.



pico misc.c dosyasının içine giriyoruz.



if (outpos < outsize)
outp[outpos] = (i2&3)<<6 | i3;
outpos++;
}
return outpos;
}satırlarının hemen altına;



void emre_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 geldi.", days, hours, minutes, seconds);
}satırlarını ekleyin, kaydedip dosyadan çıkın.



pico modules/memoserv/main.ckomutu ile memoserv/main.c dosyamıza giriyoruz.


static int list_memo(User *u, int index, MemoInfo *mi, int *sent_header,
int new, const char *chan)
{
Memo *m;
char timebuf[64];satırlarının hemen altına;

char emre[BUFSIZE];
time_t simdi = time(NULL);satırlarını ekleyin, yine aynı dosyada;


m = &mi->memos[index];
strftime_lang(timebuf, sizeof(timebuf), u->ngi,
STRFTIME_DATE_TIME_FORMAT, m->time);
timebuf[sizeof(timebuf)-1] = 0; /* just in case */satırlarını görüceksiniz bu satırın hemen altına;


emre_time(emre, simdi-m->time, u);satırını ekleyin, yine aynı dosyada;


notice_lang(s_MemoServ, u, MEMO_LIST_FORMAT,
(m->flags & MF_UNREAD) ? '*' : ' ',
(!M***pire || (m->flags & MF_EXPIREOK)) ? ' ' : '+',
m->number, m->sender, timebuf);satırlarını;


notice_lang(s_MemoServ, u, MEMO_LIST_FORMAT,
(m->flags & MF_UNREAD) ? '*' : ' ',
(!M***pire || (m->flags & MF_EXPIREOK)) ? ' ' : '+',
m->number, m->sender, timebuf, emre);şeklinde değiştirin, kaydedip dosyadan çıkın..


pico modules/memoserv/memoserv.hdosyasının içine giriyoruz.


typedef struct {
uint32 number; /* Index number -- not necessarily array position! */
int16 flags;
time_t time; /* When it was sent */satırlarının altına;


time_t simdi;satırını ekleyin, kaydedip dosyadan çıkın.


pico lang/tr.lMEMO_LIST_HEADER
Sira Gonderen Tarih/Saatsatırını;



MEMO_LIST_HEADER
Sira Gonderen Tarih/Saat Ne kadar önce geldi?şeklinde değiştirin, yine aynı dosyada;


MEMO_LIST_FORMAT
%c%c%4d %-16s %ssatırını ise;

MEMO_LIST_FORMAT
%c%c%4d %-16s %s %sşeklinde değiştirin, kaydedip dosyadan çıkın.



make

make install
Ardından servislerinize restart atın.


Kod yazarı : Soldy