OSDN Git Service

Separated HTML to the file.
[mt-acme/Lovers.git] / tmpl / loveletter_encrypt.tmpl
1 <script type="text/javascript" src="<mt:StaticWebPath />plugins/Lovers/js/CryptoCipherCamellia.js"></script>
2 <script type="text/javascript">
3 function love_letter_decrypt_<mt:Var name="love_letter_id" />(k) {
4         var j = jQuery;
5
6         if (! k) {
7                 k = '';
8         }
9
10         k = j.map(k.split(''), function(v, k) {
11                 return v.charCodeAt(0);
12         }).join('');
13         k += '00000000000000000000000000000000';
14         k = k.substr(0, 32);
15
16         var iv = '00000000000000000000000000000000';
17         var cipher = new CryptoCipherCamellia();
18         try {
19                 var cbc = new CryptoModeCBC(cipher,
20                                                                         CryptoUtil.arrayFromHex(k),
21                                                                         CryptoUtil.arrayFromHex(iv));
22                 var res = cbc.decrypt(CryptoUtil.arrayFromBase64(
23                         j.trim(j('#love_letter_encrypted_<mt:Var name="love_letter_id" />').text())
24                 ));
25                 var contents = CryptoUtil.stringFromArray(res);
26                 var match = contents.match(/^<mt:Var name="content_header" />/);
27                 if (match) {
28                         j('#love_letter_encrypted_<mt:Var name="love_letter_id" />').html(
29                                 contents.replace(/^<mt:Var name="content_header" />/, '')
30                         ).show();
31                         setTimeout(love_letter_init_form_<mt:Var name="love_letter_id" />, 0);
32                         return true;
33                 }
34                 else {
35                         alert('<__trans phrase="wrong password" />" />');
36                 }
37         }
38         catch (e) {
39                 alert(e);
40         } 
41
42         return false;
43 }
44
45 jQuery(function() {
46         var j = jQuery;
47         var k = '';
48
49         if (document.location.hash.match(/password/i)) {
50                 var prompt = j('#love_letter_prompt_<mt:Var name="love_letter_id" />');
51                 var pass = prompt.find('input[name="password"]');
52                 prompt.show();
53                 prompt.find('input[name="password_input"]').focus(function() {
54                         j(this).hide();
55                         pass.show().get(0).focus();
56                 });
57                 prompt.find('input[type="submit"]').click(function() {
58                         if (love_letter_decrypt_<mt:Var name="love_letter_id" />(pass.val())) {
59                                 prompt.hide();
60                         }
61                         return false;
62                 });
63         }
64 });
65 </script>
66 <div id="love_letter_prompt_<mt:Var name="love_letter_id" />" style="display:none">
67 <input name="password_input" value="<__trans phrase="Please input password." />" style="color: #999"/>
68 <input type="password" name="password" value="" style="display: none;"/>
69 <br />
70 <input type="submit" value="<__trans phrase="show love letter" />" />
71 </div>
72 <div id="love_letter_encrypted_<mt:Var name="love_letter_id" />" style="display:none"><mt:Var name="contents" /></div>