Commit a0daba42398968ae5142fc0198cee95f1da03908
1 parent
d0d663f9
Partial base64 and news deletion
Showing
3 changed files
with
143 additions
and
1 deletions
Show diff stats
index.php
@@ -18,6 +18,7 @@ require_once("creds.php"); | @@ -18,6 +18,7 @@ require_once("creds.php"); | ||
18 | <script type="text/javascript" src="js/bootstrap.min.js"></script> | 18 | <script type="text/javascript" src="js/bootstrap.min.js"></script> |
19 | <script type="text/javascript" src="js/whirlpool.min.js"></script> | 19 | <script type="text/javascript" src="js/whirlpool.min.js"></script> |
20 | <script type="text/javascript" src="js/crep.js"></script> | 20 | <script type="text/javascript" src="js/crep.js"></script> |
21 | + <script type="text/javascript" src="js/base64.js"></script> | ||
21 | </head> | 22 | </head> |
22 | <body> | 23 | <body> |
23 | <?php require_once("topnavbar.php");?> | 24 | <?php require_once("topnavbar.php");?> |
@@ -0,0 +1,135 @@ | @@ -0,0 +1,135 @@ | ||
1 | +var Base64 = { | ||
2 | + | ||
3 | + // private property | ||
4 | + _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", | ||
5 | + | ||
6 | + // public method for encoding | ||
7 | + encode : function (input) { | ||
8 | + var output = ""; | ||
9 | + var chr1, chr2, chr3, enc1, enc2, enc3, enc4; | ||
10 | + var i = 0; | ||
11 | + | ||
12 | + input = Base64._utf8_encode(input); | ||
13 | + | ||
14 | + while (i < input.length) { | ||
15 | + | ||
16 | + chr1 = input.charCodeAt(i++); | ||
17 | + chr2 = input.charCodeAt(i++); | ||
18 | + chr3 = input.charCodeAt(i++); | ||
19 | + | ||
20 | + enc1 = chr1 >> 2; | ||
21 | + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); | ||
22 | + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); | ||
23 | + enc4 = chr3 & 63; | ||
24 | + | ||
25 | + if (isNaN(chr2)) { | ||
26 | + enc3 = enc4 = 64; | ||
27 | + } else if (isNaN(chr3)) { | ||
28 | + enc4 = 64; | ||
29 | + } | ||
30 | + | ||
31 | + output = output + | ||
32 | + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + | ||
33 | + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); | ||
34 | + | ||
35 | + } | ||
36 | + | ||
37 | + return output; | ||
38 | + }, | ||
39 | + | ||
40 | + // public method for decoding | ||
41 | + decode : function (input) { | ||
42 | + var output = ""; | ||
43 | + var chr1, chr2, chr3; | ||
44 | + var enc1, enc2, enc3, enc4; | ||
45 | + var i = 0; | ||
46 | + | ||
47 | + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); | ||
48 | + | ||
49 | + while (i < input.length) { | ||
50 | + | ||
51 | + enc1 = this._keyStr.indexOf(input.charAt(i++)); | ||
52 | + enc2 = this._keyStr.indexOf(input.charAt(i++)); | ||
53 | + enc3 = this._keyStr.indexOf(input.charAt(i++)); | ||
54 | + enc4 = this._keyStr.indexOf(input.charAt(i++)); | ||
55 | + | ||
56 | + chr1 = (enc1 << 2) | (enc2 >> 4); | ||
57 | + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); | ||
58 | + chr3 = ((enc3 & 3) << 6) | enc4; | ||
59 | + | ||
60 | + output = output + String.fromCharCode(chr1); | ||
61 | + | ||
62 | + if (enc3 != 64) { | ||
63 | + output = output + String.fromCharCode(chr2); | ||
64 | + } | ||
65 | + if (enc4 != 64) { | ||
66 | + output = output + String.fromCharCode(chr3); | ||
67 | + } | ||
68 | + | ||
69 | + } | ||
70 | + | ||
71 | + output = Base64._utf8_decode(output); | ||
72 | + | ||
73 | + return output; | ||
74 | + | ||
75 | + }, | ||
76 | + | ||
77 | + // private method for UTF-8 encoding | ||
78 | + _utf8_encode : function (string) { | ||
79 | + string = string.replace(/\r\n/g,"\n"); | ||
80 | + var utftext = ""; | ||
81 | + | ||
82 | + for (var n = 0; n < string.length; n++) { | ||
83 | + | ||
84 | + var c = string.charCodeAt(n); | ||
85 | + | ||
86 | + if (c < 128) { | ||
87 | + utftext += String.fromCharCode(c); | ||
88 | + } | ||
89 | + else if((c > 127) && (c < 2048)) { | ||
90 | + utftext += String.fromCharCode((c >> 6) | 192); | ||
91 | + utftext += String.fromCharCode((c & 63) | 128); | ||
92 | + } | ||
93 | + else { | ||
94 | + utftext += String.fromCharCode((c >> 12) | 224); | ||
95 | + utftext += String.fromCharCode(((c >> 6) & 63) | 128); | ||
96 | + utftext += String.fromCharCode((c & 63) | 128); | ||
97 | + } | ||
98 | + | ||
99 | + } | ||
100 | + | ||
101 | + return utftext; | ||
102 | + }, | ||
103 | + | ||
104 | + // private method for UTF-8 decoding | ||
105 | + _utf8_decode : function (utftext) { | ||
106 | + var string = ""; | ||
107 | + var i = 0; | ||
108 | + var c = c1 = c2 = 0; | ||
109 | + | ||
110 | + while ( i < utftext.length ) { | ||
111 | + | ||
112 | + c = utftext.charCodeAt(i); | ||
113 | + | ||
114 | + if (c < 128) { | ||
115 | + string += String.fromCharCode(c); | ||
116 | + i++; | ||
117 | + } | ||
118 | + else if((c > 191) && (c < 224)) { | ||
119 | + c2 = utftext.charCodeAt(i+1); | ||
120 | + string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); | ||
121 | + i += 2; | ||
122 | + } | ||
123 | + else { | ||
124 | + c2 = utftext.charCodeAt(i+1); | ||
125 | + c3 = utftext.charCodeAt(i+2); | ||
126 | + string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); | ||
127 | + i += 3; | ||
128 | + } | ||
129 | + | ||
130 | + } | ||
131 | + | ||
132 | + return string; | ||
133 | + } | ||
134 | + | ||
135 | +} |
js/crep.js
@@ -18,9 +18,15 @@ function loadNewDoc(doc) { | @@ -18,9 +18,15 @@ function loadNewDoc(doc) { | ||
18 | return false | 18 | return false |
19 | } | 19 | } |
20 | 20 | ||
21 | +function deleteNewNews() | ||
22 | +{ | ||
23 | + if (confirm('Voulez vous vraiment supprimer la news ?')) | ||
24 | + $("#newNews").remove(); | ||
25 | +} | ||
26 | + | ||
21 | function addNews() | 27 | function addNews() |
22 | { | 28 | { |
23 | - var elem = "<div class=\"panel panel-default\"><div class=\"panel-heading\"><h3 class=\"panel-title\"><input type=text class=\"form-control\" placeholder=\"Nouvel article\"/></h3></div><div class=\"panel-body\"><textarea class=\"form-control\"></textarea></div><div class=\"panel-footer\"><p>En cours d'édition</p></div></div>"; | 29 | + var elem = "<div id=\"newNews\" class=\"panel panel-default\"><div class=\"panel-heading\"><h3 class=\"panel-title\"><input type=text class=\"form-control\" placeholder=\"Nouvel article\"/></h3></div><div class=\"panel-body\"><textarea class=\"form-control\"></textarea></div><div class=\"panel-footer\"><p><button type=\"button\" onClick=\"validNewNews();\" class=\"btn btn-success\">Success</button> <button type=\"button\" onClick=\"deleteNewNews();\" class=\"btn btn-danger\">Annuler</button></p></div></div>"; |
24 | $("#mainContainer").append(elem); | 30 | $("#mainContainer").append(elem); |
25 | } | 31 | } |
26 | 32 |