| 1 | <!DOCTYPE html> |
| 2 | <html lang="en" dir="ltr" xmlns="http://www.w3.org/1999/xhtml"> |
| 3 | <head> |
| 4 | <meta http-equiv=X-UA-Compatible content="IE=edge" /> |
| 5 | <meta content="text/html;charset=utf-8" http-equiv=Content-Type /> |
| 6 | <meta name=viewport content="user-scalable=1.0,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0" /> |
| 7 | <meta name=apple-mobile-web-app-capable content=yes /> |
| 8 | <meta name=format-detection content="telephone=no" /> |
| 9 | <meta name="robots" content="noindex,nofollow"> |
| 10 | <link type=text/css href="/styles/style.css" media="screen" rel="stylesheet" title="CSS" /> |
| 11 | {{{customCSSTags}}} |
| 12 | <link rel="apple-touch-icon" href="/favicon-303x303.png" /> |
| 13 | {{{customJSTags}}} |
| 14 | <title>{{{title1}}} - Download</title> |
| 15 | <style> |
| 16 | body { |
| 17 | background-color: cadetblue; |
| 18 | background: linear-gradient(to bottom right, #369, #036); |
| 19 | height:100%; |
| 20 | overflow:hidden; |
| 21 | } |
| 22 | |
| 23 | a:link { color: #c8c8c8; } |
| 24 | a:visited { color: #c8c8c8; } |
| 25 | a:hover { color: #c8c8c8; } |
| 26 | a:active { color: #c8c8c8; } |
| 27 | </style> |
| 28 | </head> |
| 29 | <body> |
| 30 | <img style="position:absolute;left:0;bottom:0;z-index:-1;height:60%;opacity:0.1" src="../../images/login/back.png" /> |
| 31 | <table id="centralTable" class="container" style="height:100%;z-index:1"> |
| 32 | <tr> |
| 33 | <td style="width:100%;text-align:center"> |
| 34 | <div id="message" style="display:none;color:#c8c8c8;font-size:20px"></div> |
| 35 | <table id="filetable" style="margin: 0 auto;color:#c8c8c8"> |
| 36 | <tr> |
| 37 | <td> |
| 38 | <a id=fileimagelink> |
| 39 | <img id=fileimage src="../../images/login/file48.png" title="File" width="48" height="48" style="margin-left:3px;margin-right:3px;border-radius:3px;box-shadow:2px 2px 5px black;cursor:pointer;background-color:#FFF;margin-right:8px" /> |
| 40 | </a> |
| 41 | </td> |
| 42 | <td style="text-align:left"> |
| 43 | <div id="flink" style="font-size:22px"> |
| 44 | <a id="filelink"></a> |
| 45 | </div> |
| 46 | <div id="filesize" style="font-size:16px"></div> |
| 47 | </td> |
| 48 | </tr> |
| 49 | </table> |
| 50 | </td> |
| 51 | </tr> |
| 52 | <tr style="height:20px"> |
| 53 | <td> |
| 54 | <div> |
| 55 | <div id="flink" style="margin-left:4px">{{{footer}}}</div> |
| 56 | <div id="flink" style="float:right;margin-right:4px">{{{rootCertLink}}} <a href=../../terms>Terms & Privacy</a></div> |
| 57 | </div> |
| 58 | </td> |
| 59 | </tr> |
| 60 | </table> |
| 61 | <script> |
| 62 | var random = '{{{randomlength}}}' // Random length string for BREACH mitigation |
| 63 | var messageid = parseInt('{{{messageid}}}'); |
| 64 | var fileurl = '{{{fileurl}}}'; |
| 65 | var filename = '{{{filename}}}'; |
| 66 | var filesize = parseInt('{{{filesize}}}'); |
| 67 | |
| 68 | // Quick UI functions, a bit of a replacement for jQuery |
| 69 | function Q(x) { return document.getElementById(x); } // "Q" |
| 70 | function QS(x) { try { return Q(x).style; } catch (x) { } } // "Q" style |
| 71 | function QE(x, y) { try { Q(x).disabled = !y; } catch (x) { } } // "Q" enable |
| 72 | function QV(x, y) { try { QS(x).display = (y ? '' : 'none'); } catch (x) { } } // "Q" visible |
| 73 | function QA(x, y) { Q(x).innerHTML += y; } // "Q" append |
| 74 | function QH(x, y) { Q(x).innerHTML = y; } // "Q" html |
| 75 | function QC(x) { try { return Q(x).classList; } catch (x) { } } // "Q" class |
| 76 | function format(format) { var args = Array.prototype.slice.call(arguments, 1); return format.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); }; |
| 77 | function EscapeHtml(x) { if (typeof x == 'string') return x.replace(/&/g, '&').replace(/>/g, '>').replace(/</g, '<').replace(/"/g, '"').replace(/'/g, '''); if (typeof x == 'boolean') return x; if (typeof x == 'number') return x; } |
| 78 | |
| 79 | QV('filetable', messageid == 1); |
| 80 | QV('message', messageid == 2); |
| 81 | |
| 82 | if (messageid == 1) { |
| 83 | QH('filelink', EscapeHtml(filename)); |
| 84 | Q('filelink').href = fileurl; |
| 85 | Q('fileimagelink').href = fileurl; |
| 86 | if (filesize == 1) { QH('filesize', format("1 byte")); } else { QH('filesize', format("{0} bytes", filesize)); } |
| 87 | } else if (messageid == 2) { |
| 88 | QH('message', "Invalid file link"); |
| 89 | } |
| 90 | </script> |
| 91 | </body> |
| 92 | </html> |