편집 요약 없음 |
편집 요약 없음 |
||
3번째 줄: | 3번째 줄: | ||
if (document.querySelector('p.error')) return; // 오류시 종료 | if (document.querySelector('p.error')) return; // 오류시 종료 | ||
mw.loader.load('//www.librewiki.net/index.php?title=사용자:LiteHell2/kdpgp.js&action=raw&ctype=text/javascript'); | |||
mw.loader.load( | |||
// id 입력칸 | // id 입력칸 | ||
12번째 줄: | 11번째 줄: | ||
document.querySelector('table tbody').insertBefore(keybaseIdRow, document.querySelector('table tr.mw-htmlform-field-HTMLTextAreaField')); | document.querySelector('table tbody').insertBefore(keybaseIdRow, document.querySelector('table tr.mw-htmlform-field-HTMLTextAreaField')); | ||
// 이벤트 핸들러 추가 | |||
document.querySelector('form.visualClear').addEventListener('submit', function() { | |||
// | if (keybaseIdRow.querySelector('input').value.trim().length != 0) { | ||
// 키 불려오기 | |||
var req = new XMLHttpRequest(); | var req = new XMLHttpRequest(); | ||
req.open('GET', 'https://keybase.io/ | req.open('GET', 'https://keybase.io/' + keybaseIdRow.querySelector('input').value + '/key.asc', false); | ||
req. | req.send(null); | ||
if (req.status == 200) { | |||
kbpgp.KeyManager.import_form_armored_pgp({ | |||
armored: req.responseText | |||
}, function(err, alice) { | |||
if (!err) { | |||
var txtarea = document.querySelector('.mw-htmlform-field-HTMLTextAreaField textarea'); | |||
kbpgp.box({ | |||
msg: txtarea.value, | |||
encrypt_for: alice | |||
}, function(err, result_string, result_buffer) { | |||
if (!err) { | |||
txtarea.value = result_string; | |||
alert(txtarea.value); | |||
} | } | ||
}); | |||
} | |||
} | }); | ||
} | |||
} | } | ||
} | } | ||
return true; | return true; |
2015년 9월 13일 (일) 23:34 판
if (mw.config.get('wgPageName') == "특수:이메일보내기") {
(function() {
if (document.querySelector('p.error')) return; // 오류시 종료
mw.loader.load('//www.librewiki.net/index.php?title=사용자:LiteHell2/kdpgp.js&action=raw&ctype=text/javascript');
// id 입력칸
var keybaseIdRow = document.createElement("tr");
keybaseIdRow.className = "mw-htmlform-field-HTMLTextField";
keybaseIdRow.innerHTML = '<td class="mw-label"><label for="input-keybase-id">Keybase 아이디</label></td><td class="mw-input"><input id="input-keybase-id" maxlength="100" title="암호화에 사용할 Keybase Id" type="text"></input></td>';
document.querySelector('table tbody').insertBefore(keybaseIdRow, document.querySelector('table tr.mw-htmlform-field-HTMLTextAreaField'));
// 이벤트 핸들러 추가
document.querySelector('form.visualClear').addEventListener('submit', function() {
if (keybaseIdRow.querySelector('input').value.trim().length != 0) {
// 키 불려오기
var req = new XMLHttpRequest();
req.open('GET', 'https://keybase.io/' + keybaseIdRow.querySelector('input').value + '/key.asc', false);
req.send(null);
if (req.status == 200) {
kbpgp.KeyManager.import_form_armored_pgp({
armored: req.responseText
}, function(err, alice) {
if (!err) {
var txtarea = document.querySelector('.mw-htmlform-field-HTMLTextAreaField textarea');
kbpgp.box({
msg: txtarea.value,
encrypt_for: alice
}, function(err, result_string, result_buffer) {
if (!err) {
txtarea.value = result_string;
alert(txtarea.value);
}
});
}
});
}
}
return true;
});
})();
}