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:
Kod: Kodu kopyalamak için üzerine çift tıklayın!
cd ircservices*
pico extern.h
extern.h
dosyasının içine giriyoruz. Kod: Kodu kopyalamak için üzerine çift tıklayın!
E int lock_data(void);
satırının üstüne;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
E void emre_time(char *buf, time_t t, User *u);
satırlarını ekleyin kaydedip dosyadan çıkın. Kod: Kodu kopyalamak için üzerine çift tıklayın!
pico misc.c
dosyasının içine giriyoruz. Kod: Kodu kopyalamak için üzerine çift tıklayın!
if (outpos < outsize)
outp[outpos] = (i2&3)<<6 | i3;
outpos++;
}
return outpos;
}
satırlarının hemen altına;
Kod: Kodu kopyalamak için üzerine çift tıklayın!
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. Kod: Kodu kopyalamak için üzerine çift tıklayın!
pico modules/memoserv/main.c
komutu ile memoserv/main.c dosyamıza giriyoruz. Kod: Kodu kopyalamak için üzerine çift tıklayın!
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; Kod: Kodu kopyalamak için üzerine çift tıklayın!
char emre[BUFSIZE];
time_t simdi = time(NULL);
satırlarını ekleyin, yine aynı dosyada; Kod: Kodu kopyalamak için üzerine çift tıklayın!
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; Kod: Kodu kopyalamak için üzerine çift tıklayın!
emre_time(emre, simdi-m->time, u);
satırını ekleyin, yine aynı dosyada; Kod: Kodu kopyalamak için üzerine çift tıklayın!
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ı; Kod: Kodu kopyalamak için üzerine çift tıklayı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.. Kod: Kodu kopyalamak için üzerine çift tıklayın!
pico modules/memoserv/memoserv.h
dosyasının içine giriyoruz. Kod: Kodu kopyalamak için üzerine çift tıklayın!
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; Kod: Kodu kopyalamak için üzerine çift tıklayın!
time_t simdi;
satırını ekleyin, kaydedip dosyadan çıkın. Kod: Kodu kopyalamak için üzerine çift tıklayın!
pico lang/tr.l
Kod: Kodu kopyalamak için üzerine çift tıklayın!
MEMO_LIST_HEADER
Sira Gonderen Tarih/Saat
satırını; Kod: Kodu kopyalamak için üzerine çift tıklayın!
MEMO_LIST_HEADER
Sira Gonderen Tarih/Saat Ne kadar önce geldi?
şeklinde değiştirin, yine aynı dosyada; Kod: Kodu kopyalamak için üzerine çift tıklayın!
MEMO_LIST_FORMAT
%c%c%4d %-16s %s
satırını ise; Kod: Kodu kopyalamak için üzerine çift tıklayın!
MEMO_LIST_FORMAT
%c%c%4d %-16s %s %s
şeklinde değiştirin, kaydedip dosyadan çıkın. Kod: Kodu kopyalamak için üzerine çift tıklayın!
make
Kod: Kodu kopyalamak için üzerine çift tıklayın!
make install
Ardından servislerinize restart atın.
Kod yazarı : Soldy