"use strict"; function opennamu_xss_filter(str) { return str.replace(/[&<>"']/g, function(match) { switch(match) { case '&': return '&'; case '<': return '<'; case '>': return '>'; case "'": return '''; case '"': return '"'; } }); } function opennamu_xss_filter_decode(str) { return str.replace(/&|<|>|'|"/g, function(match) { switch(match) { case '&': return '&'; case '<': return '<'; case '>': return '>'; case ''': return "'"; case '"': return '"'; } }); } function opennamu_do_id_check(data) { if(data.match(/\.|\:/)) { return 0; } else { return 1; } } function opennamu_do_ip_click(obj) { if(obj.id === "") { let user_name = obj.name; fetch('/api/v2/ip_menu/' + user_name).then(function(res) { return res.json(); }).then(function(data) { data = data["data"]; let data_html = ''; for(let key in data) { for(let for_a = 0; for_a < data[key].length; for_a++) { data_html += '' + data[key][for_a][1] + ' | '; } } data_html = data_html.replace(/ \| $/g, ''); let for_a; for(for_a = 0; document.getElementById("opennamu_ip_render_" + String(for_a) + "_load"); for_a++) {} let popup_html = ''; popup_html += ''; obj.innerHTML += popup_html; obj.id = 'opennamu_ip_render_' + String(for_a); obj.onclick = ''; document.getElementById('opennamu_ip_render_' + String(for_a)).addEventListener("click", function() { opennamu_do_footnote_popover('opennamu_ip_render_' + String(for_a), '', 'opennamu_ip_tool_' + String(for_a), 'open'); }); document.addEventListener("click", function() { opennamu_do_footnote_popover('opennamu_ip_render_' + String(for_a), '', 'opennamu_ip_tool_' + String(for_a), 'close'); }); obj.click(); }); } } function opennamu_do_ip_render() { for(let for_a = 0; for_a < document.getElementsByClassName('opennamu_render_ip').length; for_a++) { let ip = document.getElementsByClassName('opennamu_render_ip')[for_a].innerHTML.replace(/&/g, '&'); fetch('/api/v2/ip/' + opennamu_do_url_encode(ip)).then(function(res) { return res.json(); }).then(function(data) { if(document.getElementsByClassName('opennamu_render_ip')[for_a].id !== "opennamu_render_end") { document.getElementsByClassName('opennamu_render_ip')[for_a].innerHTML = data["data"]; document.getElementsByClassName('opennamu_render_ip')[for_a].id = "opennamu_render_end"; } }); } } function opennamu_do_url_encode(data) { return encodeURIComponent(data); } function opennamu_cookie_split_regex(data) { return new RegExp('(?:^|; )' + data + '=([^;]*)'); } function opennamu_get_main_skin_set(set_name) { return fetch("/api/setting/" + opennamu_do_url_encode(set_name)).then(function(res) { return res.json(); }); } function opennamu_send_render(data) { if(data == '<br>' || data == '' || data.match(/^ +$/)) { data = '
'; } else { data = data.replace(/( |^)(https?:\/\/(?:[^ ]+))/g, function(m0, m1, m2) { let link_main = m2; link_main = link_main.replace('"', '"'); return m1 + '' + link_main + ''; }); data = data.replace(/<a(?:(?:(?!>).)*)>((?:(?!<\/a>).)+)<\/a>/g, function(m0, m1) { let data_unescape = opennamu_xss_filter_decode(m1) return '' + m1 + '' }) } return data; } function opennamu_insert_v(name, data) { document.getElementById(name).value = data; } function opennamu_do_trace_spread() { if(document.getElementsByClassName('opennamu_trace')) { document.getElementsByClassName('opennamu_trace')[0].innerHTML = '' + '' + '' + document.getElementsByClassName('opennamu_trace')[0].innerHTML } } function opennamu_do_render(to_obj, data, name = '', do_type = '', option = '') { let url; if(do_type === '') { url = "/api/render"; } else { url = "/api/render/" + do_type; } fetch(url, { method : 'POST', headers : { 'Content-Type': 'application/x-www-form-urlencoded' }, body : new URLSearchParams({ 'name' : name, 'data': data, 'option' : option }) }).then(function(res) { return res.json(); }).then(function(text) { if(document.getElementById(to_obj)) { if(text["data"]) { document.getElementById(to_obj).innerHTML = text["data"]; eval(text["js_data"]); } else { document.getElementById(to_obj).innerHTML = ''; } } }); } function opennamu_page_control(url, page, data_length, data_length_max = 50) { let next = function() { if(data_length_max === data_length) { return '(+)'; } else { return ''; } }; let back = function() { if(page !== 1) { return '(-)'; } else { return ''; } }; return (back() + ' ' + next()).replace(/^ /, ''); } function openamu_make_list(left = '', right = '', bottom = '') { let data_html = '
'; data_html += left; data_html += '
'; data_html += right; data_html += '
' data_html += '
'; if(bottom !== "") { data_html += '
' data_html += bottom; } data_html += '
'; data_html += '
'; return data_html; }