Id: 400; Nick: Albie; Timestamp: 2007-05-28 00:35:34; Pasted as: mIRC
Description: image browser
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
on *:load: { hadd -m ImageBrowser RootDir $sdir($scriptdir,Select image browser's root directory.) }
on *:socklisten:IB-Server: {
  var %i = 1
  while ($sock(IB- $+ %i)) inc %i
  sockaccept IB- $+ %i
  if ($exists($+($scriptdir,IB-,%i,.tmp))) .remove $qt($+($scriptdir,IB-,%i,.tmp))
}
on *:sockread:IB-*: {
  var %tmp, %file
  while (1) {
    sockread %tmp
    if ($sockerr) return
    if (!$sockbr) break
    if ($gettok(%tmp,1,32) == GET) var %file = $right($regsubex($replace($gettok(%tmp,2,32),+,$chr(32)),/%([0-9A-F]{2})/ig,$chr($base(\t,16,10))),-1)
  }
  var %% = sockwrite -n $sockname 
 
  if (%file == /SendScript) return $SendScript($sockname)
  elseif ((!%file) || (. !isin %file)) return $DisplayFiles($sockname,%file)
  elseif (!$exists($hget(ImageBrowser,RootDir) $+ %file)) {
    echo -ag File not found: $hget(ImageBrowser,RootDir) $+ %file
    %% HTTP/1.x 404 Not Found
    %% Content-Type: text/html
    %% Date: $asctime(ddd $+ $chr(44) dd mmm yyyy hh:nn:ss) $gettok($asctime(zzz),-1,32)
    %% Server: ImageBrowser/1.0 (AlbieScript) mIRC/ $+ $version
    %%
    sockclose $sockname
    return
  }
  else var %file = $hget(ImageBrowser,RootDir) $+ %file
 
  %% HTTP/1.x 200 OK
  %% Date: $asctime(ddd $+ $chr(44) dd mmm yyyy hh:nn:ss) $gettok($asctime(zzz),-1,32)
  %% Server: ImageBrowser/1.0 (AlbieScript) mIRC/ $+ $version
  %% Last-Modified: $asctime($file(%file).mtime,ddd $+ $chr(44) dd mmm yyyy hh:nn:ss) $gettok($asctime($file(%file).mtime,zzz),-1,32)
  %% Content-Length: $file(%file).size
  %% Content-Type: image/jpeg
  %%
  var %size = $iif($file(%file).size < $calc(16384-$sock($sockname).sq),$v1,$v2)
  bread $qt(%file) 0 %size &data
  sockwrite -b $sockname %size &data
  sockmark $sockname %size %file
}
 
on *:sockwrite:IB-*: {
  if ($sock($sockname).mark) var %size = $gettok($v1,1,32), %file = $gettok($v1,2-,32) 
  else { sockclose $sockname | return }
 
  var %left = $file(%file).size - %size
  var %read = $iif(%left < $calc(16384-$sock($sockname).sq),$v1,$v2)
 
  if (%left == 0) { if (!$sock($sockname).sq) sockclose $sockname | return }
 
  bread $qt(%file) $calc(%size - 1) %read &data
  sockwrite -b $sockname %read &data
 
  sockmark $sockname $calc(%size + %read) %file
}
 
alias -l DisplayFiles {
  var %% = sockwrite -n $1
 
  %% <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  %% <html>
  %% <head><title>File browser</title></head>
  %% <body>
  %% <h1>Index of / $+ $2- </h1>
  %% <table>
  %% <tr><td>&nbsp;</td><td>Name</td><td>Last modified</td><td>Size</td><td>Description</td></tr>
  %% <tr><td colspan='6'><hr></td></tr>
  %% <tr><td colspan='6'>&nbsp;</td></tr>
  %% <tr><td><img src="/icons/back.gif" alt="[DIR]"></td><td><a href="/ $+ $deltok(/ $+ $2-,-1,47) $+ ">Parent Directory</a></td><td>27-Feb-2007 21:36</td><td>-</td></tr>
  /*
  <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="_private/">_private/</A>               23-Feb-2007 11:21      -  
  %% <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="cgi-bin/">cgi-bin/</A>                23-Feb-2007 11:21      -  
  %% <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="images/">images/</A>                 23-Feb-2007 11:21      -  
 
  %% <IMG SRC="/icons/text.gif" ALT="[TXT]"> <A HREF="postinfo.html">postinfo.html</A>           23-Feb-2007 11:21     2k  
  %% <IMG SRC="/icons/folder.gif" ALT="[DIR]"> <A HREF="suspended.page/">suspended.page/</A>         24-Feb-2007 00:32      -  
  %% <IMG SRC="/icons/unknown.gif" ALT="[   ]"> <A HREF="test.php">test.php</A>                27-Feb-2007 14:00     0k  
  */
  %% <tr><td colspan='6'><hr></td></tr>
  %% </table>
  %% <address>ImageBrowser/1.0 (AlbieScript) mIRC/ $+ $version Server</address>
  %% To download <a href='/GetScript'>click here</a>.
  %% </body></html>
}
 
Options: New, Download,
, mIRC Parser;
Copyright © 2006 by Zyberdog - Some rights reserved. (Browse/Disclaimer/Stats/About)