scratch – Diff between revs 36 and 37

Subversion Repositories:
Rev:
Only display areas with differencesIgnore whitespace
Rev 36 Rev 37
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html lang="en"> 2 <html lang="en">
3 <head> 3 <head>
4 <meta charset="utf-8"> 4 <meta charset="utf-8">
5 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 5 <meta http-equiv="X-UA-Compatible" content="IE=edge">
6 <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> 6 <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
7 <meta http-equiv="Pragma" content="no-cache" /> 7 <meta http-equiv="Pragma" content="no-cache" />
8 <meta http-equiv="Expires" content="0" /> 8 <meta http-equiv="Expires" content="0" />
9 <meta name="viewport" content="width=device-width, initial-scale=1"> 9 <meta name="viewport" content="width=device-width, initial-scale=1">
10 <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags --> 10 <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
11 <meta name="description" content="quick asset upload"> 11 <meta name="description" content="quick asset upload">
12 <meta name="author" content="Wizardry and Steamworks"> 12 <meta name="author" content="Wizardry and Steamworks">
13 <link rel="icon" href="favicon.ico"> 13 <link rel="icon" href="favicon.ico">
14   14  
15 <title>Quickload</title> 15 <title>Quickload</title>
16 16
17 <!-- Polyfill --> 17 <!-- Polyfill -->
18 <script src="js/polyfill/polyfill.min.js"></script> 18 <script src="js/polyfill/polyfill.min.js"></script>
19   19  
20 <!-- Bootstrap core CSS --> 20 <!-- Bootstrap core CSS -->
21 <link href="css/bootstrap/bootstrap.min.css" rel="stylesheet"> 21 <link href="css/bootstrap/bootstrap.min.css" rel="stylesheet">
22   22  
23 <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> 23 <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
24 <link href="css/bootstrap/ie10-viewport-bug-workaround.css" rel="stylesheet"> 24 <link href="css/bootstrap/ie10-viewport-bug-workaround.css" rel="stylesheet">
25   25  
26 <!-- Just for debugging purposes. Don't actually copy these 2 lines! --> 26 <!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
27 <!--[if lt IE 9]><script src="js/bootstrap/ie8-responsive-file-warning.js"></script><![endif]--> 27 <!--[if lt IE 9]><script src="js/bootstrap/ie8-responsive-file-warning.js"></script><![endif]-->
28 <script src="js/bootstrap/ie-emulation-modes-warning.js"></script> 28 <script src="js/bootstrap/ie-emulation-modes-warning.js"></script>
29   29  
30 <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> 30 <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
31 <!--[if lt IE 9]> 31 <!--[if lt IE 9]>
32 <script src="js/bootstrap/html5shiv.min.js"></script> 32 <script src="js/bootstrap/html5shiv.min.js"></script>
33 <script src="js/bootstrap/respond.min.js"></script> 33 <script src="js/bootstrap/respond.min.js"></script>
34 <![endif]--> 34 <![endif]-->
35 35
36 <!-- Trumbowyg --> 36 <!-- Trumbowyg -->
37 <link href="css/trumbowyg/trumbowyg.min.css" rel="stylesheet"> 37 <link href="css/trumbowyg/trumbowyg.min.css" rel="stylesheet">
38 <!-- Local style --> 38 <!-- Local style -->
39 <link href="css/text/style.css" rel="stylesheet"> 39 <link href="css/text/style.css" rel="stylesheet">
40 </head> 40 </head>
41   41  
42 <body> 42 <body>
43   43  
44 <div class="container"> 44 <div class="container">
45   45  
46 <!-- Main component for a primary marketing message or call to action --> 46 <!-- Main component for a primary marketing message or call to action -->
47 <div class="jumbotron"> 47 <div class="jumbotron">
48 <h1>Quickload</h1> 48 <h1>Quickload</h1>
49 <p>Asset sharing platform.</p> 49 <p>Asset sharing platform.</p>
50 </div> 50 </div>
51 51
52 <ul class="nav nav-tabs"> 52 <ul class="nav nav-tabs">
53 <li><a href="index.html">Home</a></li> 53 <li><a href="index.html">Home</a></li>
54 <li><a href="files.html">Files</a></li> 54 <li><a href="files.html">Files</a></li>
55 <li class="active"><a href="#">Text</a></li> 55 <li class="active"><a href="#">Text</a></li>
56 </ul> 56 </ul>
57 57
58 <div class="panel panel-default"> 58 <div class="panel panel-default">
59 <div class="panel-heading"> 59 <div class="panel-heading">
-   60 <div class="form-group">
60 <div class="input-group"> 61 <div class="input-group">
61 <input id="URL" type="text" class="form-control" readonly> -  
62 <span class="input-group-btn"> 62 <span class="input-group-btn">
63 <button id="save" class="btn btn-default" type="button"> 63 <button id="save" class="btn btn-default" type="button">
64 <i class="glyphicon glyphicon-globe"></i> 64 <i class="glyphicon glyphicon-globe"></i>
65 </button> 65 </button>
66 </span> 66 </span>
67 <span class="input-group-btn"> 67 <span class="input-group-btn">
68 <button id="clippy" class="btn btn-default" type="button" data-clipboard-target="#URL"><img class="clippy" src="img/clipboard/clippy.svg" width="13" alt="Copy to Clipboard"></button> 68 <button id="copy-url" class="btn btn-default" type="button" data-clipboard-target="#URL"><img class="clippy" src="img/clipboard/clippy.svg" width="13" alt="Copy to Clipboard"></button>
69 </span> 69 </span>
-   70 <input id="URL" type="text" class="form-control" readonly>
-   71  
70 </div> 72 </div>
71 </div> 73 </div>
-   74 <form id="nick-form" data-toggle="validator" role="form">
-   75 <div class="form-group has-feedback">
-   76 <div class="input-group">
-   77 <span class="input-group-btn">
-   78 <button id="go" class="btn btn-default" type="button">
-   79 <i class="glyphicon glyphicon-play"></i>
-   80 </button>
-   81 </span>
-   82 <span class="input-group-btn">
-   83 <button id="copy-nick" class="btn btn-default" type="button" data-clipboard-target="#nick"><img class="clippy" src="img/clipboard/clippy.svg" width="13" alt="Copy to Clipboard"></button>
-   84 </span>
-   85 <input id="nick" type="text" class="form-control" pattern="^[A-Za-z0-9]{32}$" maxlength="32" minlength="32" data-error="The fingerprint is malformed." required>
-   86 </div>
-   87 </div>
-   88 </form>
-   89 </div>
72 <div class="panel-body" id="editorpanel"> 90 <div class="panel-body" id="editorpanel">
73 <div id="trumbowyg" style="display: none; font-family: monospace;"> 91 <div id="trumbowyg" style="display: none; font-family: monospace;">
74 </div> 92 </div>
75 </div> 93 </div>
76 </div> 94 </div>
77   95  
78 </div> <!-- /container --> 96 </div> <!-- /container -->
79 97
80 <div id="footer"> 98 <div id="footer">
81 <div class="container"> 99 <div class="container">
82 <p class="text-muted credit">Copyright <i class="glyphicon glyphicon-copyright-mark"></i> 2017 <a href="http://grimore.org">Wizardry and Steamworks</a>.</p> 100 <p class="text-muted credit">Copyright <i class="glyphicon glyphicon-copyright-mark"></i> 2017 <a href="http://grimore.org">Wizardry and Steamworks</a>.</p>
83 </div> 101 </div>
84 </div> 102 </div>
85   103  
86 <script src="js/jquery/jquery.min.js"></script> 104 <script src="js/jquery/jquery.min.js"></script>
87 <script src="js/bootstrap/bootstrap.min.js"></script> 105 <script src="js/bootstrap/bootstrap.min.js"></script>
88 <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> 106 <!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
89 <script src="js/bootstrap/ie10-viewport-bug-workaround.js"></script> 107 <script src="js/bootstrap/ie10-viewport-bug-workaround.js"></script>
90 108
91 <!-- Trumbowyg --> 109 <!-- Trumbowyg -->
92 <script src="js/trumbowyg/trumbowyg.min.js"></script> 110 <script src="js/trumbowyg/trumbowyg.min.js"></script>
93 <!-- Clipboard --> 111 <!-- Clipboard -->
94 <script src="js/clipboard/clipboard.min.js"></script> 112 <script src="js/clipboard/clipboard.min.js"></script>
-   113 <!-- Fingerprint 2 -->
-   114 <script src="js/fingerprintjs/fingerprint2.min.js"></script>
-   115 <!-- js-cookie -->
-   116 <script src="js/jscookie/js.cookie.js"></script>
-   117 <!-- Bootstrap Validator -->
-   118 <script src="js/validator/validator.min.js"></script>
95 <script> 119 <script>
96 $(document).ready(() => { 120 $(document).ready(() => {
-   121 // Get the fingerprint.
-   122 new Fingerprint2().get((result, components) => {
-   123 // Set the nick as a cookie.
-   124 var nick = Cookies.get('nick');
-   125 if(!nick || nick.length !== 32)
-   126 Cookies.set('nick', result, { path: '' });
-   127 else
-   128 result = nick;
-   129
-   130 // Set the nick.
-   131 $('#nick').val(result);
-   132 new Clipboard('#copy-nick');
-   133
97 // Load the editor. 134 // Load the editor.
98 $('#trumbowyg').trumbowyg({ 135 $('#trumbowyg').trumbowyg({
99 autogrow: true, 136 autogrow: true,
100 disabled: true 137 disabled: true
101 }).on('tbwchange', () => { 138 }).on('tbwchange', () => {
102 $('#editor').trumbowyg('disable'); 139 $('#editor').trumbowyg('disable');
103 $.post('share-text.php', { 140 $.post('share-text.php', {
104 data: $('#trumbowyg').trumbowyg('html'), 141 data: $('#trumbowyg').trumbowyg('html'),
-   142 fingerprint: result,
-   143 action: 'SAVE'
-   144 }).done((data) => {
-   145 $('#trumbowyg').trumbowyg('enable');
-   146 }).fail(() => {
-   147 $('#trumbowyg').trumbowyg('enable');
-   148 });
-   149 });
-   150
-   151 // Retrieve the contents of the shared file.
-   152 $.post('share-text.php',
-   153 {
-   154 timestamp: window.performance.now(),
-   155 fingerprint: result,
-   156 action: 'LOAD'
105 }).done((data) => { 157 }).done((data) => {;
-   158 $('#trumbowyg')
-   159 .trumbowyg('html', data);
106 $('#trumbowyg').trumbowyg('enable'); 160 $('#trumbowyg').trumbowyg('enable');
-   161 $('#trumbowyg').show();
107 }).fail(() => { 162 }).fail(() => {
108 $('#trumbowyg').trumbowyg('enable'); 163 $('#trumbowyg').trumbowyg('enable');
-   164 $('#trumbowyg').show();
109 }); 165 });
110 }); -  
111 -  
112 // Retrieve the contents of the shared file. -  
113 $.get('share-text.php' + '?t=' + window.performance.now(), -  
114 { -  
115 cache: false -  
116 }).done((data) => { -  
117 $('#trumbowyg') 166
118 .trumbowyg('html', data); -  
119 $('#trumbowyg').trumbowyg('enable'); -  
120 $('#trumbowyg').show(); -  
121 }).fail(() => { -  
122 $('#trumbowyg').trumbowyg('enable'); 167 // Enable the Clipboard button.
123 $('#trumbowyg').show(); -  
124 }); -  
125 -  
126 // Enable the Clipboard button. -  
127 new Clipboard('#clippy'); 168 new Clipboard('#copy-url');
128 169
129 $('#save').click(() => { 170 $('#save').click(() => {
130 $('#editor').trumbowyg('disable'); 171 $('#editor').trumbowyg('disable');
131 172
132 var formData = new FormData(); 173 var formData = new FormData();
133 formData.append('file', new Blob( 174 formData.append('file', new Blob(
134 [ 175 [
135 $('#trumbowyg').trumbowyg('html') 176 $('#trumbowyg').trumbowyg('html')
136 ] 177 ]
137 ), 178 ),
138 '.html' 179 '.html'
139 ); 180 );
140 181
141 $.ajax({ 182 $.ajax({
142 url: 'upload-files.php', 183 url: 'upload-files.php',
143 type: 'POST', 184 type: 'POST',
144 data: formData, 185 data: formData,
145 // cache: false // FF 186 // cache: false // FF
146 processData: false, 187 processData: false,
147 contentType: false 188 contentType: false
148 }).done((data) => { 189 }).done((data) => {
-   190 $('#URL').val(data);
-   191 $('#trumbowyg').trumbowyg('enable');
-   192 }).fail(() => {
-   193 alert('failed');
-   194 $('#trumbowyg').trumbowyg('enable');
-   195 });
-   196 });
-   197
-   198 // When the user wants to assume a nickname.
-   199 $('#go').click(() => {
-   200 nick = $('#nick').val();
-   201 if(!nick || nick.length != 32)
-   202 return;
-   203 Cookies.set('nick', nick, { path: '' });
-   204
-   205 // Retrieve the contents of the shared file.
-   206 $.post('share-text.php',
-   207 {
-   208 timestamp: window.performance.now(),
-   209 fingerprint: nick,
-   210 action: 'LOAD'
-   211 }).done((data) => {;
-   212 $('#trumbowyg')
149 $('#URL').val(data); 213 .trumbowyg('html', data);
-   214 $('#trumbowyg').trumbowyg('enable');
-   215 $('#trumbowyg').show();
150 $('#trumbowyg').trumbowyg('enable'); 216 }).fail(() => {
151 }).fail(() => { 217 $('#trumbowyg').trumbowyg('enable');
152 alert('failed'); 218 $('#trumbowyg').show();
153 $('#trumbowyg').trumbowyg('enable'); 219 });
154 }); 220 });
155 }); 221 });
156 222
157 }); 223 });
158 </script> 224 </script>
159 </body> 225 </body>
160 </html> 226 </html>
161   227