|
@@ -1,5 +1,39 @@
|
|
|
"use strict";
|
|
"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) {
|
|
function opennamu_do_id_check(data) {
|
|
|
if(data.match(/\.|\:/)) {
|
|
if(data.match(/\.|\:/)) {
|
|
|
return 0;
|
|
return 0;
|
|
@@ -51,6 +85,26 @@ function opennamu_get_main_skin_set(set_name) {
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+function opennamu_send_render(data) {
|
|
|
|
|
+ if(data == '<br>' || data == '' || data.match(/^ +$/)) {
|
|
|
|
|
+ data = '<br>';
|
|
|
|
|
+ } else {
|
|
|
|
|
+ data = data.replace(/( |^)(https?:\/\/(?:[^ ]+))/g, function(m0, m1, m2) {
|
|
|
|
|
+ let link_main = m2;
|
|
|
|
|
+ link_main = link_main.replace('"', '"');
|
|
|
|
|
+
|
|
|
|
|
+ return m1 + '<a href="' + link_main + '">' + link_main + '</a>';
|
|
|
|
|
+ });
|
|
|
|
|
+ data = data.replace(/<a(?:(?:(?!>).)*)>((?:(?!<\/a>).)+)<\/a>/g, function(m0, m1) {
|
|
|
|
|
+ let data_unescape = opennamu_xss_filter_decode(m1)
|
|
|
|
|
+
|
|
|
|
|
+ return '<a href="/w/' + opennamu_do_url_encode(data_unescape) + '">' + m1 + '</a>'
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return data;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
function opennamu_insert_v(name, data) {
|
|
function opennamu_insert_v(name, data) {
|
|
|
document.getElementById(name).value = data;
|
|
document.getElementById(name).value = data;
|
|
|
}
|
|
}
|
|
@@ -111,23 +165,4 @@ function opennamu_page_control(url, page, data_length, data_length_max = 50) {
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
return (next() + ' ' + back()).replace(/^ /, '');
|
|
return (next() + ' ' + back()).replace(/^ /, '');
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-function opennamu_xss_filter(str) {
|
|
|
|
|
- return str.replace(/[&<>"'\/]/g, function(match) {
|
|
|
|
|
- switch(match) {
|
|
|
|
|
- case '&':
|
|
|
|
|
- return '&';
|
|
|
|
|
- case '<':
|
|
|
|
|
- return '<';
|
|
|
|
|
- case '>':
|
|
|
|
|
- return '>';
|
|
|
|
|
- case "'":
|
|
|
|
|
- return ''';
|
|
|
|
|
- case '"':
|
|
|
|
|
- return '"';
|
|
|
|
|
- case '/':
|
|
|
|
|
- return '/';
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
}
|
|
}
|