Support the usage of non-base64-compatible characters by URL encoding "expr"
This commit is contained in:
parent
2a1c28e041
commit
7a011ffde0
|
@ -157,7 +157,7 @@ if (filedb_exists('cache', $susp_file))
|
||||||
if (isset($_GET['profile']) && trim($_GET['profile']) != '')
|
if (isset($_GET['profile']) && trim($_GET['profile']) != '')
|
||||||
{
|
{
|
||||||
$q = trim($_GET['profile']);
|
$q = trim($_GET['profile']);
|
||||||
$q = base64_decode($q);
|
$q = urldecode(base64_decode($q));
|
||||||
$qt = null;
|
$qt = null;
|
||||||
if ($q === '<empty>') {
|
if ($q === '<empty>') {
|
||||||
$q = '';
|
$q = '';
|
||||||
|
|
|
@ -186,7 +186,7 @@ window.view.instance = {
|
||||||
profile = '<empty>';
|
profile = '<empty>';
|
||||||
else if (prof_stype === 'expr')
|
else if (prof_stype === 'expr')
|
||||||
profile = 'expr: '+profile;
|
profile = 'expr: '+profile;
|
||||||
data.profile = btoa(profile);
|
data.profile = btoa(encodeURIComponent(profile));
|
||||||
var instances = E.element('#filters-current textarea[name=instances]').value.trim();
|
var instances = E.element('#filters-current textarea[name=instances]').value.trim();
|
||||||
if (instances !== '') {
|
if (instances !== '') {
|
||||||
data.instances = instances;
|
data.instances = instances;
|
||||||
|
@ -238,7 +238,7 @@ window.view.instance = {
|
||||||
d.user_filter = 'remote';
|
d.user_filter = 'remote';
|
||||||
E.element('#filters-current input[name=user_filter][value='+d.user_filter+']').click();
|
E.element('#filters-current input[name=user_filter][value='+d.user_filter+']').click();
|
||||||
if (d.profile === undefined) d.profile = '';
|
if (d.profile === undefined) d.profile = '';
|
||||||
d.profile = atob(d.profile);
|
d.profile = decodeURIComponent(atob(d.profile));
|
||||||
if (d.profile === '<empty>')
|
if (d.profile === '<empty>')
|
||||||
E.element('#filters-current #profile-search-type-empty').click();
|
E.element('#filters-current #profile-search-type-empty').click();
|
||||||
else if (d.profile.startsWith('expr:')) {
|
else if (d.profile.startsWith('expr:')) {
|
||||||
|
@ -340,6 +340,7 @@ window.view.instance = {
|
||||||
if (js.error !== undefined) return toast.error(js.error);
|
if (js.error !== undefined) return toast.error(js.error);
|
||||||
const filter = window.view.instance.do.filter_users.get_current_filter();
|
const filter = window.view.instance.do.filter_users.get_current_filter();
|
||||||
if (filter === undefined) return;
|
if (filter === undefined) return;
|
||||||
|
const filter_profile = decodeURIComponent(atob(filter.profile));
|
||||||
E.template('users-all', function(TPL) {
|
E.template('users-all', function(TPL) {
|
||||||
var html = '';
|
var html = '';
|
||||||
for (var i = 0; i < js['data'].length; i++) {
|
for (var i = 0; i < js['data'].length; i++) {
|
||||||
|
@ -367,9 +368,9 @@ window.view.instance = {
|
||||||
for (var j = 0; j < it.fields.length; j++) {
|
for (var j = 0; j < it.fields.length; j++) {
|
||||||
var t = '<tr class="{verified}"><td>{name}</td><td>{value}</td>{verifiedColumn}</tr>';
|
var t = '<tr class="{verified}"><td>{name}</td><td>{value}</td>{verifiedColumn}</tr>';
|
||||||
t = t.replaceAll('{name}', window.view.instance.html_add_search_spans(
|
t = t.replaceAll('{name}', window.view.instance.html_add_search_spans(
|
||||||
html2text(it.fields[j].name), atob(filter.profile)));
|
html2text(it.fields[j].name), filter_profile));
|
||||||
t = t.replaceAll('{value}', window.view.instance.html_add_search_spans(
|
t = t.replaceAll('{value}', window.view.instance.html_add_search_spans(
|
||||||
html2text(it.fields[j].value), atob(filter.profile)));
|
html2text(it.fields[j].value), filter_profile));
|
||||||
t = t.replaceAll('{verified}', it.fields[j].verified_at !== undefined ? 'verified' : '');
|
t = t.replaceAll('{verified}', it.fields[j].verified_at !== undefined ? 'verified' : '');
|
||||||
t = t.replaceAll('{verifiedColumn}', it.fields[j].verified_at !== undefined ?
|
t = t.replaceAll('{verifiedColumn}', it.fields[j].verified_at !== undefined ?
|
||||||
'<td title="verified"><i class="fa fa-check fa-fw"></i></td>' : '');
|
'<td title="verified"><i class="fa fa-check fa-fw"></i></td>' : '');
|
||||||
|
@ -382,7 +383,7 @@ window.view.instance = {
|
||||||
tpl = tpl.replaceAll('{accountAdminLink}', 'javascript:void(0)');
|
tpl = tpl.replaceAll('{accountAdminLink}', 'javascript:void(0)');
|
||||||
tpl = tpl.replaceAll('{note}', it.note.trim() === '' ?
|
tpl = tpl.replaceAll('{note}', it.note.trim() === '' ?
|
||||||
'<empty>' : window.view.instance.html_add_search_spans(
|
'<empty>' : window.view.instance.html_add_search_spans(
|
||||||
html2text(it.note), atob(filter.profile)));
|
html2text(it.note), filter_profile));
|
||||||
html += tpl;
|
html += tpl;
|
||||||
}
|
}
|
||||||
return html;
|
return html;
|
||||||
|
|
Loading…
Reference in New Issue