Kanal ve Özel Loglama Modülü m_loggit.c

/* * ================================================================== * Filename:             m_loggit.c * Description:          Real-time Logging * Written by:         MartinCo * ================================================================== */#include "config.h"#include "struct.h"#include "common.h"#include "sys.h"#include "numeric.h"#include "msg.h"#include "channel.h"#include <time .h>#include <sys /stat.h>#include <stdio .h>#include <stdlib .h>#include <string .h>#include <fcntl .h>#include "h.h"// ==================================================================// Definitions & macros// ================================#define MyMod            LoggitModInfo->handle#define DelHook(x)        if (x) HookDel(x); x = NULLDLLFUNC char        *loggit_privmsg(aClient *, aClient *, aClient *, char *, int);DLLFUNC char        *loggit_chanmsg(aClient *, aClient *, aChannel *, char *, int);// ==================================================================// Module header// ==================================================================ModuleHeader MOD_HEADER(m_loggit)  = {    "Loggit",    "$Id: m_loggit.c,v 3.6 2007 MartinCo Exp $",    "Loggit",    "3.2-b8-1",    NULL    };ModuleInfo        *LoggitModInfo;static Hook        *HookPrivMsg;static Hook        *HookChanMsg;static FILE *fp;DLLFUNC int MOD_INIT(m_loggit)(ModuleInfo *modinfo){    int ret = MOD_SUCCESS;              LoggitModInfo    = modinfo;    HookPrivMsg    = HookAddPCharEx(MyMod, HOOKTYPE_USERMSG, loggit_privmsg);    HookChanMsg    = HookAddPCharEx(MyMod, HOOKTYPE_CHANMSG, loggit_chanmsg);    return ret;}DLLFUNC int MOD_LOAD(m_loggit)(int module_load){    return MOD_SUCCESS;}DLLFUNC int MOD_UNLOAD(m_loggit)(int module_unload){    DelHook(HookChanMsg);    DelHook(HookPrivMsg);    return MOD_SUCCESS;}// ==================================================================// Functions for nicknames, channel names and prefixes// ==================================================================DLLFUNC char *loggit_privmsg(aClient *cptr, aClient *sptr, aClient *acptr, char *text, int notice){    time_t calender_time;    struct tm tdate;    calender_time = time(NULL);    tdate = *localtime(&calender_time);    FILE * pFile;    pFile = fopen ("privmsg.log", "a");    fprintf (pFile, "%02d-%02d-%02d %02d:%02d [%s > %s] %s\n", tdate.tm_mday, tdate.tm_mon + 1, tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, cptr->name, acptr->name, text);    fclose (pFile);    return text;}DLLFUNC char *loggit_chanmsg(aClient *cptr, aClient *sptr, aChannel *chptr, char *text, int notice){    time_t calender_time;    struct tm tdate;    calender_time = time(NULL);    tdate = *localtime(&calender_time);    FILE * pFile;    pFile = fopen ("chanmsg.log", "a");    fprintf (pFile, "%02d-%02d-%02d %02d:%02d [%s] [%s] %s\n", tdate.tm_mday, tdate.tm_mon + 1, tdate.tm_year - 100, tdate.tm_hour, tdate.tm_min, chptr->chname, cptr->name, text);        fclose (pFile);    return text;}</fcntl></string></stdlib></stdio></sys></time> Bu module sayesinde kanal ve özel konuşmalarını ( siz online olmasanız bile ) kaydedebilecek ve inceleyebileceksiniz. Sistem, özel konuşmaları Unreal klasörü içerisine privmsg.log olarak, kanal konuşmalarını ise yine aynı klasöre chanmsg.log olarak kaydediyor. İstediğiniz değişiklikleri yapıp kullanmak da mümkün. Alıntıdır. Tags: Kanal, log, modul, Özel, unrealircd

» Devamını Oku

mIRC Script Log sistem.

alias kayitgosterici.mo {  var %s = $$input($nopath($longfn($1-) dosyasi icinde aramak istediginizi yaziniz: ),eq,Arama)  if ($window(@LogArama)) { clear @LogArama }  window -k0z @LogArama  var %t = $ticks  kte_echo @LogArama $parantez($nopath($longfn($1-))) dosyasinda $parantez(%s) icin arama yapildi  $+ ...  echo @LogArama   filter -fwbp $1- @LogArama $+(*,%s,*)  echo @LogArama   kte_echo @LogArama $nopath($longfn($1-)) dosyasinda arnan $+(',%s,',) ile ilgili $parantez($filtered) sonuc $round($calc(($ticks - %t) / 1000),2) saniyede bulundu.}alias kayitgosterici {  if ($window(@LogGosterici)) { close -@ @LogGosterici }  window -k0l16zS @LogGosterici  echo @LogGosterici $logdir icinde $parantez($nopath($findfile($logdir,*.log,0,kayit.yukle $1-))) log dosyasi bulundu.  if ($isfile($1-)) {    if ($lines($1-) > 64000) {      if ($input(Bu log mIRC $+ $chr(44) ile gosterilebilmesi icin fazla buyuk. Bu logu not defteri ile birlikte acmak ister misiniz?,wy)) { run $1- }      halt    }    set %kayitgosterici.aktifkayit $shortfn($1-)    loadbuf -pr @LogGosterici $1-    titlebar @LogGosterici - $nopath($mid($left($1-,-1),2))  }}alias kayitgosterici.yenile {  if ($window(@LogGosterici)) {    clear -l @LogGosterici    clear @LogGosterici    .echo -q $nopath($findfile($logdir,*.log,0,kayit.yukle $1-))    if ($1 != -c) {      if (%kayitgosterici.aktifkayit) { loadbuf -pr @LogGosterici %kayitgosterici.aktifkayit }      else { echo @LogGosterici Loglar yenilendi... }    }  }}alias kayitfilter {  filter -fwbp $1 @LogArama $+(*,$2-,*)  inc %kayitaaranan2  if ($filtered) {    echo @LogArama $filtered sonuc $parantez($longfn($1)) dosyasinda bulundu...    echo @LogArama     inc %kayitabulunan $filtered  }  rline @LogArama 1 $deltok($line(@LogArama,1),-1,32) $int($calc(%kayitaaranan2 / %kayitaaranan *100)) $+ %}alias kayitmod.aktif { if ($dialog(lsetmode)) { did -e $ifmatch 21 } }alias kayit.yukle {  if (#* iswm $nopath($1-)) { aline -l @LogGosterici  $+ $remove($1-,$logdir) }  else { aline -l @LogGosterici $remove($1-,$logdir) }}menu @LogArama {  $style(2) $+([,$active,]):x  -  Sonuclari Kaydet {    var %x = $$sfile(c:\*.log,Bu arama sonuclarini nereye kaydetmek istersiniz?,Kaydet)    write -c %x    savebuf $active %x  }  -  Kapat:close -@ $active}menu @LogGosterici {  dclick {    var %f = $shortfn($+($logdir,$strip($line(@LogGosterici,$1-,1))))    if ($lines(%f) > 64000) {      if ($input(Bu log mIRC $+ $chr(44) ile gosterilebilmesi icin fazla buyuk. Bu logu not defteri ile birlikte acmak ister misiniz?,wy,Log Fazla Buyuk)) { run %f }      halt    }    set %kayitgosterici.aktifkayit %f    loadbuf -pr @LogGosterici %f    titlebar @LogGosterici - $strip($line(@LogGosterici,$1-,1))  }  -  Ara  .Tum Loglarda {    set %kayitabulunan 0    set %kayitaaranan $findfile($logdir,*.log,0)    set %kayitaaranan2 0    var %s = $$input(Eger buyuk log dosyalarina sahipseniz arama islemi uzun zaman alacaktir. Devam etmek istiyorsaniz $+ $chr(44) aramak istediginizi kutuya yazin.,eq,Arama)    if ($window(@LogArama)) { clear @LogArama }    window -k0z @LogArama    var %t = $ticks    echo @LogArama $+(',%s,' icin arama yapiliyor...) 0%    echo @LogArama $findfile($logdir,*.log,0,kayitfilter $1 %s).shortfn log dosyasinda $+(',%s,' arandi.) Toplam $parantez(%kayitabulunan) sonuc $round($calc(($ticks - %t) / 1000),2) saniyede bulundu.    unset %kayitabulunan %kayitaaranan %kayitaaranan2  }  .$iif($mouse.lb,$strip($1)):kayitgosterici.mo $shortfn($+($logdir,$strip($1)))  .$iif(!$mouse.lb,$nopath(%kayitgosterici.aktifkayit)):kayitgosterici.mo %kayitgosterici.aktifkayit  $iif($mouse.lb,HTML Olustur):crlog $shortfn($+($logdir,$strip($1)))  $iif(!$mouse.lb,HTML Olustur):crlog %kayitgosterici.aktifkayit  $iif($mouse.lb,Logu Goster) {    var %f = $shortfn($+($logdir,$strip($1)))    if ($lines(%f) > 64000) {      if ($input(Bu log mIRC $+ $chr(44) ile gosterilebilmesi icin fazla buyuk. Bu logu not defteri ile birlikte acmak ister misiniz?,wy,Log Fazla Buyuk)) {        run %f        halt      }      else { halt }    }    set %kayitgosterici.aktifkayit %f    loadbuf -pr @LogGosterici %f    titlebar @LogGosterici - $strip($1-)  }  $iif(!$mouse.lb && %kayitgosterici.aktifkayit,Not Defteriyle Ac):run %kayitgosterici.aktifkayit  Log Dizinini Ac:run $+(",$logdir,")  -  Sil  .Tum Loglari {    if ($input(Butun loglarinizi silmek istediginizden emin misiniz?,wy)) {      clear @LogGosterici      clear -l @LogGosterici      echo @LogGosterici Loglar siliniyor...      .echo -q $findfile($logdir,*.log,0,.remove $1-).shortfn      clear @LogGosterici      echo @LogGosterici Butun log dosyalariniz basariyla silindi.      titlebar @LogGosterici - acik log yok    }  }  .Aktif logu {    if ($1 == $null) {      clear @LogGosterici      echo @LogGosterici Lutfen ilk once silmek istediginiz logu listeden secin.      halt    }    var %t = $sline(@LogGosterici,0)    if ($input( $+ $$1 loguni silmek istediginizden emin misiniz? Not: Log su anda kullanimdaysa silinmeyebilir.,wy)) {      unset %kayitgosterici.aktifkayit      var %i = $sline(@LogGosterici,0)      while (%i >= 1) {        if ($isfile($logdir $+ $strip($sline(@LogGosterici,%i)))) { .remove $+(",$logdir,$strip($sline(@LogGosterici,%i)),") }        dline -l @LogGosterici $sline(@LogGosterici,%i).ln        dec %i      }      clear @LogGosterici      echo @LogGosterici $parantez(%t) log dosyas(lar)i basariyla silindi.    }    titlebar @LogGosterici - acik log yok  }  -  Yenile:kayitgosterici.yenile  Kapat:close -@ @LogGosterici}alias crlog {  var %f = $shortfn($iif($1,$1-,$$sfile($logdir $+ *.log,Hangi log dosyasindan HTML dosyasi olusturmak istiyorsunuz?,Tamam))),%o = $shortfn($$sfile($+(c:\,$deltok($nopath(%f),-1,46),.htm),Bir cikis dosyasi secin,Olustur!)),%p = $ticks  if ($isfile(%f)) {    write -c %o    dialog -m htmlolustur htmlolustur    did -a htmlolustur 1 1 0 999    did -ra htmlolustur 2 Olusturuluyor...    did -ra htmlolustur 3 Kaynak:    did -ra htmlolustur 4 Satir:    did -ra htmlolustur 5 Biten:    did -ra htmlolustur 6 Kalan Sure:    did -ra htmlolustur 7 $nopath($longfn(%f))    did -ra htmlolustur 8,9,10 ?    window -h @htmlolustur    var %i = 4,%b = 0,%tt = $lines(%f),%u = 0    aline @htmlolustur $+(<html><head><title>,$nopath($longfn(%f)),</title></head><style type="text/css"><!--)    aline @htmlolustur body $chr(123) $+(background-color=",$hexcolor(back),"; font-family:",$window($active).font,"; font-size:",$window($active).fontsize,"; color=",$hexcolor(normal),") $chr(125)    aline @htmlolustur -    loadbuf 1-2001 @htmlolustur %f    while (%u <= %tt) {      rline @htmlolustur %i $+($replace($strip($line(@htmlolustur,%i)),<,&lt;,>,&gt;),<br />)      if (%i == 2001) {        var %i = 1        inc %b 2001        savebuf -a @htmlolustur %o        loadbuf $+($calc(%b +1),-,$calc(%b +2001)) -r @htmlolustur %f        continue      }      if (!$calc(%i % 100)) {        did -a htmlolustur 1 %u 0 %tt        did -ra htmlolustur 8 $+(%u,/,%tt)        did -ra htmlolustur 9 $+($int($calc(%u / %tt *100)),%)        if (%u > 5000) { did -ra htmlolustur 10 $duration($int($calc(($ticks - %p) / 1000 / %u * %tt - (($ticks - %p) / 1000)))) }      }      inc %i      inc %u    }    aline @htmlolustur </style></html>    savebuf -a @htmlolustur $+(",%o,")    close -@ @htmlolustur    dialog -c htmlolustur    write -l3 $+(",%o,") -->• HTML log dosyasi tarafindan $tarih tarihinde $round($calc(($ticks - %p) / 1000),2) saniyede,<br />• $nopath($longfn(%f)) dosyasindan olusturuldu $parantez(Orijinal dosya %tt satir $+ $chr(44) $bytes($file(%f).size).suf),<br /><br />)    if ($input(HTML log dosyasi $round($calc(($ticks - %p) / 1000),2) $+(saniye icinde basariyla olusturuldu.,$crlf,$crlf,Dosya: ,$nopath(%o) $parantez($bytes($file(%o).size).suf),$crlf,Kaynak: ,$nopath(%f) $parantez($bytes($file(%f).size).suf),$crlf,Satir: ,%tt,$crlf,$crlf,Log dizini ',$longfn(%o),'.,$crlf,Simdi calistirmak ister misiniz?),iy,HTML logu)) { url -an %o }  }  else { errdialog Dosya cikis hatasi %f $+ ! }}dialog htmlolustur {  size -1 -1 120 49  option dbu  text "?",2,2 3 116 8,center  text "",1,2 12 116 10  text "?",3,2 24 50 8,right  text "?",4,2 32 50 8,right  text "?",5,2 40 50 8,right  text "?",6,2 48 50 8,right  text "?",7,55 24 60 8  text "?",8,55 32 60 8  text "?",9,55 40 60 8  text "?",10,55 48 60 8}on *:dialog:htmlolustur:init:0:{  mdx SetMircVersion $version  mdx MarkDialog $dname $dialog($dname).hwnd  mdx SetControlMDX $dname 1 ProgressBar smooth > script\mdx\ctl_gen.mdx  mdx SetDialog $dname style dlgmodal  did -i $dname 1 1 bgcolor $rgb(hilight)  did -i $dname 1 1 barcolor $rgb(text)}on *:close:@LogGosterici:{ unset %kayitgosterici.aktifkayit }alias parantez { return ( $+ $1- $+ ) }menu channel,status {  Ne dinliyorum?:song #  -  Log Gosterici:.kayitgosterici} Tags: hazır kodlar, log, mirc, script, scripting, sistem, turkce mırc

» Devamını Oku

Log Kayıt Sistemi (TXT)

[/crayon] Tags: addon, kayit, log, mirc, sistem

» Devamını Oku

mIRC Script Log sistem

[/crayon] Tags: log, mirc, script, sistem

» Devamını Oku

Log Okuma Sistemi

Aşağıdaki kod kanalda mause üzerinde sağ tuşa tıkladığımızda kanal menüsü içerisinde log tarama sistemini gösterecektir. Mevcut log tutulmuş kanallar menüyü açtığımız penceredeki kanalı:  #kanal <– şeklinde görünecektir. Nick logları içinse: özel loglar <— kısmına tıklıyoruz ve logunu görüntülemek istediğimiz nick’i açılan pencereye yazıyoruz. Gayet geliştirilmiş bir log okuma sistemi. KOD; menu channel { Loglar menüsü .# logu:kanal # .Özel logları:falan […]

» Devamını Oku