Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dialog logviewer {
- title "Log viewer [/logs]"
- size -1 -1 288 200
- option dbu
- text "Network:", 2, 4 23 25 8
- combo 3, 30 22 43 50, size drop
- text "Type:", 4, 3 48 17 8
- combo 5, 30 47 43 50, size drop
- text "Wildmask:", 6, 4 73 27 8
- edit "", 7, 30 72 43 11, autohs
- button "Search", 8, 44 88 30 12
- list 11, 75 22 211 114, size extsel
- button "Open with...", 13, 214 139 40 12
- button "", 30, 0 0 0 0
- edit "", 1, 3 39 68 1
- edit "", 9, 3 64 68 1
- list 12, 3 3 284 15, size
- button "Ok", 14, 247 139 40 12, ok
- icon $icons(script.ico), 0
- list 35, 0 151 300 10, size
- button "", 36, 0 0 0 0
- }
- alias listfiles dll $shortfn(scripts\dlls\listfiles.dll) $1-
- alias logs { om.dialog logviewer }
- on *:dialog:logviewer:*:*:{
- if ($devent == init) {
- dll $mdx SetMircVersion $version
- dll $mdx MarkDialog $dname
- dll $mdx SetFont $dname 10,15 16 700 Tahoma
- dll $mdx SetBorderStyle $dname 1,9,7 staticedge
- dll $mdx SetControlMDX $dname 11 listview rowselect report showsel > $views
- dll $mdx SetControlMDX $dname 35 StatusBar sizeGrip > $bars
- dll $mdx SetControlMDX 36 positioner size minbox maxbox > $dialogs
- dll $mdx SetFont $dname 13 13 700 Tahoma
- did -i $dname 35 1 setparts 150 $dialog($dname).cw
- dll $mdx SetBorderStyle $dname 35 windowedge
- did -ca logviewer 3 All
- did -a logviewer 3 None
- did -ca logviewer 5 All
- did -a logviewer 5 Channels
- did -a logviewer 5 Queries
- did -a logviewer 5 Status
- did -z logviewer 5
- did -i $dname 11 1 headerdims 100 150 150 60 170
- did -i $dname 11 1 headertext Network File Last modified Lines Path
- listfiles setoutput <reldir><fname> <modified>
- listfiles listfiles f > $shortfn($mircdirtemp\logs.t) > $shortfn($logdir) > *.log > > 2
- .fopen logs temp\logs.t
- while (1) {
- var %t = $fread(logs)
- if (!%t) break
- var %n = $loginfo($gettok(%t,1,32))
- var %network = $gettok(%n,1,32)
- var %null = $deltok(%n,1,32)
- if (%network == $null) || (!%null) continue
- if (%network != $!false) && (!$didwm($dname,3,%network,3)) did -a $dname 3 %network
- }
- .fclose logs
- dll $mdx SetControlMDX $dname 12 Toolbar flat arrows nodivider wrap > $bars
- dll $mdx SetBorderStyle $dname 12 staticedge
- dll $mdx SetBorderStyle $dname 12
- did -i $dname 12 1 bmpsize 16 16
- did -i $dname 12 1 setimage +nh icon small 0, $+ $shortfn(images\question.ico)
- did -i $dname 12 1 setimage +nh icon small 0, $+ $shortfn(images\close.ico)
- did -i $dname 12 1 setimage +nh icon small 0, $+ $shortfn(images\options.ico)
- did -i $dname 12 1 setimage +nh icon small 0, $+ $shortfn(images\error.ico)
- did -i $dname 12 1 setimage +nh icon small 0, $+ $shortfn(images\settings.ico)
- did -i $dname 12 1 setimage +nh icon small 0, $+ $shortfn(images\32.ico)
- did -i $dname 12 1 setimage +nh icon small 0, $+ $shortfn(images\copy.ico)
- did -i $dname 12 1 setimage +nh icon small 0, $+ $shortfn(images\search.ico)
- did -i $dname 12 1 setimage +nh icon small 0, $+ $shortfn(images\up.ico)
- did -i $dname 12 1 setimage +nh icon small 0, $+ $shortfn(images\prot.ico)
- did -i $dname 12 1 setimage +nh icon small 0, $+ $shortfn(images\off.ico)
- did -a $dname 12 +a 1 $chr(32) $+ $chr(9) Help $+ $chr(9)
- did -a $dname 12 +a -
- did -a $dname 12 +a 2 $chr(32) $+ $chr(9) Remove selected log file $+ $chr(9)
- did -a $dname 12 +a 10 $chr(32) $+ $chr(9) Remove all logs $+ $chr(9)
- did -a $dname 12 +a -
- did -a $dname 12 +a 11 $chr(32) $+ $chr(9) Destroy list cache $+ $chr(9)
- did -a $dname 12 +a -
- did -a $dname 12 +a 3 $chr(32) $+ $chr(9) Open $+ $chr(9)
- did -a $dname 12 +a 5 $chr(32) $+ $chr(9) Options $+ $chr(9)
- did -a $dname 12 +a 6 $chr(32) $+ $chr(9) Convert logs into HTML $+ $chr(9)
- did -a $dname 12 +a 8 $chr(32) $+ $chr(9) Search entire folder $+ $chr(9)
- did -a $dname 12 +a -
- did -a $dname 12 $iif(%log.hidden == on,+xa,+a) 7 $chr(32) $+ $chr(9) Toggle search panel $+ $chr(9)
- did -a $dname 12 +a -
- did -a $dname 12 +a 9 $chr(32) $+ $chr(9) Open logdir $nbr($logdir) $+ $chr(9)
- did -a $dname 12 +a -
- did -a $dname 12 +a 4 $chr(32) $+ $chr(9) Exit $+ $chr(9)
- did -i $dname 35 2 $calc($did(11).lines - 1) log files.
- did -i $dname 35 2 Log files: $calc($did(11).lines - 1)
- did -i logviewer 35 3 Double click to open the log files.
- var %w = $dialog(logviewer).cw,%h = $dialog(logviewer).ch
- if (%log.hidden == on) {
- did -h logviewer 1-9
- dll $mdx MoveControl $dname 11 4 * $calc(%w -9) $calc(%h -97)
- }
- else {
- did -v logviewer 1-9
- dll $mdx MoveControl $dname 11 150 * $calc(%w -155) $calc(%h -97)
- }
- }
- elseif ($devent == edit) {
- did -t $dname 8
- }
- elseif ($devent == sclick) {
- if ($did == 36) {
- if ($gettok($did($dname,36),5,32) < 440) { did -a $dname 36 setsize c $v2 * }
- if ($gettok($did($dname,36),6,32) < 310) { did -a $dname 36 setsize c * $v2 }
- tokenize 32 $gettok($did($did),1-,32)
- if ($1 == size) {
- var %w = $dialog($dname).cw,%h = $dialog($dname).ch
- dll $mdx MoveControl $dname 14 $calc(%w -84) $calc(%h -50) * *
- dll $mdx MoveControl $dname 13 $calc(%w -168) $calc(%h -50) * *
- dll $mdx MoveControl $dname 35 * $calc(%h -23) %w *
- dll $mdx MoveControl $dname 11 * * $iif(%log.hidden == on,$calc(%w -9),$calc(%w -155)) $calc(%h -97)
- did -i $dname 35 1 setparts 150 %w
- }
- }
- if ($did == 13) log1pop
- elseif ($did == 8) {
- did -i logviewer 35 3 Double click to open the log files.
- om.dialog logw
- did -a logw 2 Please wait while gathering logs list.
- did -r logviewer 11
- did -b logviewer 3,5,7,8
- if ($did(logviewer,3).sel == 1) var %netmask = *
- elseif ($did(logviewer,3).sel == 2) var %netmask = $!false
- else var %netmask = $did(logviewer,3).seltext
- if ($did(logviewer,5).sel == 1) || ($did(logviewer,5).sel == 3) var %namemask = *
- elseif ($did(logviewer,5).sel == 2) var %namemask = #*
- elseif ($did(logviewer,5).sel == 4) var %namemask = Status Window
- var %wildcard = $iif($did(logviewer,7) && $did(7) != *,$+(*,$remove($did(logviewer,7),*),*),*)
- .fopen -no logsout temp\logsout.t
- .fopen logs temp\logs.t
- while (1) {
- var %t = $fread(logs)
- if (!%t) break
- var %file = $gettok(%t,1,32)
- var %date = $duration($calc($ctime - $gettok(%t,2,32)))
- var %t = $loginfo($gettok(%t,1,32))
- var %network = $gettok(%t,1,32)
- var %name = $deltok(%t,1,32)
- var %line = $iif($lines($shortfn($logdir $+ %file)) > 0,$v1,1)
- if (($did(logviewer,5).sel == 3) && (Status Window iswm %name)) || (($did(logviewer,5).sel == 3) && (#* iswm %name)) || (%network == $null) || (!%name) {
- continue
- }
- if %netmask iswm %network && %namemask iswm %name && %wildcard iswm %file {
- .fwrite -n logsout $irt($+($iif(%network != $!false,$v1,<None>),$chr(9),%name,$chr(9),%date,$chr(9),%line,$chr(9),%file))
- }
- }
- .fclose logs
- .fclose logsout
- if ($isfile(temp\logsout.t)) loadbuf -ro $dname 11 temp\logsout.t
- did -e logviewer 3,5,7,8
- dialog -x logw
- did -i $dname 35 2 Log files: $calc($did(11).lines - 1)
- }
- elseif ($did == 12) {
- logs.tb.do $gettok($did($did).seltext,2,32)
- }
- elseif ($did == 11) {
- var %x = $file($putqt($+($logdir,$gettok($did($did).seltext,$numtok($did($did).seltext,32),32))).size), %y = File: $putqt($+($logdir,$gettok($did($did).seltext,$numtok($did($did).seltext,32),32))) - $bytes(%x).suf
- did -i $dname 35 3 $iif($did($did).seltext,%y,Double click to open the log files.)
- tokenize 32 $did($did,1)
- if ($1 == rclick) {
- logs.pop
- }
- }
- }
- elseif ($devent == dclick) {
- if ($did == 11) {
- if ($did(logviewer,11).sel > 1) viewlog $logdir $+ $gettok($noirt($did(logviewer,11).seltext),-1,9)
- }
- }
- }
- alias striplog return $replace($1-,|,_,<,_,>,_,\,_,/,_,*,_,?,_,:,_,",_)
- alias logs.tb.do {
- if ($1 == 1) inform Please input a search criteria in the edit box, or just press "Search" to view logs. Then Double click them to process. Further settings can be found in the rightclick menu @ the list.
- elseif ($1 == 2) {
- if ($did(logviewer,11).seltext) logs.do del.file
- did -i logviewer 35 3 Double click to open the log files.
- }
- elseif ($1 == 3) {
- var %t = $sfile(logs\*.log,Please select a logfile,Open)
- if (%t) viewlog %t
- }
- elseif ($1 == 5) log.option
- elseif ($1 == 6) {
- if ($did(logviewer,11).seltext) {
- var %r = $putqt($+($logdir,$gettok($gettok($v1,1,92),$numtok($gettok($v1,1,92),32),32),\,$gettok($v1,2,92)))
- }
- log.mkhtml %r
- }
- elseif ($1 == 4) .timer -m 1 1 dialog -x $dname
- elseif ($1 == 7) {
- var %w = $dialog(logviewer).cw,%h = $dialog(logviewer).ch
- set %log.hidden $iif(%log.hidden == on,off,on)
- if (%log.hidden == on) {
- did -h logviewer 1-9
- dll $mdx MoveControl logviewer 11 4 * $calc(%w -9) $calc(%h -97)
- }
- else {
- did -v logviewer 1-9
- dll $mdx MoveControl logviewer 11 150 * $calc(%w -155) $calc(%h -97)
- }
- did -r logviewer 12
- did -a $dname 12 +a 1 $chr(32) $+ $chr(9) Help $+ $chr(9)
- did -a $dname 12 +a -
- did -a $dname 12 +a 2 $chr(32) $+ $chr(9) Remove selected log file $+ $chr(9)
- did -a $dname 12 +a 10 $chr(32) $+ $chr(9) Remove all logs $+ $chr(9)
- did -a $dname 12 +a -
- did -a $dname 12 +a 11 $chr(32) $+ $chr(9) Destroy list cache $+ $chr(9)
- did -a $dname 12 +a -
- did -a $dname 12 +a 3 $chr(32) $+ $chr(9) Open $+ $chr(9)
- did -a $dname 12 +a 5 $chr(32) $+ $chr(9) Options $+ $chr(9)
- did -a $dname 12 +a 6 $chr(32) $+ $chr(9) Convert logs into HTML $+ $chr(9)
- did -a $dname 12 +a 8 $chr(32) $+ $chr(9) Search entire folder $+ $chr(9)
- did -a $dname 12 +a -
- did -a $dname 12 $iif(%log.hidden == on,+xa,+a) 7 $chr(32) $+ $chr(9) Toggle search panel $+ $chr(9)
- did -a $dname 12 +a -
- did -a $dname 12 +a 9 $chr(32) $+ $chr(9) Open logdir $nbr($logdir) $+ $chr(9)
- did -a $dname 12 +a -
- did -a $dname 12 +a 4 $chr(32) $+ $chr(9) Exit $+ $chr(9)
- }
- elseif ($1 == 8) {
- idialog This function will search all logs in all your folders within $logdir $+ . Do note that this might take some time if you have an excessive amount of logs. $crlf $crlf $+ Please input your search criteria below.
- if (%idialog.result) {
- search.logs d wild $v1
- unset %idialog.result
- }
- }
- elseif ($1 == 9) run $logdir
- elseif ($1 == 10) {
- if ($yndialog(Are you sure you wish to delete ALL logs? $crlf $+ Note: This may take some time.)) {
- did -r logviewer 11
- if ($isfile($putqt(temp\logs.t))) .tryremove $shortfn(temp\logs.t)
- if ($isfile($putqt(temp\logsout.t))) .tryremove $shortfn(temp\logsout.t)
- _rmdir $logdir
- }
- }
- elseif ($1 == 11) load.logs -m
- }
- alias irt {
- var %t = $1
- if ($chr(9) isin %t) {
- var %i = 2
- while ($gettok(%t,%i,9)) {
- var %t = $reptok(%t,$gettok(%t,%i,9),+ 0 0 0 $gettok(%t,%i,9),1,9)
- inc %i
- }
- }
- return %t
- }
- alias noirt {
- var %t = $gettok($1,6-,32)
- if ($chr(9) isin %t) {
- var %i = 2
- while ($gettok($gettok(%t,%i,9),5-,32)) {
- var %t = $reptok(%t,$gettok(%t,%i,9),$gettok($gettok(%t,%i,9),5-,32),1,9)
- inc %i
- }
- }
- return %t
- }
- alias actdisp {
- if ($activecid == $cid) var %t = -a
- else var %t = -s
- thm_echo %t $1-
- }
- alias log1pop {
- mkmenu logs %xpop.style
- xpopup -i logs + 0 $icons(sysinfo\chip.ico)
- xpop -a logs 0 $chr(9) +g 3 1 $chr(151) Select utlility $chr(151)
- xpop -a logs 0 $chr(9) + 0 0 -
- xpop -a logs 0 $chr(9) $iif(%logs.view,+c,+) 1 0 &Notepad
- xpop -a logs 0 $chr(9) $iif(!%logs.view,+c,+) 2 0 Win&dow
- xpopup -s logs +tl $mouse.dx $mouse.dy
- xpopup -d logs
- }
- on *:signal:xpopup-logs: {
- if ($1 == 1) lgdo 2
- if ($1 == 2) lgdo 1
- }
- alias lgdo {
- if ($1 == 1) unset %logs.view
- if ($1 == 2) set %logs.view 1
- }
- alias viewlog {
- var %t = $iif($1,$1-,$active)
- var %f = " $+ $iif($isfile(%t),%t,$window(%t).logfile) $+ "
- if ($isfile(%f)) {
- if (!$hget(logview,view)) {
- if ($window(@Logview)) && (!%lmp) window -c @Logview
- else clear @logview
- window -eazk0 @Logview
- dcx WindowProps $window(@Logview).hwnd +t Log for: $remove(%f,$chr(34))
- loadbuf -p @Logview %f
- }
- else run -p $replace($hget(logview,view),<log>,%f)
- }
- else thm_error -a There's no log for $_Wrap(%t) $+ !
- unset %lmp
- }
- on *:input:@Logview:{
- if ($cmdchar !iswm $1) || ($ctrlenter) {
- haltdef
- var %r = $shortfn($gettok($window(@Logview).title,2-,32))
- if ($isfile(%r)) {
- set %input2 1
- search.logs -f wild $1-
- }
- else { thm_error @Logview No log file loaded! }
- }
- unset %input2
- }
- menu @Logview {
- $style(2) ... $+ $shorten(30,$gtok($remove($window(@Logview).title,$logdir),2-),$v1)): 1
- -
- .Se&arch
- ..Search entire folder: {
- idialog This function will search all logs in all your folders within $logdir $+ . Do note that this might take some time if you have an excessive amount of logs. $crlf $crlf $+ Please input your search criteria below.
- if (%idialog.result) {
- search.logs d wild $v1
- unset %idialog.result
- }
- }
- ..Search this file: {
- idialog2 Please input a search criteria below. Wildcards are accepted (if you selected the radio below).
- if (%idialog.result_2) {
- search.logs -f $v1
- unset %idialog.result_2
- }
- }
- ..Search window: com.s ^F
- .-
- .Reset search: {
- set %lmp 1
- viewlog $gtok($window(@logview).title,2-)
- }
- &Remove logs
- .All logs: {
- if ($yndialog(Are you sure you wish to delete ALL logs? $crlf $+ Note: This may take some time.)) {
- did -r logviewer 11
- if ($isfile($putqt(temp\logs.t))) .tryremove $shortfn(temp\logs.t)
- if ($isfile($putqt(temp\logsout.t))) .tryremove $shortfn(temp\logsout.t)
- _rmdir $logdir
- }
- }
- .-
- .Private: {
- if ($yndialog(Are you sure you wish to delete all private logs? $crlf $+ Note: This may take some time.)) {
- var %x = $shortfn(temp\logs.t), %y = $lines(%x)
- while (%y) {
- var %g = $gtok($read(%x,nt,%y),1)
- if ($chantypes !isin $nopath(%g)) {
- .tryremove $putqt($logdir $+ %g)
- .write -dl $+ %y %x
- }
- dec %y
- }
- .clearlist -p
- }
- }
- .Channel: {
- if ($yndialog(Are you sure you wish to delete all channel logs? $crlf $+ Note: This may take some time.)) {
- var %x = $shortfn(temp\logs.t), %y = $lines(%x)
- while (%y) {
- var %g = $gtok($read(%x,nt,%y),1)
- if ($chantypes isin $nopath(%g)) {
- .tryremove $putqt($logdir $+ %g)
- .write -dl $+ %y %x
- }
- dec %y
- }
- .clearlist -c
- }
- }
- -
- Open log viewer dialog: logs
- Open log viewer settings: log.option
- -
- Close: close -@ @Logview
- }
- alias striplog return $replace($1-,|,_,<,_,>,_,\,_,/,_,*,_,?,_,:,_,",_)
- alias loginfo {
- if ($gettok($1,0,92) > 1) {
- var %network = $gettok($1,1,92)
- var %name = $deltok($gettok($1,2,92),-1,46)
- if ($gettok(%name,-1,46) isnum) var %name = $deltok(%name,-1,46)
- if (%name == status) var %name = $gettok($read($logdir $+ $1,nw,Session Ident: *),2-,58)
- }
- else {
- var %name = $striplog($gettok($read($logdir $+ $1,nw,Session Ident: *),2-,58))
- var %aux = $deltok($remfirst($1,$calc($len($gettok(%name,1,32)) + 1)),-1,46)
- if (!%aux) || (%aux isnum) var %network = $!false
- elseif ($gettok(%aux,0,46) == 2) var %network = $gettok(%aux,1,46)
- else var %network = %aux
- }
- return %network %name
- }
- dialog logw {
- title "Loading..."
- size -1 -1 114 15
- option dbu
- text "", 2, 2 4 110 8, center
- icon $icons(script.ico), 0
- }
- on *:dialog:logw:init:0:{
- dll $mdx SetMircVersion $version
- dll $mdx MarkDialog $dname
- dll $mdx SetBorderStyle $dname 1,3 staticedge
- dll $mdx SetFont $dname 2 13 700 Tahoma
- dll $mdx SetDialog $dname style 0 title
- }
- alias logs_strip {
- if ($1-) { var %in = $1- }
- else { var %in = $sfile($logdir $+ *.log,Logfile colorcode stripping, Select) }
- if ($isfile(%in)) {
- var %out = $$sfile($mid(%in, 1, -4) $+($chr(40),stripped,$chr(41),.log), Save File, Create), %t = $om.ticks, %lines = $lines(%in), %i = 1
- .fopen logs_in $+(",%in,")
- .fopen -o logs_out $+(",%out,")
- while (%i <= %lines) {
- .fwrite logs_out $strip($fread(logs_in)) $+ $crlf
- inc %i
- }
- .fclose logs_in
- .fclose logs_out
- }
- return
- :error
- log.chkerror $error
- reseterror
- }
- dialog log.option {
- title "Logviewer settings"
- icon $icons(script.ico), 0
- size -1 -1 137 69
- option dbu
- check "Highlight Search matches (Slows down searches)", 1, 4 10 128 8
- check "Prefix Search with Line number", 2, 4 42 85 8
- text "Use this highlight color:", 6, 12 20 60 10
- edit %logs.hl, 5, 72 19 20 10, center limit 2
- button "", 7, 12 30 118 10
- box "Options", 3, 2 0 133 54
- button "Ok", 4, 95 56 40 12, ok
- }
- alias log.hl.show {
- var %w = @hl.prev, %t = $1-, %f = Tahoma, %s = 11, %h = $calc($height(%t,%f,%s) +5)
- drawrect -nf %w $color(back) 1 0 0 $window(%w).w $window(%w).h
- drawtext -npb %w $color(normal) $color(back) $qt(%f) %s 3 2 %t
- drawrect -n %w $color(back) 2 0 0 $calc($window(%w).w -2) $calc($window(%w).h -2)
- drawdot %w
- }
- on *:dialog:log.option:*:*: {
- if ($devent == init) {
- dll $mdx SetMircVersion $version
- dll $mdx MarkDialog $dname
- dll $mdx SetFont $dname 3 13 700 Tahoma
- did $iif(%log.highlight == on,-c,-u) $dname 1
- did $iif(%log.highlight == on,-e,-b) $dname 6,5
- did $iif(%log.prefix == on,-c,-u) $dname 2
- dll $mdx SetControlMDX $dname 7 window > $dialogs
- window -hpi @hl.prev
- did -a $dname 7 grab $window(@hl.prev).hwnd @hl.prev
- log.hl.show This is a sample $+(,$color(text),$chr(44),%logs.hl,highlight)
- }
- if ($devent == close) {
- if ($window(@hl.prev)) close -@ $v1
- }
- if ($devent == edit) {
- numonly $dname 5
- if ($did(5) isnum 0-15) {
- set %logs.hl $iif($len($v1) = 1,0 $+ $did(5),$did(5))
- log.hl.show This is a sample $+(,$color(text),$chr(44),%logs.hl,highlight)
- }
- else {
- if ($did(5)) {
- did -r $dname 5
- beep 1
- }
- }
- }
- if ($devent == sclick) {
- if ($did == 1) {
- set %log.highlight $iif(%log.highlight == on,off,on)
- did $iif(%log.highlight == on,-e,-b) $dname 6,5
- }
- if ($did == 2) {
- set %log.prefix $iif(%log.prefix == on,off,on)
- }
- }
- }
- alias log.option om.dialog log.option
- dialog htmlprog {
- title "HTML Conventer"
- icon $icons(script.ico), 0
- 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 63 8
- text "?", 8, 55 32 63 8
- text "?", 9, 55 40 63 8
- text "?", 10, 55 48 60 8
- }
- on *:dialog:htmlprog:init:0:{
- dll $mdx MarkDialog $dname
- dll $mdx SetControlMDX $dname 1 ProgressBar smooth > $ctl
- mdx SetDialog $dname style 0 dlgmodal
- }
- alias hexcolor {
- tokenize 44 $rgb($color($color($1)))
- return $+($chr(35),$base($1,10,16,2),$base($2,10,16,2),$base($3,10,16,2))
- }
- alias log.mkhtml {
- var %f = $iif($1-,$1-,$qt($$sfile($logdir $+ *.log,Create HTML log from?,Ok))),%o = $qt($$sfile($+(c:\,$deltok($nopath(%f),-1,46),.htm),Please choose an output file.,Convert)),%p = $om.ticks
- if ($isfile(%f)) {
- if ($isfile(%o)) { return }
- fchk out
- fchk in
- .fopen -o out %o
- .fopen in %f
- om.dialog htmlprog
- did -a htmlprog 1 1 0 999
- did -ra htmlprog 2 Creating HTML file...
- did -ra htmlprog 3 From:
- did -ra htmlprog 4 Lines:
- did -ra htmlprog 5 Finished:
- did -ra htmlprog 6 Time remaining:
- did -ra htmlprog 7 $nopath(%f)
- did -ra htmlprog 8,9,10 ?
- var %i = 4,%b = 0,%tt = $lines(%f),%u = 0
- .fwrite -n out $+(<html><head><title>,$nopath(%f),</title><style) type="text/css"><!--
- .fwrite -n out body $chr(123) $+(background-color:,$hexcolor(back),; font-family:,$window($active).font,; font-size:,$window($active).fontsize,; color:,$hexcolor(normal)) $chr(125)
- while (!$fopen(in).eof) {
- .fwrite -n out $replace($strip($fread(in)),<,<,>,>) $+ <br>
- if (!$calc(%i % 100)) {
- did -a htmlprog 1 %u 0 %tt
- did -ra htmlprog 8 $+(%u,/,%tt)
- did -ra htmlprog 9 $percent(%u,%tt,0)
- if (%u > 5000) { did -ra htmlprog 10 $duration($int($calc(($om.ticks - %p)/1000/ %u * %tt -(($om.ticks - %p)/1000)))) }
- }
- inc %i
- inc %u
- }
- .fwrite out <br><br><font $+(color=",$hexcolor(info),"><li>) End of file</font></body></html>
- dialog -c htmlprog
- fchk in
- fchk out
- .write -il3 %o --></style></head><body><font $+(color=",$hexcolor(info),"><li>) HTML log file generated with HTML converter (Omega script $omver $+ ). $+(<br><li> Created from $nopath(%f) $nbr(Originally %tt lines $+ $chr(44) $bytes($file(%f).size,3).suf),</font><br><br>)
- }
- return
- :error
- log.chkerror $error
- reseterror
- }
- alias fchk { if ($fopen($1)) { .fclose $1 } }
- alias logs.pop {
- var %o = $iif($did(logviewer,11).seltext,+,+g), %d = $iif($remove($gettok($did(logviewer,11).seltext,6,32),$chr(9),+fs,+s) != <none>,+,+g)
- mkmenu log %xpop.style
- xpopup -i log + 0 $icons(1.ico)
- xpopup -i log + 0 $icons(2.ico)
- xpopup -i log + 0 $icons(options.ico)
- xpopup -i log + 0 $icons(close.ico)
- xpopup -i log + 0 $icons(32.ico)
- xpopup -i log + 0 $icons(toolbar\toolbar17.ico)
- xpopup -i log + 0 $icons(search.ico)
- xpop -a log 0 $chr(9) %o 1 1 V&iew in notepad
- xpop -a log 0 $chr(9) %o 2 2 Vi&ew in window
- xpop -a log 0 $chr(9) + 3 3 Ope&n logdir
- xpop -a log 0 $chr(9) %o 4 5 St&rip and save log
- xpop -a log 0 $chr(9) + 0 0 -
- xpop -a log 0 $chr(9) +s 10 0 Remove logs
- xpop -a log 6 1 $chr(9) %o 5 0 &Selected $iif($did(logviewer,11,0).sel > 1,files,file)
- xpop -a log 6 2 $chr(9) + 0 0 -
- xpop -a log 6 3 $chr(9) + 9 0 Private logs
- xpop -a log 6 4 $chr(9) + 10 0 Channel logs
- xpop -a log 6 5 $chr(9) + 0 0 -
- if ($gtok($gettok($did(logviewer,11).seltext,1,9),6)) {
- xpop -a log 6 11 $chr(9) $iif(%o == +,%d,%o) 6 0 All logs under $gtok($gettok($did(logviewer,11).seltext,1,9),6)
- xpop -a log 6 12 $chr(9) + 0 0 -
- }
- xpop -a log 6 13 $chr(9) $iif($did(logviewer,11).lines != 1,+,+g) 11 4 All logs
- xpop -a log 0 $chr(9) + 0 0 -
- xpop -a log 0 $chr(9) + 7 6 Sea&rch entire folder
- xpopup -s log +tl $mouse.dx $mouse.dy
- xpopup -d log
- }
- on *:signal:xpopup-log: {
- if ($1 == 1) logs.do notepad
- if ($1 == 2) logs.do view -w
- if ($1 == 3) .run $logdir
- if ($1 == 4) logs.do strip
- if ($1 == 6) logs.do rem $remove($gettok($did(logviewer,11).seltext,6,32),$chr(9),+fs,+s)
- if ($1 == 5) logs.do del.file
- if ($1 == 7) logs.do sall
- if ($1 == 8) logs.do sone
- if ($1 == 9) {
- if ($yndialog(Are you sure you wish to delete all private logs? $crlf $+ Note: This may take some time.)) {
- var %x = $shortfn(temp\logs.t), %y = $lines(%x)
- while (%y) {
- var %g = $gtok($read(%x,nt,%y),1)
- if ($chantypes !isin $nopath(%g)) {
- .tryremove $putqt($logdir $+ %g)
- .write -dl $+ %y %x
- }
- dec %y
- }
- .clearlist -p
- }
- }
- if ($1 == 10) {
- if ($yndialog(Are you sure you wish to delete all private logs? $crlf $+ Note: This may take some time.)) {
- var %x = $shortfn(temp\logs.t), %y = $lines(%x)
- while (%y) {
- var %g = $gtok($read(%x,nt,%y),1)
- if ($chantypes isin $nopath(%g)) {
- .tryremove $putqt($logdir $+ %g)
- .write -dl $+ %y %x
- }
- dec %y
- }
- .clearlist -c
- }
- }
- if ($1 == 11) {
- if ($yndialog(Are you sure you wish to delete all private logs? $crlf $+ Note: This may take some time.)) {
- did -r logviewer 11
- if ($isfile($putqt(temp\logs.t))) .tryremove $shortfn(temp\logs.t)
- if ($isfile($putqt(temp\logsout.t))) .tryremove $shortfn(temp\logsout.t)
- _rmdir $logdir
- }
- }
- return
- :error
- log.chkerror $error
- reseterror
- }
- alias logs.do {
- if ($1 == sall) {
- set -u2 %cm.inform.1 This function will search all logs in all your folders within $logdir $+ . Do note that this might take some time if you have an excessive amount of logs.
- noop $dialog(inform.1,inform.1,-4)
- idialog Please input a search criteria below:
- if (%idialog.result) {
- search.logs d wild $v1
- unset %idialog.result
- }
- }
- if ($1 == rem) {
- if ($yndialog(Warning: $crlf $crlf $+ Are you sure you wish to Remove all files under the folder $qt($2) $+ ? This may take some time!)) {
- did -i logviewer 35 3 Double click to open the log files.
- if ($window(@Logview)) close -@ @Logview
- var %t = $logdir $+ $2, %r = $lines(temp\logs.t)
- while (%r) {
- if ($gettok($read(temp\logs.t,nt,%r),1,92) == $2) .write -dl $+ %r temp\logs.t
- if ($remove($gettok($read(temp\logsout.t,nt,%r),1,32),$chr(9),+) == $2) .write -dl $+ %r temp\logsout.t
- dec %r
- }
- var %p = $did(logviewer,11).lines
- while (%p) {
- var %ä = $numtok($did(logviewer,11,%p),32)
- if ($gettok($gettok($did(logviewer,11,%p),%ä,32),1,92) == $2) {
- did -d logviewer 11 %p
- }
- dec %p
- }
- _rmdir %t
- }
- }
- if ($1 == notepad) {
- var %t = $numtok($did(logviewer,11).seltext,32)
- if ($isfile($shortfn($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s)))) run $shortfn($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s))
- else thm_error -a There's no log for $_Wrap($shortfn($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s))) $+ !
- }
- if ($1 == view) {
- var %t = $numtok($did(logviewer,11).seltext,32)
- if ($isfile($shortfn($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s)))) {
- if ($2 == -w) goto w
- if (%logs.view) run $shortfn($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s))
- else {
- :w
- viewlog $shortfn($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s))
- }
- }
- else {
- thm_error -a There's no log for $_Wrap($shortfn($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s))) $+ !
- return
- }
- else {
- var %t = $numtok($did(logviewer,11).seltext,32)
- if ($isfile($shortfn($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s)))) run $shortfn($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s))
- else thm_error -a There's no log for $_Wrap($shortfn($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s))) $+ !
- }
- }
- if ($1 == strip) {
- var %t = $numtok($did(logviewer,11).seltext,32)
- if ($isfile($putqt($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s)))) logs_strip $putqt($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s)))
- else thm_error -a There's no log for $_Wrap($shortfn($logdir $+ $remove($gettok($did(logviewer,11).seltext,%t,32),$chr(9),+fs,+s))) $+ !
- }
- if ($1 == del.file) {
- did -i logviewer 35 3 Double click to open the log files.
- if ($window(@Logview)) close -@ @Logview
- var %x = 1, %t = $numtok($did(logviewer,11).seltext,32)
- while ($did(logviewer,11,%x).sel) {
- var %h = $v1, %p = $gtok($gettok($did(logviewer,11,%h),5-,9),5-)
- if ($isfile($putqt($logdir $+ %p))) {
- .tryremove $putqt($logdir $+ %p)
- .write -ds $+ %p temp\logs.t
- }
- inc %x
- }
- lg.del $did(logviewer,11,0).sel
- }
- did -i logviewer 35 2 Log files: $calc($did(logviewer,11).lines - 1)
- }
- alias lg.del {
- var %x = $1
- while ($did(logviewer,11,%x).sel) {
- did -d logviewer 11 $v1
- dec %x
- }
- }
- alias idialog2 {
- set %idialog.text_2 $1-
- noop $dialog(idialog2,idialog2,-4)
- }
- dialog idialog2 {
- title "Omega input request..."
- icon $icons(script.ico), 0
- size -1 -1 163 64
- option dbu
- icon 1, 4 3 20 20, $icons(script.ico), 0
- edit "", 2, 25 3 136 31, read multi return vsbar
- button "Cancel", 3, 121 50 40 12, cancel
- edit "", 4, 3 36 158 12, autohs
- button "Ok", 5, 79 50 40 12, disable
- radio "Wildcarded search", 6, 0 0 0 0
- }
- on *:dialog:idialog2:*:*: {
- if ($devent == init) {
- dll $mdx SetMircVersion $version
- dll $mdx MarkDialog $dname
- dll $mdx SetBorderStyle $dname 2
- did -f $dname 4
- did -c $dname 6
- did -ra $dname 2 %idialog.text_2
- }
- if ($devent == close) unset %idialog.result idialog.text
- if ($devent == edit) {
- if ($did == 4) did $iif($did(4),-e,-b) $dname 5
- }
- elseif ($devent == sclick) {
- if ($did == 5) {
- if ($did(4)) set %idialog.result_2 $iif($did(6).state == 1,wild,normal) $didtok(4,32)
- dialog -x $dname
- }
- }
- }
- alias load.logs {
- var %ticks = $om.ticks, %g = $bytes($calc($file($shortfn(temp\logs.t)) + $shortfn(temp\logsout.t))).suf
- listfiles setoutput <reldir><fname> <modified>
- listfiles listfiles f > $shortfn($mircdirtemp\logs.t) > $shortfn($logdir) > *.log > > 2
- .fopen logs temp\logs.t
- while (1) {
- var %t = $fread(logs)
- if (!%t) break
- var %n = $loginfo($gettok(%t,1,32))
- var %network = $gettok(%n,1,32)
- var %null = $deltok(%n,1,32)
- if (%network == $null) || (!%null) continue
- if (%network != $!false) && (!$didwm(logviewer,3,%network,3)) did -a logviewer 3 %network
- if %netmask iswm %network && %namemask iswm %name && %wildcard iswm %file {
- .fwrite -n logsout $irt($+($iif(%network != $!false,$v1,<None>),$chr(9),%name,$chr(9),%date,$chr(9),%line,$chr(9),%file))
- }
- }
- .fclose logs
- if ($1 == -m) inform The list cache $nbr(%g) for the log viewer was removed and recreated successfully after $nbr($round($calc(($om.ticks - %ticks) / 100),4)) ms $+ !
- return
- :error
- log.chkerror $error
- reseterror
- }
- alias clearlist {
- if ($dialog(logviewer)) {
- if ($1 == -c) {
- var %x = 2
- while ($did(logviewer,11,%x)) {
- if ($chantypes isin $gtok($gettok($v1,2,9),5)) {
- did -d logviewer 11 %x
- dec %x
- }
- inc %x
- }
- if ($window(@logview)) {
- if ($chantypes isin $nopath($window(@logview).title)) close -@ @logview
- }
- }
- elseif ($1 == -p) {
- var %x = 2
- while ($did(logviewer,11,%x)) {
- if ($chantypes !isin $gtok($gettok($v1,2,9),5)) {
- did -d logviewer 11 %x
- dec %x
- }
- inc %x
- }
- if ($window(@logview)) {
- if ($chantypes !isin $nopath($window(@logview).title)) close -@ @logview
- }
- }
- }
- return
- :error
- log.chkerror $error
- reseterror
- }
- alias log.chkerror {
- if ($regex(logerr,$1-,/\* \/remove: unable to remove \'(.+)\' \(line \d+\x2C logviewer\.mrc\)/i)) { inform Unable to remove $nopath($regml(logerr,1)) $+ .Check if the "Lock log files" checkbox in the mIRC options is disabled! }
- else { inform An error occured while deleting/accessing a file: $1- }
- }
- alias search.logs {
- if (!$findfile($logdir,*,0)) {
- inform There are no logs yet!
- return
- }
- if (!$3) || ($regex($3-,/^([*?\x20\xA0])+$/)) {
- inform You can't search for that term! $crlf $+ You must input something else aswell in order to proceed.
- return
- }
- if ($isfile(temp\S_LOG.t)) .tryremove temp\S_LOG.t
- var %l,%r,%t,%f = $shortfn($gtok($window(@Logview).title,2-)), %ff = $gtok($window(@Logview).title,2-)
- var %v = $om.ticks
- set %logs.option $iif($2 == wild,wild,regex)
- if ($2 == wild) { %t = $+(*,$3-,*) }
- else { %t = $3- | %l = 1 | %r = 1 }
- if (!$window(@Logview)) { viewlog %f }
- else { window -a @Logview }
- clear @Logview
- if (d isin $1) {
- unset %logs.hit %logs.max.files %log.ticks
- set %logs.max.files $findfile($logdir,*.log,0,10)
- set %log.ticks $om.ticks
- thm_echo @logview Searching for $_wrap(%t) $+ , please wait...
- noop $findfile($logdir,*.log,0,255,search.all.logs $+(%t,$cr,$1-,$cr))
- }
- if (f isin $1) {
- thm_echo @Logview Searching for $iif(%r,regular expression) $_Wrap(%t) in $_Wrap($nopath(%ff)) $+ / $+ $_wrap($bytes($file(%f).size,3).suf)) $+ , please wait...
- aline @Logview
- if (%l) {
- .fopen search %f
- set %logs.itemsearch $left($right(%t,-1),-1)
- set %logs.item %t
- filter $+(-fwbcpg,$iif(%log.highlight == on,k),$iif(%log.prefix == on,n),%r) %f @logview %t
- unset %logs.item
- .fclose search
- }
- else {
- set %logs.itemsearch $left($right(%t,-1),-1)
- filter $+(-fwbcp,$iif(%log.highlight == on,k),$iif(%log.prefix == on,n),%r) %f $iif(%log.highlight == on,log.highlight,@logview) %t
- }
- if (%log.highlight == on) dline @logview 1
- if ($isfile(temp\S_LOG.t)) {
- .loadbuf 0 -p @logview temp\S_LOG.t
- .tryremove temp\S_LOG.t
- }
- aline @Logview
- thm_echo @Logview $iif(%r,Regular expression search,Search) for $_Wrap(%t) in $_Wrap($nopath(%ff)) $+ / $+ $_wrap($bytes($file(%f).size,3).suf) produced $_wrap($iif($filtered,$v1,$_wrap $+ 0)) results. Search completed in $_Wrap($round($calc(($om.ticks - %v)/1000),1) $+ secs) $+ .
- }
- return
- :error
- log.chkerror $error
- reseterror
- }
- alias log.highlight {
- if ($window(@logview)) .write temp\S_LOG.t $hlall($1-,%logs.itemsearch)
- return
- :error
- log.chkerror $error
- reseterror
- }
- alias hl {
- var %r = (?>\Q $+ $replacecs($2,\E,\E\\E\Q,?,\E\C\Q,*,\E\C*?\Q) $+ \E)(?!\n)
- noop $regex(hl,$+($chr(3),$color(text),$chr(44),$color(background),$1),/^(?=(?:(?! %r ).)*(\cc(\d\d?|)|(?=\co())).*?( %r ))(?=(?:(?! %r ).)*(?:\cc(?:\d\d?,(\d\d?)|)|(?=\co())).*? %r )/six)
- var %o = $+($chr(3),$or($regml(hl,2) $color(text)),$chr(44),$mid(0 $+ $or($regml(hl,4) $color(background)),-2))
- if ($regsubex(hl,$1,/( %r )/ix,$+($chr(3),$color(text),$chr(44),%logs.hl,\1,$lf,%o)) == $1) return $remove($v1,$lf)
- return $hlall($v1,$2)
- :error
- reseterror
- }
- alias hlall return $hl($1,$2)
- alias mkcol return $iif($left($1,1) != 0 && $len($1) == 1,0 $+ $1,$1)
- alias search.all.logs {
- tokenize 13 $1-
- if (!$1) || ($regex($1,/^([*?\x20\xA0])+$/)) {
- inform You can't search for that term! $crlf $+ You must input something else aswell in order to proceed.
- return
- }
- inc %logs.hit
- if (!$window(@Logview)) { window -eaz @Logview }
- else { window -a @Logview }
- if ($3) {
- .fopen search $qt($2)
- set %logs.itemsearch $left($right($1,-1),-1)
- else inform You can't search for that term! $crlf $+ You must input something else aswell in order to proceed.
- set %logs.item %t
- filter $+(-f,$iif(%log.highlight == on,k),bp,$iif(%log.prefix == on,n),%r) $qt($2) $iif(%log.highlight == on,log.highlight,@logview) $1
- unset %logs.item
- .fclose search
- }
- else {
- set %logs.itemsearch $left($right($1,-1),-1)
- filter $+(-fwbp,$iif(%log.highlight == on,k),$iif(%log.prefix == on,n),%r) $qt($2) $iif(%log.highlight == on,log.highlight,@logview) $1
- }
- inc %log.size $file($2).size
- if ($filtered) {
- set %logs.searchhit OK
- if ($isfile(temp\S_LOG.t)) {
- .loadbuf 0 -p @logview temp\S_LOG.t
- .tryremove temp\S_LOG.t
- }
- aline @Logview
- thm_echo @Logview Found $_wrap($iif($filtered,$v1,$_wrap $+ 0)) $iif($filtered == 1,match,matches) in $_Wrap($nopath($2)) $+ / $+ $_wrap($bytes($file($2).size,3).suf) $+ .
- inc %tmp.filtered $filtered
- aline @Logview
- }
- if (%logs.max.files == %logs.hit) {
- if ($line(@logview,0) == 1) {
- echo @logview
- thm_echo @logview There was no result for $_wrap($1) $+ . Search completed in $_wrap($sduration($calc(($om.ticks - %log.ticks) / 1000))) $+ .
- }
- else {
- thm_echo @logview Search for $_wrap(%logs.itemsearch) produced $_wrap($iif(%tmp.filtered,$v1,$_wrap $+ 0)) $iif(%tmp.filered == 1,result,results) in $_wrap(%logs.max.files) $iif(%logs.max.files == 1,file,files) constituting $_wrap($bytes(%log.size,3).suf) $+ . Search completed in $_wrap($duration($calc(($om.ticks - %log.ticks) / 1000))) $+ .
- dline @logview 1
- }
- unset %tmp.filtered %log.size %log.ticks
- }
- return
- :error
- log.chkerror $error
- reseterror
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement