####################################### # urlcatcher.irc v1.0 by ceph | ceph@email.com # 08/18/11 # # code snippets from awaysys.irc by phos for file handling # and fakever.irc by blue-elf for window handling # # commands are: # /readurl - opens recorded urls in a new window. # /clearurl - physically erases the urlcatcher.log file and closes url window. ####################################### sub urlcatcherver { return "v1.0"; } sub getTime { $_time = formatDate('MM/dd hh:mm:ss'); return $_time; } sub urlViewWindow { $path = getScriptResource("urlcatcher.irc", "urlcatcher.log"); $f = openf($path); @log = readAll($f); closef($f); @logArray = array(); if (-iswindow "URL Log") { activateWindow("URL Log"); } else { $urlWin = showSortedList("URL Log", "__URLlogView", @logArray, " "); } foreach $_log (@log) { push(@logArray, $_log); } refreshData($urlWin); activateWindow("URL Log"); } on public { if ("." isin "$1-" && $nick ne $me) { if ("://" isin "$1-" || "www" isin "$1-" || "ftp" isin "$1-") { $__nick = $nick; call("writeURLLogFile PUBLIC " . $nick . ": $1-"); echo($active, "*** urlcatcher.irc: caught url in: " . $target . " from " . $nick); } } } on msg { if ("." isin "$1-" && $nick ne $me) { if ("://" isin "$1-" || "www" isin "$1-" || "ftp" isin "$1-") { $__nick = $nick; call("writeURLLogFile MSG " . $nick . ": $1-"); echo($active, "*** urlcatcher.irc: caught url in: " . $target . " from " . $nick); } } } on UNLOAD { setProperty('urlcatcher.loaded', ''); echo($active, "*** urlcatcher " . urlcatcherver() . " by ceph unloaded."); } if (getProperty('urlcatcher.loaded') eq '') { echo($active, "*** urlcatcher " . urlcatcherver() . " by ceph loaded."); echo($active, " "); echo($active, "*** /readurl - opens recorded urls in a new window."); echo($active, "*** /clearurl - physically erases the urlcatcher.log file and closes url window."); } alias writeURLLogFile { $_log = "$1-"; $ts = getTime(); $network = getServerNetwork(); $path = getScriptResource("urlcatcher.irc", "urlcatcher.log"); $x = ">> $+ $path"; $logfile = openf("$x"); @_log = readAll($logfile); println($logfile, "$network $ts $_log"); closef($logfile); } alias readurl { urlViewWindow(); } alias clearurl { $network = getServerNetwork(); $path = getScriptResource("urlcatcher.irc", "urlcatcher.log"); deleteFile("$path"); clear(@logArray); closeWindow($urlWin); echo($active, "urlcatcher.irc: url file has been erased."); }