module import and export
This commit is contained in:
+8
-8
@@ -1,9 +1,9 @@
|
||||
const serverUrl = 'https://c01.bizgaze.app/';
|
||||
const serverUrl = 'http://localhost:1188/';
|
||||
let _baseUserInfo = atob(document.cookie.split('=')[1]);
|
||||
let baseUserInfo = JSON.parse(_baseUserInfo).result;
|
||||
let baseSessionId = baseUserInfo.sessionId;
|
||||
let baseUserInfo = 'JSON.parse(_baseUserInfo).result';
|
||||
let baseSessionId = 'baseUserInfo.sessionId';
|
||||
|
||||
function getData(url) {
|
||||
export function getData(url) {
|
||||
var datastr = null;
|
||||
var method = "GET";
|
||||
let serviceurl = serverUrl + url;
|
||||
@@ -16,7 +16,7 @@ function getData(url) {
|
||||
cache: true,
|
||||
jsonp: false,
|
||||
data: datastr,
|
||||
beforeSend: function(xhr) {
|
||||
beforeSend: function (xhr) {
|
||||
if (baseUserInfo != undefined && baseUserInfo != null) {
|
||||
xhr.setRequestHeader("Authorization", "Basic " + baseSessionId);
|
||||
xhr.setRequestHeader('geoposition', 0 + ':' + 0);
|
||||
@@ -25,7 +25,7 @@ function getData(url) {
|
||||
});
|
||||
}
|
||||
|
||||
function getDataObj(url, data, async, type) { //url, data, true, "POST"
|
||||
export function getDataObj(url, data, async, type) { //url, data, true, "POST"
|
||||
|
||||
let serviceurl = serverUrl + url;
|
||||
return $.ajax({
|
||||
@@ -36,7 +36,7 @@ function getDataObj(url, data, async, type) { //url, data, true, "POST"
|
||||
traditional: true,
|
||||
crossDomain: true,
|
||||
async: async,
|
||||
beforeSend: function(xhr) {
|
||||
beforeSend: function (xhr) {
|
||||
if (baseUserInfo != undefined && baseUserInfo != null) {
|
||||
xhr.setRequestHeader('Authorization', 'Basic ' + baseSessionId);
|
||||
xhr.setRequestHeader('geoposition', 0 + ':' + 0);
|
||||
@@ -45,7 +45,7 @@ function getDataObj(url, data, async, type) { //url, data, true, "POST"
|
||||
});
|
||||
}
|
||||
|
||||
function formatLocal(dateTime) {
|
||||
export function formatLocal(dateTime) {
|
||||
var hou = new Date(dateTime).getHours(),
|
||||
sec, min, day, month, years;
|
||||
if (hou < 24) {
|
||||
|
||||
@@ -2,17 +2,17 @@ const cryptoProvider = window['CryptoJS'];
|
||||
const cryptoAlgorithm = window['CryptoJS'].AES;
|
||||
const _secretKey = 'unibase';
|
||||
|
||||
function encrypt(content) {
|
||||
export function encrypt(content) {
|
||||
return cryptoAlgorithm.encrypt(content, _secretKey).toString();
|
||||
}
|
||||
|
||||
function decrypt(encoded) {
|
||||
export function decrypt(encoded) {
|
||||
return cryptoAlgorithm
|
||||
.decrypt(encoded, _secretKey)
|
||||
.toString(cryptoProvider.enc.Utf8);
|
||||
}
|
||||
|
||||
function setCookie(cname, cvalue, exdays) {
|
||||
export function setCookie(cname, cvalue, exdays) {
|
||||
let _cookievalue = '';
|
||||
if (cvalue) {
|
||||
_cookievalue = encrypt(cvalue);
|
||||
@@ -29,7 +29,7 @@ function setCookie(cname, cvalue, exdays) {
|
||||
';path=/;samesite=none;secure=true';
|
||||
}
|
||||
|
||||
function getCookie(cname) {
|
||||
export function getCookie(cname) {
|
||||
var name = cname + '=';
|
||||
var decodedCookie = decodeURIComponent(document.cookie);
|
||||
var ca = decodedCookie.split(';');
|
||||
@@ -48,7 +48,7 @@ function getCookie(cname) {
|
||||
return '';
|
||||
}
|
||||
|
||||
function isAuthenticated() {
|
||||
export function isAuthenticated() {
|
||||
if (getCookie('_idty')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
+128
-114
@@ -1,108 +1,18 @@
|
||||
/*Data loading start here*/
|
||||
|
||||
let _userInfo = atob(document.cookie.split('=')[1]);
|
||||
let userInfo = JSON.parse(_userInfo).result;
|
||||
let sessionId = userInfo.sessionId;
|
||||
import { getData, getDataObj } from "./base.js";
|
||||
|
||||
let usrinfoHTML = `<li><a class="dropdown-item" href="javascript:void(0);">${userInfo.name}</a></li>
|
||||
<li><a class="dropdown-item" href="javascript:void(0);">Cloud Settings</a></li>
|
||||
<li><a class="dropdown-item" href="javascript:void(0);">Help</a></li>
|
||||
<li><a class="dropdown-item" href="javascript:void(0);">Logoff</a></li>`;
|
||||
$('.icn-circle').text(userInfo.name.charAt(0).toUpperCase())
|
||||
$('.uindtls').html(usrinfoHTML)
|
||||
|
||||
// List Page loading
|
||||
getData('apis/v4/unibase/reminders/platform/getunreadreminders/ReminderType/6/PageSize/20').then(function(result) {
|
||||
let response = JSON.parse(result.result);
|
||||
if (response.length != 0) { // Notifcations
|
||||
let bdyUI = '<div class="accordion" id="notifi-list">';
|
||||
for (var i = 0; i < response.length; i++) {
|
||||
bdyUI += `<li class="item-li" id="${response[i].ReminderId}" data-ref="${response[i].RedirectOptions.RefId}" data-installedAppId="${response[i].RedirectOptions.InstalledAppId}" data-formId="${response[i].RedirectOptions.CreateFormId}">
|
||||
<div class="accordion-header" id="accHeader-${response[i].ReminderId}">
|
||||
<div class="notifiListItms accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#collapse-${response[i].ReminderId}" aria-expanded="false" aria-controls="collapseOne">
|
||||
<div class="row m-0 w-100 p-0 ">
|
||||
<div class="col-1 ">
|
||||
<input class="form-check-input mx-1" type="checkbox" value="" id="flexCheckDefault">
|
||||
</div>
|
||||
<div class="col-4 text-truncate">
|
||||
<span class="mx-1">${response[i].Subject}</span>
|
||||
</div>
|
||||
<div class="col-5 text-truncate">
|
||||
<span class="mx-1">${response[i].Message}</span>
|
||||
</div>
|
||||
<div class="col-2 text-truncate">
|
||||
<span class="mx-1">${formatLocal(response[i].ReminderDate)}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="collapse-${response[i].ReminderId}" class="accordion-collapse collapse" aria-labelledby="accHeader-${response[i].ReminderId}" data-bs-parent="#notifi-list">
|
||||
<div class="accordion-body" id="accBody${response[i].ReminderId}">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>`;
|
||||
}
|
||||
bdyUI += '</div>'
|
||||
$('.bdy-ul').append(bdyUI);
|
||||
$('.notifiListItms').on('click', function() {
|
||||
let _this = $(this).parents('.item-li');
|
||||
let obj = { "FromDate": "2022/11/30", "InstalledAppId": Number($(_this).attr('data-installedAppId')), "RecordId": Number($(_this).attr('data-ref')), "ToDate": "2022/11/30" };
|
||||
//let obj = { "FromDate": "2022/11/30", "InstalledAppId": 102530270000109, "RecordId": 102533490346298, "ToDate": "2022/11/30" };
|
||||
getDataObj('apis/v4/unibase/platform/widgets/getdefaultwidget', obj, true, "POST").then(function(response) {
|
||||
let res = JSON.parse(response.result),
|
||||
html = '';
|
||||
if (response.message == '200' && response.errors == null) {
|
||||
html = `<ul class="p-0 m-0 d-flex flex-row">`;
|
||||
if (res.AppConfigurations != null && res.AppConfigurations.length > 0) {
|
||||
for (var k = 0; k < res.AppConfigurations.length; k++) {
|
||||
html += `<li class="mx-2 btn-outline-primary btn btn-sm">${res.AppConfigurations[k].SettingName}</li>`;
|
||||
}
|
||||
} else {
|
||||
html += `<li class="p-1 my-0 alert alert-danger" role="alert">
|
||||
App Configurations Not configure
|
||||
</li>`;
|
||||
}
|
||||
if (res.Stages != null) {
|
||||
for (var x = 0; x < res.Stages.length; x++) {
|
||||
if (res.Stages[x].IsDefault) {
|
||||
html += `<li class="ml-auto">
|
||||
<a class="btn btn-sm btn-secondary dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
${res.Stages[x].StageName}
|
||||
</a>
|
||||
<ul class="dropdown-menu">`;
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < res.Stages.length; i++) {
|
||||
if (!res.Stages[i].IsDefault) {
|
||||
html += `<li><a class="dropdown-item" href="javascript:void(0);">${res.Stages[i].StageName}</a></li>`;
|
||||
}
|
||||
}
|
||||
html += '</ul></li>'
|
||||
} else {
|
||||
html += `<li class="p-1 my-0 alert alert-danger ml-auto" role="alert">
|
||||
No Stages
|
||||
</li>`;
|
||||
}
|
||||
html += `</ul>`;
|
||||
} else {
|
||||
html += `<div class="alert alert-danger" role="alert">
|
||||
${response.message} ${response.errors}
|
||||
</div>`
|
||||
}
|
||||
$(_this).find('.accordion-body').html(html);
|
||||
});
|
||||
})
|
||||
}
|
||||
})
|
||||
getData('apis/v4/unibase/reminders/platform/getunreadreminders/ReminderType/1/PageSize/20').then(function(tskResp) {
|
||||
let response = JSON.parse(tskResp.result)
|
||||
if (response.length != 0) {
|
||||
let _tskhtml = '<div class="accordion" id="task-list">';
|
||||
for (var i = 0; i < response.length; i++) {
|
||||
_tskhtml += `<li class="item-li" id="${response[i].ReminderId}" data-ref="${response[i].RedirectOptions.RefId}" data-installedAppId="${response[i].RedirectOptions.InstalledAppId}" data-formId="${response[i].RedirectOptions.CreateFormId}">
|
||||
|
||||
function loadData() {
|
||||
getData('apis/v4/unibase/reminders/platform/getunreadreminders/ReminderType/6/PageSize/20').then(function (result) {
|
||||
let response = JSON.parse(result.result);
|
||||
if (response.length != 0) { // Notifcations
|
||||
let bdyUI = '<div class="accordion" id="notifi-list">';
|
||||
for (var i = 0; i < response.length; i++) {
|
||||
bdyUI += `<li class="item-li" id="${response[i].ReminderId}" data-ref="${response[i].RedirectOptions.RefId}" data-installedAppId="${response[i].RedirectOptions.InstalledAppId}" data-formId="${response[i].RedirectOptions.CreateFormId}">
|
||||
<div class="accordion-header" id="accHeader-${response[i].ReminderId}">
|
||||
<div class="tskListItms accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#collapse-${response[i].ReminderId}" aria-expanded="false" aria-controls="collapseOne">
|
||||
<div class="notifiListItms accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#collapse-${response[i].ReminderId}" aria-expanded="false" aria-controls="collapseOne">
|
||||
<div class="row m-0 w-100 p-0 ">
|
||||
<div class="col-1 ">
|
||||
<input class="form-check-input mx-1" type="checkbox" value="" id="flexCheckDefault">
|
||||
@@ -120,23 +30,127 @@ getData('apis/v4/unibase/reminders/platform/getunreadreminders/ReminderType/1/Pa
|
||||
</div>
|
||||
<div id="collapse-${response[i].ReminderId}" class="accordion-collapse collapse" aria-labelledby="accHeader-${response[i].ReminderId}" data-bs-parent="#notifi-list">
|
||||
<div class="accordion-body" id="accBody${response[i].ReminderId}">
|
||||
<ul class="p-0 m-0 d-flex flex-row justify-content-between">
|
||||
<li class="mx-2 btn-outline-success btn btn-sm">Confirm</li>
|
||||
<li class="mx-2 btn-outline-danger btn btn-sm">Reject</li>
|
||||
<li class="mx-2 btn-outline-primary btn btn-sm">Close</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>`;
|
||||
}
|
||||
bdyUI += '</div>'
|
||||
$('.bdy-ul').append(bdyUI);
|
||||
$('.notifiListItms').on('click', function () {
|
||||
let _this = $(this).parents('.item-li');
|
||||
let obj = { "FromDate": "2022/11/30", "InstalledAppId": Number($(_this).attr('data-installedAppId')), "RecordId": Number($(_this).attr('data-ref')), "ToDate": "2022/11/30" };
|
||||
//let obj = { "FromDate": "2022/11/30", "InstalledAppId": 102530270000109, "RecordId": 102533490346298, "ToDate": "2022/11/30" };
|
||||
getDataObj('apis/v4/unibase/platform/widgets/getdefaultwidget', obj, true, "POST").then(function (response) {
|
||||
let res = JSON.parse(response.result),
|
||||
html = '';
|
||||
if (response.message == '200' && response.errors == null) {
|
||||
html = `<ul class="p-0 m-0 d-flex flex-row">`;
|
||||
if (res.AppConfigurations != null && res.AppConfigurations.length > 0) {
|
||||
for (var k = 0; k < res.AppConfigurations.length; k++) {
|
||||
html += `<li class="mx-2 btn-outline-primary btn btn-sm">${res.AppConfigurations[k].SettingName}</li>`;
|
||||
}
|
||||
} else {
|
||||
html += `<li class="p-1 my-0 alert alert-danger" role="alert">
|
||||
App Configurations Not configure
|
||||
</li>`;
|
||||
}
|
||||
if (res.Stages != null) {
|
||||
for (var x = 0; x < res.Stages.length; x++) {
|
||||
if (res.Stages[x].IsDefault) {
|
||||
html += `<li class="ml-auto">
|
||||
<a class="btn btn-sm btn-secondary dropdown-toggle" href="javascript:void(0)" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
${res.Stages[x].StageName}
|
||||
</a>
|
||||
<ul class="dropdown-menu">`;
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < res.Stages.length; i++) {
|
||||
if (!res.Stages[i].IsDefault) {
|
||||
html += `<li><a class="dropdown-item" href="javascript:void(0);">${res.Stages[i].StageName}</a></li>`;
|
||||
}
|
||||
}
|
||||
html += '</ul></li>'
|
||||
} else {
|
||||
html += `<li class="p-1 my-0 alert alert-danger ml-auto" role="alert">
|
||||
No Stages
|
||||
</li>`;
|
||||
}
|
||||
html += `</ul>`;
|
||||
} else {
|
||||
html += `<div class="alert alert-danger" role="alert">
|
||||
${response.message} ${response.errors}
|
||||
</div>`
|
||||
}
|
||||
$(_this).find('.accordion-body').html(html);
|
||||
});
|
||||
})
|
||||
}
|
||||
_tskhtml += '</div>'
|
||||
$('.bdy-ul').append(_tskhtml);
|
||||
}
|
||||
});
|
||||
})
|
||||
getData('apis/v4/unibase/reminders/platform/getunreadreminders/ReminderType/1/PageSize/20').then(function (tskResp) {
|
||||
let response = JSON.parse(tskResp.result)
|
||||
if (response.length != 0) {
|
||||
let _tskhtml = '<div class="accordion" id="task-list">';
|
||||
for (var i = 0; i < response.length; i++) {
|
||||
_tskhtml += `<li class="item-li" id="${response[i].ReminderId}" data-ref="${response[i].RedirectOptions.RefId}" data-installedAppId="${response[i].RedirectOptions.InstalledAppId}" data-formId="${response[i].RedirectOptions.CreateFormId}">
|
||||
<div class="accordion-header" id="accHeader-${response[i].ReminderId}">
|
||||
<div class="tskListItms accordion-button collapsed" data-bs-toggle="collapse" data-bs-target="#collapse-${response[i].ReminderId}" aria-expanded="false" aria-controls="collapseOne">
|
||||
<div class="row m-0 w-100 p-0 ">
|
||||
<div class="col-1 ">
|
||||
<input class="form-check-input mx-1" type="checkbox" value="" id="flexCheckDefault">
|
||||
</div>
|
||||
<div class="col-4 text-truncate">
|
||||
<span class="mx-1">${response[i].Subject}</span>
|
||||
</div>
|
||||
<div class="col-5 text-truncate">
|
||||
<span class="mx-1">${response[i].Message}</span>
|
||||
</div>
|
||||
<div class="col-2 text-truncate">
|
||||
<span class="mx-1">${formatLocal(response[i].ReminderDate)}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="collapse-${response[i].ReminderId}" class="accordion-collapse collapse" aria-labelledby="accHeader-${response[i].ReminderId}" data-bs-parent="#notifi-list">
|
||||
<div class="accordion-body" id="accBody${response[i].ReminderId}">
|
||||
<ul class="p-0 m-0 d-flex flex-row justify-content-between">
|
||||
<li class="mx-2 btn-outline-success btn btn-sm">Confirm</li>
|
||||
<li class="mx-2 btn-outline-danger btn btn-sm">Reject</li>
|
||||
<li class="mx-2 btn-outline-primary btn btn-sm">Close</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>`;
|
||||
}
|
||||
_tskhtml += '</div>'
|
||||
$('.bdy-ul').append(_tskhtml);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/*Data loading start here*/
|
||||
$('.mnNvIcn').click(function() {
|
||||
$('.lft-nav-bar').toggleClass('lft-nav-bar-Wrap');
|
||||
$('.ctr-lst-pge').toggleClass('lft-nav-bar-Wrap');
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
export function initListIndex() {
|
||||
let _userInfo = atob(document.cookie.split('=')[1]);
|
||||
let userInfo = ' JSON.parse(_userInfo).result';
|
||||
let sessionId = 'userInfo.sessionId';
|
||||
|
||||
let usrinfoHTML = `<li><a class="dropdown-item" href="javascript:void(0);">${userInfo.name}</a></li>
|
||||
<li><a class="dropdown-item" href="javascript:void(0);">Cloud Settings</a></li>
|
||||
<li><a class="dropdown-item" href="javascript:void(0);">Help</a></li>
|
||||
<li><a class="dropdown-item" href="javascript:void(0);">Logoff</a></li>`;
|
||||
$('.icn-circle').text(userInfo?.name?.charAt(0)?.toUpperCase())
|
||||
$('.uindtls').html(usrinfoHTML)
|
||||
|
||||
// List Page loading
|
||||
|
||||
/*Data loading start here*/
|
||||
$('.mnNvIcn').click(function () {
|
||||
$('.lft-nav-bar').toggleClass('lft-nav-bar-Wrap');
|
||||
$('.ctr-lst-pge').toggleClass('lft-nav-bar-Wrap');
|
||||
});
|
||||
loadData();
|
||||
}
|
||||
+3
-1
@@ -1,4 +1,6 @@
|
||||
const serverUrl = 'https://test.bizgaze.app/';
|
||||
import { setCookie } from "./cookiehelper.js";
|
||||
|
||||
const serverUrl = 'http://localhost:1188/';
|
||||
const emailInputEl = document.getElementById('email');
|
||||
const passwordInputEl = document.getElementById('password');
|
||||
const emailErrEl = document.getElementById('emailErrMsg');
|
||||
|
||||
@@ -9,6 +9,14 @@
|
||||
<link rel="stylesheet" href="../assets/libs/bootstrap/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="../assets/libs/lineAwesome/1.3.0/css/line-awesome.min.css">
|
||||
<title>List Page</title>
|
||||
|
||||
<script src="../assets/js/jquery/jquery-3.6.1.min.js" defer></script>
|
||||
<script src="../assets/js/bootstrap/bootstrap.bundle.min.js" defer></script>
|
||||
<script src="../assets/js/cryptojs/cryptojs.js" defer></script>
|
||||
<script type="module" src="../assets/js/home.js" defer></script>
|
||||
<!-- <script src="../assets/js/cookiehelper.js"></script> -->
|
||||
<!-- <script src="../assets/js/base.js" defer></script> -->
|
||||
<!-- <script src="../assets/js/list.index.js" defer></script> -->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -72,6 +80,7 @@
|
||||
<ul class="m-0 p-0 bdy-ul">
|
||||
<!-- binding -->
|
||||
</ul>
|
||||
<div id="detailIframe"></div>
|
||||
</div>
|
||||
<div class="rtr-nav-bar">
|
||||
<span><i class="la la-question-circle"></i></span>
|
||||
@@ -83,29 +92,6 @@
|
||||
</div>
|
||||
</section>
|
||||
</body>
|
||||
<script src="../assets/js/jquery/jquery-3.6.1.min.js"></script>
|
||||
<script src="../assets/js/bootstrap/bootstrap.bundle.min.js"></script>
|
||||
<script src="../assets/js/base.js" async></script>
|
||||
<script src="../assets/js/list.index.js" async></script>
|
||||
|
||||
<script>
|
||||
$('#detailBtn').click(function () {
|
||||
$('.bdy-ul').addClass('d-none');
|
||||
// Unibase.Themes.Compact.Components.Notification.Instance().loadReminderDetails(105013010001972,105010260000090,'Details','null',6,0,null)
|
||||
const cookie = getCookie('_idty');
|
||||
if (cookie) {
|
||||
const {
|
||||
unibaseId,
|
||||
tenantId,
|
||||
userId
|
||||
} = JSON.parse(cookie);
|
||||
|
||||
$('#detailIframe').html(
|
||||
`<iframe width="100%" style="min-height:746px" name="srcframe" id="srcframe" class="srcframe" src="http://localhost:3088/#/${unibaseId}/${tenantId}/${userId}/105013010001972/105010260000090/'Details'/'null'/6/0/loadDetail"></iframe>`
|
||||
);
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
</html>
|
||||
+5
-2
@@ -6,17 +6,20 @@
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Bizgaze</title>
|
||||
<script src="./assets/js/cryptojs/cryptojs.js"></script>
|
||||
<script type="module" src="./assets/js/mian.js" defer></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script src="./assets/js/cookiehelper.js"></script>
|
||||
helo
|
||||
<!-- <script src="./assets/js/cookiehelper.js"></script>
|
||||
<script>
|
||||
if (isAuthenticated()) {
|
||||
window.location = './authentication';
|
||||
} else {
|
||||
window.location = './login';
|
||||
}
|
||||
</script>
|
||||
</script> -->
|
||||
</body>
|
||||
|
||||
</html>
|
||||
+5
-3
@@ -7,6 +7,10 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Login</title>
|
||||
<link rel="stylesheet" href="../assets/css/login.css">
|
||||
|
||||
<script src="../assets/js/cryptojs/cryptojs.js" defer></script>
|
||||
|
||||
<script type="module" src="../assets/js/login.js" defer></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
@@ -71,9 +75,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="../assets/js/cryptojs/cryptojs.js"></script>
|
||||
<script src="../assets/js/cookiehelper.js"></script>
|
||||
<script src="../assets/js/login.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user