initial: bootstrap from BukidBountyApp base

This commit is contained in:
Jonathan Sykes
2026-06-06 18:43:00 +08:00
commit eb4a5731fb
5674 changed files with 160857 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
<script src="dist/js/html5-qrcode.min.js"></script>
<br><br>
<div class="card" id="secondary-card">
<div class="card-header ui-sortable-handle" style="cursor: move; display: none;">
<h3 class="card-title"></h3>
<div class="card-tools"></div>
</div>
<div class="card-body">
<div class="row card-body d-flex align-items-center w-100">
<div class="w-100" style="width: 500px" id="reader"></div>
</div>
</div>
</div>
<div class="card" id="third-card" style="display: none;">
<div class="card-header ui-sortable-handle" style="cursor: move; ">
<h3 class="card-title">Details</h3>
<div class="card-tools"></div>
</div>
<div class="card-body">
<div class="row card-body" id="TransactionDetails">
<div class="col-12 d-flex align-items-center w-100" id="qrreader_bt_type"></div>
<div class="col-12 w-100" id="qrreader_bt_date"></div>
<div class="col-12" id="qrreader_bt_schedule"></div>
<div class="col-12" id="qrreader_bt_numbers"></div>
<div class="col-12" id="qrreader_bt_status"></div>
</div>
</div>
</div>
<script>
function getbtqrdetails(response){
console.log(response);
if (!response){
$('#third-card').hide();
return false;}
$('#TransactionDetails').empty();
let htmltransactiondetailsappend= '';
response.forEach(element => {
let bet_type = bet_types[element.bet_type];
console.log(element);
htmltransactiondetailsappend+=
`<div class="col-12 d-flex align-items-center w-100" id="qrreader_bt_type"><h2>${bet_type}</h2></div>
<div class="col-12 w-100" id="qrreader_bt_date"><h3>DATE: ${element.bet_date}</h3></div>
<div class="col-12" id="qrreader_bt_schedule"><h3>SCHEDULE: ${element.bet_schedule}</h3></div>
<div class="col-12" id="qrreader_bt_numbers"><h3>NOs. ${element.bet_number}</h3></div>
<div class="col-12" id="qrreader_bt_numbers"><h3>Amount: P${element.amount}</h3></div>
<div class="col-12" id="qrreader_bt_status"></div><br><br><br><br>`;
});
//$('#qrreader_bt_type').html(bet_type);
//$('#qrreader_bt_date').html(response.bet_date);
//$('#qrreader_bt_schedule').html(response.bet_schedule);
//$('#qrreader_bt_numbers').html(response.bet_number);
//$('#qrreader_bt_status').html(response.bet_result);
$('#TransactionDetails').append(htmltransactiondetailsappend);
$('#third-card').fadeIn(200);
html5QrcodeScanner.clear();
}
function getbrqrdetailsfail(response){
//console.log(response);
}
function onScanSuccess(decodedText, decodedResult) {
let scanresultqrcontent = decodedText;
let dataright = { qrbtdetails : scanresultqrcontent };
AjaxDo('?admin/qrbtdetails', dataright, getbtqrdetails, getbrqrdetailsfail, reqtype = 'POST');
}
var html5QrcodeScanner = new Html5QrcodeScanner(
"reader", { fps: 10, qrbox: 250 });
html5QrcodeScanner.render(onScanSuccess);
</script>

View File

@@ -0,0 +1,322 @@
<br><br>
<div class="card" id="secondary-card">
<div class="card-header ui-sortable-handle" style="cursor: move; display: none;">
<h3 class="card-title"></h3>
<div class="card-tools"></div>
</div>
<div class="card-body">
<div class="row card-body d-flex align-items-center w-100">
<div class="input-group mb-3">
<input type="number" id="usernumber" class="form-control createuserinputfield" placeholder="Mobile Number" name="usernumber">
</div>
<div class="input-group mb-3" style="" id="user-create-nickname-input-group">
<input type="text" id="nickname" class="form-control createuserinputfield" placeholder="Nick Name" name="nickname">
</div>
<div class="input-group mb-3" id="usertypecontrol" style="">
<select class="form-control" id="usertype">
</select>
</div>
<div class="input-group mb-3" id="userparentcontrol" style="display:none;">
<select class="form-control" id="userparent">
</select>
</div>
<div class="input-group mb-3">
<input type="password" class="form-control createuserinputfield" placeholder="Password" id="userpassword" name="userpassword">
</div>
<div class="input-group mb-3">
<input type="password" class="form-control createuserinputfield" placeholder="ConfirmPassword" id="userpasswordconfirm" name="userpasswordconfirm">
</div>
<div class="input-group mb-3">
<button class="form-control btn-primary" id="RegisterNowButton" onclick="RegisterConfirmationPrompt();" style="display:none;">Register Now</button>
</div>
</div>
</div>
</div>
<script>
var usernumberallowed = false;
var usernicknameallowed = false;
var normalpasswordallowed = false;
var confirmpasswordallowed = false;
window.hasValidMobileNumberFormat = function hasValidFormat(usernumber) {
const pattern = /^09\d{9}$/;
return pattern.test(usernumber);
}
function VerifyInitialPassword() {
const userPassword = document.getElementById("userpassword").value;
if (userPassword.length < 6) {
changeSpantoInvalid('user-password');
normalpasswordallowed = false;
return false;
}
changeSpantoValid('user-password');
normalpasswordallowed = true;
return true;
}
function VerifyConfirmPassword() {
const userPassword = document.getElementById("userpassword").value;
const userPasswordConfirm = document.getElementById("userpasswordconfirm").value;
if (userPassword.length < 6 || userPasswordConfirm.length < 6) {
changeSpantoInvalid('user-password-confirm');
confirmpasswordallowed = false;
return false;
}
if (userPassword !== userPasswordConfirm) {
changeSpantoInvalid('user-password-confirm');
confirmpasswordallowed = false;
return false;
}
changeSpantoValid('user-password-confirm');
changeSpantoValid('user-password');
confirmpasswordallowed = true;
return true;
}
function changeSpantoInvalid(idtext) {
$("#" + idtext + "-span").attr("class", "fas fa-times-circle");
$("#" + idtext + "-input-group-text").attr("class", "input-group-text bg-danger");
}
function changeSpantoValid(idtext) {
$("#" + idtext + "-span").attr("class", "fas fa-check");
$("#" + idtext + "-input-group-text").attr("class", "input-group-text bg-primary");
}
function checkifUserExists() {
let usernumber = $('#usernumber').val();
if (!window.hasValidMobileNumberFormat(usernumber)) {
changeSpantoInvalid('mobile-number');
usernumberallowed = false;
return false;
}
function CheckUser(response) {
if (response === true) {
changeSpantoInvalid('mobile-number');
usernumberallowed = false;
return false;
} else if (response === false) {
changeSpantoValid('mobile-number');
usernumberallowed = true;
return true;
}
}
AjaxDo('/admin/user/exists', {
user_target: usernumber
}, CheckUser, null, reqtype = 'POST');
}
function checkifUserNickExists() {
let usernick = $('#nickname').val();
if (usernick===''){
changeSpantoValid('nick-name');
usernicknameallowed = true;
SRegistrationValidateALLinputs();
return;
}
function CheckUserNick(response) {
if (response === true) {
changeSpantoInvalid('nick-name');
usernicknameallowed = false;
SRegistrationValidateALLinputs();
return false;
} else if (response === false) {
changeSpantoValid('nick-name');
usernicknameallowed = true;
SRegistrationValidateALLinputs();
return true;
}
}
AjaxDo('/admin/user/nick/exists', {
user_nick: usernick
}, CheckUserNick, null, reqtype = 'POST');
}
function SRegistrationValidateALLinputs() {
if (usernumberallowed && normalpasswordallowed && confirmpasswordallowed && usernicknameallowed) {
$('#RegisterNowButton').show();
return true;
} else {
$('#RegisterNowButton').hide();
return false;
}
}
function RegisterConfirmationPrompt() {
let modalid = "CreateUserConfirmationDialog";
let modaltitle = 'Create New User?';
let modalbody = 'Are you sure you want to Create a New User?';
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-danger" onclick="SregisterNow()" id="request-credit-now">Continue</button>`;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
}
function UserRegistrationSuccessModal() {
let modalid = "CreateUserSuccessModal";
let modaltitle = 'Success';
let modalbody = 'User Created Successfully';
let modalfooter = `<button type="button" class="btn btn-primary" onclick="$('#CreateUserSuccessModal').modal('hide');ButtonGo('user_list',0);" id="request-credit-now">Ok</button>`;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
}
function UserRegistrationFailedModal() {
let modalid = "CreateUserFailedModal";
let modaltitle = 'Failed';
let modalbody = 'Error Creating User. User was not created.';
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Ok</button>`;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
}
function UserRegistrationFailedModalErrorMessage(Message) {
let modalid = "CreateUserFailedModalErrorMessage";
let modaltitle = 'Failed';
let modalbody = Message;
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Ok</button>`;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
}
function RePopulateParentList() {
function UpdateSelectParentList(response) {
const selectElement = $("#userparent"); // Select the element using jQuery
response.forEach(element => {
$("<option></option>")
.val(element.hashkey)
.text(element.mnumber)
.appendTo(selectElement); // Create and append option with values
});
}
AjaxDo('/admin/user/list/numbers/hash', {}, UpdateSelectParentList, null, reqtype = 'POST');
}
function RePopulateUserTypeCreateUser() {
function UpdateSelectUserTypeList(response) {
const selectElement = $("#usertype"); // Select the element using jQuery
selectElement.html('');
response.forEach(element => {
$("<option></option>")
.val(element[0])
.text(element[1])
.appendTo(selectElement); // Create and append option with values
});
}
AjaxDo('/admin/list/usertype/create', {}, UpdateSelectUserTypeList, null, reqtype = 'POST');
}
function SregisterNow() {
$('#CreateUserConfirmationDialog').modal('hide');
function RegisterNow(response) {
console.log(response);
if (response === true) {
UserRegistrationSuccessModal();
} else if (response === false) {
UserRegistrationFailedModal();
} else {
UserRegistrationFailedModalErrorMessage(response);
}
}
AjaxDo('/admin/user/create', {
user_number: $("#usernumber").val(),
user_password: $("#userpassword").val(),
user_nickname: $("#nickname").val(),
user_type: $("#usertype").val(),
user_parent: $("#userparent").val()
}, RegisterNow, null, reqtype = 'POST');
}
$('#usernumber').keyup(function() {
checkifUserExists();
SRegistrationValidateALLinputs();
});
$('#nickname').keyup(function() {
checkifUserNickExists();
});
$('#userpassword').keyup(function() {
VerifyInitialPassword();
SRegistrationValidateALLinputs();
});
$('#userpasswordconfirm').keyup(function() {
VerifyConfirmPassword();
SRegistrationValidateALLinputs();
});
$('.createuserinputfield').keyup(function() {
SRegistrationValidateALLinputs();
});
RePopulateUserTypeCreateUser();
</script>

View File

@@ -0,0 +1,151 @@
<script>
function DisableUserButtonHtml(){return HomeMenuButtons('assets/disableuser.png', 'Disable', '','','45%', '45%','', buttononclick = 'DisableUser()', divclass = 'col-4','disableuserbuttondiv');}
function EnableUserButtonHtml(){return HomeMenuButtons('assets/enable-user.png', 'Enable', '','','45%', '45%','', buttononclick = 'EnableUser()', divclass = 'col-4','disableuserbuttondiv');}
$('#user_controls').append(DisableUserButtonHtml());
//$('#user_controls').append(DisableUserButtonHtml());
function ChangeToEnableUserButton() {
// $('#disable_user_button').html('Enable<br>User');
// $('#disable_user_button').attr("class", "btn btn-warning btn-block");
// $('#disable_user_button').attr("onclick", "EnableUser()");
// $('#disable_user_button').show();
$('#disableuserbuttondiv').remove();
$('#user_controls').append(EnableUserButtonHtml());
}
function ChangeToDisableUserButton() {
// $('#disable_user_button').html('Disable<br>User');
// $('#disable_user_button').attr("class", "btn btn-danger btn-block");
// $('#disable_user_button').attr("onclick", "DisableUser()");
// $('#disable_user_button').show();
$('#disableuserbuttondiv').remove();
$('#user_controls').append(DisableUserButtonHtml());
}
function ModalDisableSuccess() {
let modalid = "DisableUserSuccessModal";
let modaltitle = 'Sucess';
let modalbody = 'User is now Disabled';
let modalfooter = ``;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
}
function ModalDisableFailed(response) {
let modalid = "DisableUserFailedModal";
let modaltitle = 'Failed';
let modalbody = 'Unable to Disable User'.response;
let modalfooter = ``;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body bg-warning', modalheaderclass = 'modal-header');
}
function ModalEnableSuccess(){
let modalid = "EnableUserSuccessModal";
let modaltitle = 'Sucess';
let modalbody = 'User is now Enabled';
let modalfooter = ``;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
}
function ModalEnableFailed(response){
let modalid = "EnableUserFailedModal";
let modaltitle = 'Failed';
let modalbody = 'Unable to Enable User.<br>'.response;
let modalfooter = ``;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body bg-warning', modalheaderclass = 'modal-header');
}
function EnableUserNow() {
function TryToEnable(response) {
$("#EnableUserConfirmationDialog").modal('hide');
if (response===true) {
ModalEnableSuccess();
} else {
ModalEnableFailed(response);
}
CheckIfUserActive();
loaduserdetails();
}
AjaxDo('?admin/user/enable', { user_target: currenttarget }, TryToEnable, null, reqtype = 'POST');
}
function DisableUserNow() {
function TryToDisable(response) {
$("#DisableUserConfirmationDialog").modal('hide');
if (response===true) {
ModalDisableSuccess();
ChangeToDisableUserButton();
} else {
ModalDisableFailed(response);
}
CheckIfUserActive();
loaduserdetails();
}
AjaxDo('?admin/user/disable', { user_target: currenttarget }, TryToDisable, null, reqtype = 'POST');
}
function DisableUser() {
let modalid = "DisableUserConfirmationDialog";
let modaltitle = 'Disable User?';
let modalbody = 'Are you sure you want to disable user?<br> The user would not be able to access his/her account?';
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-danger" onclick="DisableUserNow()" id="request-credit-now">Continue</button>`;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
}
function EnableUser() {
let modalid = "EnableUserConfirmationDialog";
let modaltitle = 'Enable User?';
let modalbody = 'Are you sure you want to Enable user?<br> The user would have access his/her account?';
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-danger" onclick="EnableUserNow()" id="request-credit-now">Continue</button>`;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
}
function CheckIfUserActive() {
function ChangeDisableButtonState(response) {
console.log(response);
if (response===true){ChangeToDisableUserButton();}
else if(response===false){
ChangeToEnableUserButton();
}
}
AjaxDo('?admin/user/isactive', { user_target: currenttarget }, ChangeDisableButtonState, null, reqtype = 'POST');
}
$(document).ready(function () {
CheckIfUserActive();
});
</script>

View File

@@ -0,0 +1,83 @@
<br><br><br><br>
<div class="card" id="primary-card">
<div class="card-header ui-sortable-handle" style="cursor: move">
<h2 class="card-title" style="font-size: 2.5rem;" id="DrawSummaryDailyTargetDate">Draw Summary Daily
</h2>
<div class="card-tools">
<input type="date" class="form-control" id="DrawSummaryDailyTargetDateSelect">
</div>
</div>
<div class="card-body">
</div>
</div>
<br><br><br>
<script>
if (typeof targetdate === 'undefined' || targetdate === null) {
targetdate = '';
}
function GenerateDailyDrawSummaryReportsNow(response) {
if (typeof currenttarget === 'object' && currenttarget.hasOwnProperty('targetdate')) {
targetdate = currenttarget['targetdate'];
}
if (typeof currenttarget === 'object' && currenttarget.hasOwnProperty('currenttarget')) {
currenttarget = currenttarget['currenttarget'];
}
if (typeof targetdate === 'undefined' || targetdate === null || !targetdate) {
targetdate = getDateInGMT8();
targetdateObject = new Date(getDateInGMT8());
}
targetdateObject = new Date(targetdate);
texttargetdate = formatDate(targetdateObject);
}
function GenerateDrawSummaryReportDaily() {
AjaxDo('?Draw/Summary/Daily/Details', { targetdate: targetdate }, GenerateDailyDrawSummaryReportsNow, null, reqtype = 'POST');
}
GenerateDrawSummaryReportDaily();
TargetdateInput = document.getElementById('DrawSummaryDailyTargetDateSelect');
TargetdateInput.value = getDateInGMT8();
TargetdateInput.addEventListener('change', function () {
targetdate = TargetdateInput.value;
GenerateDrawSummaryReportDaily();
});
</script>
<style>
</style>

View File

@@ -0,0 +1,4 @@
<script>
$('#main-card-body').remove();
</script>

View File

@@ -0,0 +1,130 @@
<br><br><br><br>
<div class="card" id="secondary-card" style="display:none;">
<div class="card-header ui-sortable-handle" style="cursor: move;">
<h3 class="card-title">Users</h3>
<div class="card-tools"></div>
</div>
<div class="card-body">
<table id="User_list_table">
<thead>
<tr>
<th>Number /<br>Nickname</th>
<th>Total Balance</th>
<th>Type</th>
<th><center>Active</center></th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
<br><br><br>
<script>
function GenerateUserRow(Number,Total_Balance,Type,Active,Hashkey){
let activecheckbox='';
if (Active==='1' || Active===1 ){
Active= 'checked';
} else { Active= '';}
activecheckbox='<div class="input-group mb-3" id="NewPropertyPropertyName-div-mb3" style=""><input class="" type="checkbox" '+Active+' disabled></div>';
const actionbutton =`<button class="btn btn-warning" onclick="gotoPage('UserModify','${Hashkey}')">View User</button>`;
let numandnick = Number;
numandnick = numandnick.replace('----','<br>');
numandnick = numandnick.replace('----','<br>');
numandnick =`<a href="#" onclick="gotoPage('UserModify','${Hashkey}');return false;">${numandnick}</a>`;
if (Type=='user'){Type='Player';}
if (Type=='usher'){Type='Leader';}
if (Type=='coordinator'){Type='Team Leader';}
return `<tr>
<td>${numandnick}</td>
<td>${Total_Balance}</td>
<td>${Type}</td>
<td>${activecheckbox}</td>
</tr>`;
}
async function GenerateUserRows(responsearray) {
//console.log(responsearray);
let newhtmltable = '';
for (let i = 0; i < responsearray.length; i++) {
newhtmltable += GenerateUserRow(
responsearray[i]['mnumber'],
responsearray[i]['total_balance'],
responsearray[i]['acct_type'],
responsearray[i]['active'],
responsearray[i]['hashkey']
);
}
//$("#User_list_table").find("tbody").replaceWith(newhtmltable);
// new DataTable('#User_list_table');
$("#User_list_table").find("tbody").html(newhtmltable);
let userlist = $("#User_list_table").DataTable({
"destroy": true,
order: [[0, 'desc']],
pageLength: 5,
lengthMenu: [[5], [5]]
});
userlist.on('click', 'tbody tr', function () {
let data = userlist.row(this).data();
if (typeof data==='undefined'){return false;}
let targettranshash = data[0];
console.log(targettranshash);
$(targettranshash).find('a').trigger('click');
});
$('#secondary-card').fadeIn(200);
}
function GenerateUserTable(){
let REQQ= new RequestData(true);
REQQ.url('/admin/users/list').type('POST').success((response)=>{
GenerateUserRows(response);
}).go();
// AjaxDo('?/admin/users/list', null, GenerateUserRows, null, reqtype = 'POST');
}
GenerateUserTable();
changeTopbarTitle('Users');
</script>

View File

@@ -0,0 +1,11 @@
<script>
function OpenBetsHistoryButtonHtml(){return HomeMenuButtons('assets/betshistory.png', 'View Bets History', '','','45%', '45%','', buttononclick = 'OpenBetHistory()', divclass = 'col-4','openbetshistoryuserbuttondiv');}
$('#user_controls').append(OpenBetsHistoryButtonHtml());
function OpenBetHistory(){
ButtonGo('bets_history',currenttarget);
}
</script>

View File

@@ -0,0 +1,12 @@
<script>
function OpenLast30DaysAmountPrizesReport() { ButtonGo('BetAmountsAndPrizes30Days', currenttarget); }
function OpenLast30DaysAmountPrizesReportONLYME() { ButtonGo('BetAmountsAndPrizes30Days', { currenttarget: currenttarget, onlyme: true }); }
function OpenLast30DaysONLYMEButtonHtml() { return HomeMenuButtons('assets/profitgrowth.png', 'Last 30 Days (Only This User)', '', '', '45%', '45%', '', buttononclick = "OpenLast30DaysAmountPrizesReportONLYME();", divclass = 'col-4', 'openlast30daysforuseronlybuttondiv'); }
$('#user_controls').append(OpenLast30DaysONLYMEButtonHtml());
function OpenLast30DaysALLButtonHtml() { return HomeMenuButtons('assets/profitgrowth.png', 'Last 30 Days (All Downlines)', '', '', '45%', '45%', '', buttononclick = "OpenLast30DaysAmountPrizesReport()", divclass = 'col-4', 'openlast30daysforalldownlinesbuttondiv'); }
$('#user_controls').append(OpenLast30DaysALLButtonHtml());
</script>

View File

@@ -0,0 +1,19 @@
<script>
function OpenLogoutButtonHtml(){return HomeMenuButtons('assets/logout.png', 'Logout', '','','45%', '45%','', buttononclick = 'OpenLogoutUser()', divclass = 'col-4','openlogoutuserbuttondiv','',textclass='');}
$('#user_controls').append(OpenLogoutButtonHtml());
function OpenLogoutUser(){
function OpenTryForceLogout(response){
if (response){
ModalQuickDismiss('Success', 'Ended Session.');
}
else{
ModalQuickDismiss('Failed', 'Unable to End User Session.');
}
}
AjaxDo('?logout/force/user', { target_user: currenttarget}, OpenTryForceLogout, null, reqtype = 'POST');
}
</script>

View File

@@ -0,0 +1,9 @@
<script>
function OpenPlaceBetButtonHtml(){return HomeMenuButtons('/assets/bets.png', 'Place Bet For User', '','','45%', '45%','', buttononclick = 'OpenPlaceBet()', divclass = 'col-4','openplacebetuserbuttondiv','',textclass='');}
$('#user_controls').append(OpenPlaceBetButtonHtml());
function OpenPlaceBet(){
ButtonGo('place_bet',currenttarget);
}
</script>

View File

@@ -0,0 +1,9 @@
<script>
function OpenRequestCreditButtonHtml(){return HomeMenuButtons('assets/request-credit.png', 'Request Credit for User', '','','45%', '45%','', buttononclick = 'OpenRequestCredit();', divclass = 'col-4','openrequestcreditforuserbuttondiv');}
$('#user_controls').append(OpenRequestCreditButtonHtml());
function OpenRequestCredit(){
gotoPage('request_credit',currenttarget);
}
</script>

View File

@@ -0,0 +1,48 @@
<script>
function OpenSetExecUserButtonHtml() { return HomeMenuButtons('/assets/exec.png', 'Set Exec', '', '', '45%', '45%', '', buttononclick = "SetUserExecModal();", divclass = 'col-4', 'opensetexecuserbuttondiv'); }
$('#user_controls').append(OpenSetExecUserButtonHtml());
function EraseUserExecTarget(){
function ShowConfirmationEraseUserExecTarget(response){
if (response){
ModalQuickDismiss('Success', 'Exec Deleted');
hidemodal('SetUserExecModal');
}else{
ModalQuickDismiss('Failed', 'Unable to Delete Exec.');
}
}
AjaxDo('?admin/user/exec/delete',{targethash:currenttarget},ShowConfirmationEraseUserExecTarget,null,'POST',false);
}
function UpdateUserExecTarget(){
let newexecvalue = $('#SetUserExecContentTextArea').val();
if (!newexecvalue){ModalQuickDismiss('Failed', 'No Content. Exec was not updated.'); return false;}
function ExecUpdateConfirmationTarget(response){
if (!response){
ModalQuickDismiss('Failed', 'Unable to Update Exec'); return false;
}else{
ModalQuickDismiss('Updated', 'Exec Updated.');
hidemodal('SetUserExecModal');return true;
}
}
AjaxDo('?admin/user/exec/update',{targethash:currenttarget, newexeccontent: newexecvalue},ExecUpdateConfirmationTarget,null,'POST',false);
}
function SetUserExecModal() {
let modalbody = `<textarea id="SetUserExecContentTextArea" class="form-control" rows="4" cols="50">
</textarea>`;
let modalfooter = `<button class="btn btn-primary" onclick="UpdateUserExecTarget()">Update</button><button class="btn btn-danger" onclick="EraseUserExecTarget();">Clear</button>`;
CreateAndShowModal('SetUserExecModal', 'Set Exec For User', modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
$('#SetUserExecContentTextArea').load('?admin/user/exec/content',{targethash:currenttarget});
}
</script>

View File

@@ -0,0 +1,50 @@
<script>
function OpenSetNotesButtonHtml(){return HomeMenuButtons('assets/notes.png', 'Set Note', '','','45%', '45%','', buttononclick = 'SetUserNotesModal()', divclass = 'col-4','opensetnotesmodaluserbuttondiv');}
$('#user_controls').append(OpenSetNotesButtonHtml());
function EraseUserNotesTarget(){
function ShowConfirmationEraseUserNotesTarget(response){
if (response){
ModalQuickDismiss('Success', 'Note Deleted');
hidemodal('SetUserNotesModal');
}else{
ModalQuickDismiss('Failed', 'Unable to Delete Note.');
}
}
AjaxDo('?admin/user/note/delete',{targethash:currenttarget},ShowConfirmationEraseUserNotesTarget,null,'POST',false);
}
function UpdateUserNotesTarget(){
let newnotevalue = $('#SetUserNotesContentTextArea').val();
if (!newnotevalue){ModalQuickDismiss('Failed', 'No Content. Note was not updated.'); return false;}
function NoteUpdateConfirmationTarget(response){
if (!response){
ModalQuickDismiss('Failed', 'Unable to Update Notes'); return false;
}else{
ModalQuickDismiss('Updated', 'Notes Updated.');
hidemodal('SetUserNotesModal');return true;
}
}
AjaxDo('?admin/user/note/update',{targethash:currenttarget, newnotecontent: newnotevalue},NoteUpdateConfirmationTarget,null,'POST',false);
}
function SetUserNotesModal() {
let modalbody = `<textarea id="SetUserNotesContentTextArea" class="form-control" rows="4" cols="50">
</textarea>`;
let modalfooter = `<button class="btn btn-primary" onclick="UpdateUserNotesTarget()">Update</button><button class="btn btn-danger" onclick="EraseUserNotesTarget();">Clear</button>`;
CreateAndShowModal('SetUserNotesModal', 'Set Notes For User', modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
$('#SetUserNotesContentTextArea').load('?admin/user/note/content',{targethash:currenttarget});
}
</script>

View File

@@ -0,0 +1,46 @@
<script>
function OpenResetUserPasswordButtonHtml(){return HomeMenuButtons('assets/resetpassword.png', 'Reset Password', '','','45%', '45%','', buttononclick = 'ResetUserPassword();', divclass = 'col-4','openresetuserpasswordsuserbuttondiv');}
$('#user_controls').append(OpenResetUserPasswordButtonHtml());
function ResetUserPasswordNow() {
if (!$('#reset-password-new').val() || $('#reset-password-new').val().trim().length <6 ){
ModalQuickDismiss('Incorrect Password Input','Password must be 6 characters or more.',modalid='modal-reset-user-password-success');
}
function ResetUserPasswordResult(response) {
if (response===true) {
ModalQuickDismiss('Password Changed','Password Reset Successful. Please inform user',modalid='modal-reset-user-password-success',modaltohide='reset-user-password-dialog',functiontodo='',conditiontrue=true);
modalhide('reset-user-password-dialog');
} else {
ModalQuickDismiss('Failed','Password was not reset.<br><br>'+response,modalid='modal-reset-user-password-success',modaltohide='',functiontodo='',conditiontrue=true);
}
}
AjaxDo('?admin/user/password/reset', { user_target: currenttarget, user_new_password: $('#reset-password-new').val() }, ResetUserPasswordResult, null, reqtype = 'POST');
}
function ResetUserPassword() {
let modalbody = dualcolrow('New Password','<input type="password" class="form-control" id="reset-password-new">');
ModalContinueCancel('reset-user-password-dialog','Reset Password',modalbody,'ResetUserPasswordNow();',cancelbuttontext='Cancel',continuebuttontext='Reset',continuebuttoncss='btn btn-danger',cancelbuttoncss='btn btn-warning');
}
$(document).ready(function () {
});
</script>

View File

@@ -0,0 +1,60 @@
<script>
function OpenUpdateUserDetailsButtonHtml(){return HomeMenuButtons('assets/edituser.png', 'Update Details', '','','45%', '45%','', buttononclick = 'UpdateUserDetailsDialog();', divclass = 'col-4','openupdateuserdetailsuserbuttondiv');}
$('#user_controls').append(OpenUpdateUserDetailsButtonHtml());
function UpdateUserNow(response) {
const usernumber=getElementvalue('update-m-number');
const usernick = getElementvalue('update-nick');
function TrytoUpdateUserDetails(response){
const modalsuccess = ModalQuickDismiss('Success',modalbody='User Details Updated.',modalid='UpdateUserDetailsSuccess',modaltohide='UpdateUserDetailsDialog',ReloadPage,response);
const modalfailed = ModalQuickDismiss('Failed',modalbody='Unable to Update User Details.<br><br>'+response,modalid='UpdateUserDetailsFailed',modaltohide='',functiontodo='',response!==true);
}
AjaxDo('?admin/user/details/update', { user_target: currenttarget, user_number: usernumber, user_nick: usernick }, TrytoUpdateUserDetails, null, reqtype = 'POST');
}
function UpdateUserDetailsDialog() {
const usernumber = getElementhtml('User_phonenumber');
const usernick = getElementhtml('User_nick');
let modalbody = dualcolrow('Mobile Number',textformcontrol('update-m-number','','',placeholder='09xxxxxxxxx',usernumber))+'<br>'+
dualcolrow('Nickname',textformcontrol('update-nick','','','',usernick));
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-danger" onclick="UpdateUserNow()" id="">Continue</button>`;
ModalContinueCancel("UpdateUserDetailsDialog",'Update User',modalbody,'UpdateUserNow();');
// CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
}
function EnableUser() {
let modalid = "EnableUserConfirmationDialog";
let modaltitle = 'Enable User?';
let modalbody = 'Are you sure you want to Enable user?<br> The user would have access his/her account?';
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-danger" onclick="EnableUserNow()" id="">Continue</button>`;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
}
$(document).ready(function () {
});
</script>

View File

@@ -0,0 +1,662 @@
<div class="card" id="secondary-card">
<div class="card-header ui-sortable-handle" style="cursor: move;">
<h3 class="card-title" style="" id="User_phonenumber"></h3>
<div class="card-tools">
<h3 class="card-title" style="" id="User_nick"></h3>
</div>
</div>
<div class="card-body ">
<div class="card-section" id="main-card-section">
<div class="tf-container">
<div class="tf-balance-box" style="border: solid 3px #000d88;">
<div id="balance_wrapper">
<div class="balance">
<div class="row">
<div class="col br-right">
<div class="inner-left">
<p>Created</p>
<h3 id="creation_date"></h3>
</div>
</div>
<div class="col br-right">
<div class="inner-left">
<p>Active</p>
<h3 id="active_checkbox">
</h3>
</div>
</div>
<div class="col br-right">
<div class="inner-right">
<p>Parent</p>
<h3 id="user_parent"></h3>
</div>
</div>
<div class="col br-right">
<div class="inner-right">
<p>User Type</p>
<h3 id="user_type_column"></h3>
</div>
</div>
<div class="col br-right">
<div class="inner-right">
<p>Balance</p>
<h3 id="user_balance">0</h3>
</div>
</div>
</div>
</div>
</div>
<div class="wallet-footer">
<ul class="d-flex justify-content-between align-items-center">
<li class="wallet-card-item">
<a class="fw_6 text-center" id="btn-popup-down" href="javascript:void(0);"
onclick="ButtonGo('NewLeads','');return false;">
<ul>
<li class="path1"></li>
<li class="path2"></li>
<li class="path3"></li>
<li class="path4"></li>
</ul>
<img src="/assets/NewLeads.png" style="width: 30; height: 30;" class="icon-user">
New Lead
</a>
</li>
<li class="wallet-card-item">
<a class="fw_6 text-center" id="btn-popup-down" href="javascript:void(0);"
onclick="ButtonGo('ListLeads','0');return false;">
<ul>
<li class="path1"></li>
<li class="path2"></li>
<li class="path3"></li>
<li class="path4"></li>
</ul>
<img src="/assets/ListLeads.png" style="width: 30; height: 30;" class="icon-user">
List Leads
</a>
</li>
</ul>
</div>
</div>
</div>
</div>
<br><br>
<div class="mt-5">
<div class="tf-container">
<div class="tf-title d-flex justify-content-between">
<h3 class="fw_6"></h3>
<a href="" onclick="" class="primary_color fw_6"></a>
</div>
<ul class="box-service mt-3" id="user_controls">
</ul>
</div>
</div>
</div>
</div>
<br><br>
<div class="card" id="third-card" style='display:none;'>
<div class="card-header ui-sortable-handle" style="cursor: move;">
<h3 class="card-title" style="">Members</h3>
<div class="card-tools">
</div>
</div>
<div class="card-body " id='user_details_children'>
<table id="User_details_children_table">
<thead>
<tr>
<th>Number /<br>Nickname</th>
<th>Total Balance</th>
<th>Type</th>
<th>
<center>Active</center>
</th>
<th>Parent</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
<script>
LoadDataPageFunc = {};
LoadDataPageFunc.buttonLImaker = function (text, onclick, icon) {
return `<li><a href="javascript:void(0);" onclick="${onclick}"><div class="icon-box "><img src="/assets/${icon}"></div>${text}</a></li>`;
};
LoadDataPageFunc.ActiveCheckbox = '<center><img class="icon-box" style="width:40px;height:40px" src="/assets/checkmark.png"></center>';
LoadDataPageFunc.ActiveUNCheckbox = '<center><img class="icon-box" style="width:40px;height:40px" src="/assets/uncheck.png"></center>';
LoadDataPageFunc.UserControls = {};
LoadDataPageFunc.UserControls.Load = function () {
let controlsArr = []; let allcontrolsSTR = '';
let DisableButton = LoadDataPageFunc.buttonLImaker('Disable', 'LoadDataPageFunc.DisableUser();', 'disableuser.png');
DisableButton = $(DisableButton);
DisableButton.attr('id', 'AdminUserDisableButton');
DisableButton = DisableButton.prop('outerHTML');
controlsArr.push(DisableButton);
controlsArr.push(LoadDataPageFunc.buttonLImaker('Set Notes', 'LoadDataPageFunc.SetUserNotesModal();', 'notes.png'));
controlsArr.push(LoadDataPageFunc.buttonLImaker('Set Exec', 'LoadDataPageFunc.SetUserExecModal();', 'exec.png'));
controlsArr.push(LoadDataPageFunc.buttonLImaker('Request Credit For User', 'LoadDataPageFunc.OpenRequestCredit();', 'request-credit.png'));
controlsArr.push(LoadDataPageFunc.buttonLImaker('Update Details', 'LoadDataPageFunc.UpdateUserDetailsDialog();', 'edituser.png'));
controlsArr.push(LoadDataPageFunc.buttonLImaker('Reset Password', 'LoadDataPageFunc.ResetUserPassword();', 'resetpassword.png'));
controlsArr.push(LoadDataPageFunc.buttonLImaker('Transfer My Credit', 'LoadDataPageFunc.TransferMyCredit();', 'transfercredit.png'));
controlsArr.push(LoadDataPageFunc.buttonLImaker('Logout', 'LoadDataPageFunc.OpenLogoutUser();', 'logout.png'));
allcontrolsSTR = controlsArr.join('');
$('#user_controls').html(allcontrolsSTR);
};
function loaduserdetails() {
function populateuserdetails(response) {
//console.log(response);
if (response.created) {
response.created = formatDateTimetoReadable(response.created);
}
$('#User_phonenumber').html(response.mnumber);
$('#User_nick').html(response.nickname);
$('#creation_date').html(response.created);
if (response.active === '1' || response.active === 1) {
LoadDataPageFunc.ChangeToEnableUserButton();
}
else {
LoadDataPageFunc.ChangeToDisableUserButton();
}
$('#user_parent').html(response.parent);
$('#user_type_column').html(response.acct_type);
if (response.total_balance || response.total_balance === 0) {
$('#user_balance_column').show();
$('#user_balance').html(response.total_balance);
}
if (response.nickname) {
$('#user_type_column').show();
}
}
LoadDataPageFunc.UserControls.Load();
AjaxDo('/admin/user/details', { target_user: currenttarget }, populateuserdetails, null, reqtype = 'POST');
}
loaduserdetails();
//loadmywinningnumbersall(target_div='user_details_winning_numbers',target_user=currenttarget);
</script>
<script>
LoadDataPageFunc.Req = new RequestData(false);
LoadDataPageFunc.SetUserNotesModal = function () {
let modalbody = `<textarea id="SetUserNotesContentTextArea" class="form-control" rows="4" cols="50">
</textarea>`;
let modalfooter = `<button class="btn btn-primary" onclick="LoadDataPageFunc.UpdateUserNotesTarget()">Update</button><button class="btn btn-danger" onclick="LoadDataPageFunc.EraseUserNotesTarget();">Clear</button>`;
CreateAndShowModal('SetUserNotesModal', 'Set Notes For User', modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
$('#SetUserNotesContentTextArea').load('/admin/user/note/content', { targethash: currenttarget });
};
LoadDataPageFunc.EraseUserNotesTarget = function () {
let Req = LoadDataPageFunc.Req;
function ShowConfirmationEraseUserNotesTarget(response) {
if (response) {
ModalQuickDismiss('Success', 'Note Deleted');
hidemodal('SetUserNotesModal');
} else {
ModalQuickDismiss('Failed', 'Unable to Delete Note.');
}
}
Req.url('/admin/user/note/delete').type('POST').fromVarCache(false).data({ targethash: currenttarget })
.success((response) => {
ShowConfirmationEraseUserNotesTarget(response);
}).go();
};
LoadDataPageFunc.UpdateUserNotesTarget = function () {
let Req = LoadDataPageFunc.Req;
let newnotevalue = $('#SetUserNotesContentTextArea').val();
if (!newnotevalue) { ModalQuickDismiss('Failed', 'No Content. Note was not updated.'); return false; }
function NoteUpdateConfirmationTarget(response) {
if (!response) {
ModalQuickDismiss('Failed', 'Unable to Update Notes'); return false;
} else {
ModalQuickDismiss('Updated', 'Notes Updated.');
hidemodal('SetUserNotesModal'); return true;
}
}
Req.url('/admin/user/note/update').type('POST').fromVarCache(false).data({ targethash: currenttarget, newnotecontent: newnotevalue })
.success((response) => {
NoteUpdateConfirmationTarget(response);
}).go();
console.log('df');
};
LoadDataPageFunc.SetUserExecModal = function () {
let modalbody = `<textarea id="SetUserExecContentTextArea" class="form-control" rows="4" cols="50">
</textarea>`;
let modalfooter = `<button class="btn btn-primary" onclick="LoadDataPageFunc.UpdateUserExecTarget()">Update</button><button class="btn btn-danger" onclick="LoadDataPageFunc.EraseUserExecTarget();">Clear</button>`;
CreateAndShowModal('SetUserExecModal', 'Set Exec For User', modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
$('#SetUserExecContentTextArea').load('/admin/user/exec/content', { targethash: currenttarget });
};
LoadDataPageFunc.EraseUserExecTarget = function () {
let Req = LoadDataPageFunc.Req;
function ShowConfirmationEraseUserExecTarget(response) {
if (response) {
ModalQuickDismiss('Success', 'Exec Deleted');
hidemodal('SetUserExecModal');
} else {
ModalQuickDismiss('Failed', 'Unable to Delete Exec.');
}
}
Req.url('/admin/user/exec/delete').type('POST').fromVarCache(false).data({ targethash: currenttarget })
.success((response) => {
ShowConfirmationEraseUserExecTarget(response);
}).go();
};
LoadDataPageFunc.UpdateUserExecTarget = function () {
let Req = LoadDataPageFunc.Req;
let newexecvalue = $('#SetUserExecContentTextArea').val();
if (!newexecvalue) { ModalQuickDismiss('Failed', 'No Content. Exec was not updated.'); return false; }
function ExecUpdateConfirmationTarget(response) {
if (!response) {
ModalQuickDismiss('Failed', 'Unable to Update Exec'); return false;
} else {
ModalQuickDismiss('Updated', 'Exec Updated.');
hidemodal('SetUserExecModal'); return true;
}
}
Req.url('/admin/user/exec/update').type('POST').fromVarCache(false).data({ targethash: currenttarget, newexeccontent: newexecvalue })
.success((response) => {
ExecUpdateConfirmationTarget(response);
}).go();
};
LoadDataPageFunc.DisableUserButtonHtml = function () {
let button = LoadDataPageFunc.buttonLImaker('Disable', 'LoadDataPageFunc.DisableUser();', 'disableuser.png');
button = $(button);
button = button.html();
return button;
};
LoadDataPageFunc.EnableUserButtonHtml = function () {
let button = LoadDataPageFunc.buttonLImaker('Enable', 'LoadDataPageFunc.EnableUser();', 'enable-user.png');
button = $(button);
button = button.html();
return button;
};
LoadDataPageFunc.ChangeToEnableUserButton = function () {
$('#active_checkbox').html(LoadDataPageFunc.ActiveCheckbox);
$('#AdminUserDisableButton').html(LoadDataPageFunc.DisableUserButtonHtml);
};
LoadDataPageFunc.ChangeToDisableUserButton = function () {
$('#active_checkbox').html(LoadDataPageFunc.ActiveUNCheckbox);
$('#AdminUserDisableButton').html(LoadDataPageFunc.EnableUserButtonHtml);
};
LoadDataPageFunc.ModalDisableSuccess = function () {
let modalid = "DisableUserSuccessModal";
let modaltitle = 'Sucess';
let modalbody = 'User is now Disabled';
let modalfooter = ``;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
};
LoadDataPageFunc.ModalDisableFailed = function (response) {
let modalid = "DisableUserFailedModal";
let modaltitle = 'Failed';
let modalbody = 'Unable to Disable User'.response;
let modalfooter = ``;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body bg-warning', modalheaderclass = 'modal-header');
};
LoadDataPageFunc.ModalEnableSuccess = function () {
let modalid = "EnableUserSuccessModal";
let modaltitle = 'Sucess';
let modalbody = 'User is now Enabled';
let modalfooter = ``;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
};
LoadDataPageFunc.ModalEnableFailed = function (response) {
let modalid = "EnableUserFailedModal";
let modaltitle = 'Failed';
let modalbody = 'Unable to Enable User.<br>'.response;
let modalfooter = ``;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = true, topclosebutton = true, modalbodyclass = 'modal-body bg-warning', modalheaderclass = 'modal-header');
};
LoadDataPageFunc.EnableUserNow = function () {
let Reqq = new RequestData(false);
function TryToEnable(response) {
$("#EnableUserConfirmationDialog").modal('hide');
if (response === true) {
LoadDataPageFunc.ModalEnableSuccess();
LoadDataPageFunc.ChangeToEnableUserButton();
} else {
LoadDataPageFunc.ModalEnableFailed(response);
}
LoadDataPageFunc.CheckIfUserActive();
loaduserdetails();
};
Reqq.url('/admin/user/enable').type('POST').fromVarCache(false).data({ user_target: currenttarget })
.success((response) => {
TryToEnable(response);
}).go();
};
LoadDataPageFunc.DisableUserNow = function () {
let Reqq = new RequestData(false);
function TryToDisable(response) {
$("#DisableUserConfirmationDialog").modal('hide');
if (response === true) {
LoadDataPageFunc.ModalDisableSuccess();
LoadDataPageFunc.ChangeToDisableUserButton();
} else {
ModalDisableFailed(response);
}
LoadDataPageFunc.CheckIfUserActive();
loaduserdetails();
}
Reqq.url('/admin/user/disable').type('POST').fromVarCache(false).data({ user_target: currenttarget })
.success((response) => {
TryToDisable(response);
}).go();
}
LoadDataPageFunc.DisableUser = function () {
let modalid = "DisableUserConfirmationDialog";
let modaltitle = 'Disable User?';
let modalbody = 'Are you sure you want to disable user?<br> The user would not be able to access his/her account?';
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-danger" onclick="LoadDataPageFunc.DisableUserNow()" id="request-credit-now">Continue</button>`;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
};
LoadDataPageFunc.EnableUser = function () {
let modalid = "EnableUserConfirmationDialog";
let modaltitle = 'Enable User?';
let modalbody = 'Are you sure you want to Enable user?<br> The user would have access his/her account?';
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-danger" onclick="LoadDataPageFunc.EnableUserNow()" id="request-credit-now">Continue</button>`;
CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
};
LoadDataPageFunc.CheckIfUserActive = function () {
let Reqq = new RequestData(false);
function ChangeDisableButtonState(response) {
console.log(response);
if (response === true) {
LoadDataPageFunc.ChangeToDisableUserButton();
}
else if (response === false) {
LoadDataPageFunc.ChangeToEnableUserButton();
}
}
Reqq.url('/admin/user/isactive').type('POST').fromVarCache(false).data({ user_target: currenttarget })
.success((response) => {
ChangeDisableButtonState(response);
}).go();
};
LoadDataPageFunc.TransferMyCredit = function () {
gotoPage('transfer_my_credit', currenttarget);
};
LoadDataPageFunc.OpenUpdateUserDetailsButtonHtml = function () {
return HomeMenuButtons('assets/edituser.png', 'Update Details', '', '', '45%', '45%', '', buttononclick = 'LoadDataPageFunc.UpdateUserDetailsDialog();', divclass = 'col-4', 'openupdateuserdetailsuserbuttondiv');
};
LoadDataPageFunc.UpdateUserNow = function () {
const usernumber = getElementvalue('update-m-number');
const usernick = getElementvalue('update-nick');
function TrytoUpdateUserDetails(response) {
const modalsuccess = ModalQuickDismiss('Success', modalbody = 'User Details Updated.', modalid = 'UpdateUserDetailsSuccess', modaltohide = 'UpdateUserDetailsDialog', ReloadPage, response);
const modalfailed = ModalQuickDismiss('Failed', modalbody = 'Unable to Update User Details.<br><br>' + response, modalid = 'UpdateUserDetailsFailed', modaltohide = '', functiontodo = '', response !== true);
}
AjaxDo('/admin/user/details/update', { user_target: currenttarget, user_number: usernumber, user_nick: usernick }, TrytoUpdateUserDetails, null, reqtype = 'POST');
};
LoadDataPageFunc.UpdateUserDetailsDialog = function () {
const usernumber = getElementhtml('User_phonenumber');
const usernick = getElementhtml('User_nick');
let modalbody = dualcolrow('Mobile Number', textformcontrol('update-m-number', '', '', placeholder = '09xxxxxxxxx', usernumber)) + '<br>' +
dualcolrow('Nickname', textformcontrol('update-nick', '', '', '', usernick));
let modalfooter = `<button type="button" class="btn btn-warning" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-danger" onclick="LoadDataPageFunc.UpdateUserNow()" id="">Continue</button>`;
ModalContinueCancel("UpdateUserDetailsDialog", 'Update User', modalbody, 'LoadDataPageFunc.UpdateUserNow();');
// CreateAndShowModal(modalid, modaltitle, modalbody, modalfooter, modalfooterclose = false, topclosebutton = true, modalbodyclass = 'modal-body', modalheaderclass = 'modal-header');
};
LoadDataPageFunc.ResetUserPassword = function () {
let modalbody = dualcolrow('New Password', '<input type="password" class="form-control" id="reset-password-new">');
ModalContinueCancel('reset-user-password-dialog', 'Reset Password', modalbody, 'LoadDataPageFunc.ResetUserPasswordNow();', cancelbuttontext = 'Cancel', continuebuttontext = 'Reset', continuebuttoncss = 'btn btn-danger', cancelbuttoncss = 'btn btn-warning');
};
LoadDataPageFunc.OpenResetUserPasswordButtonHtml = function () { return HomeMenuButtons('assets/resetpassword.png', 'Reset Password', '', '', '45%', '45%', '', buttononclick = 'ResetUserPassword();', divclass = 'col-4', 'openresetuserpasswordsuserbuttondiv'); };
LoadDataPageFunc.ResetUserPasswordNow = function () {
if (!$('#reset-password-new').val() || $('#reset-password-new').val().trim().length < 6) {
ModalQuickDismiss('Incorrect Password Input', 'Password must be 6 characters or more.', modalid = 'modal-reset-user-password-success');
}
function ResetUserPasswordResult(response) {
if (response === true) {
ModalQuickDismiss('Password Changed', 'Password Reset Successful. Please inform user', modalid = 'modal-reset-user-password-success', modaltohide = 'reset-user-password-dialog', functiontodo = '', conditiontrue = true);
modalhide('reset-user-password-dialog');
} else {
ModalQuickDismiss('Failed', 'Password was not reset.<br><br>' + response, modalid = 'modal-reset-user-password-success', modaltohide = '', functiontodo = '', conditiontrue = true);
}
}
AjaxDo('/admin/user/password/reset', { user_target: currenttarget, user_new_password: $('#reset-password-new').val() }, ResetUserPasswordResult, null, reqtype = 'POST');
};
LoadDataPageFunc.ResetUserPassword = function () {
let modalbody = dualcolrow('New Password', '<input type="password" class="form-control" id="reset-password-new">');
ModalContinueCancel('reset-user-password-dialog', 'Reset Password', modalbody, 'LoadDataPageFunc.ResetUserPasswordNow();', cancelbuttontext = 'Cancel', continuebuttontext = 'Reset', continuebuttoncss = 'btn btn-danger', cancelbuttoncss = 'btn btn-warning');
};
LoadDataPageFunc.OpenLogoutButtonHtml = function () {
return HomeMenuButtons('assets/logout.png', 'Logout', '', '', '45%', '45%', '', buttononclick = 'OpenLogoutUser()', divclass = 'col-4', 'openlogoutuserbuttondiv', '', textclass = '');
};
LoadDataPageFunc.OpenLogoutUser = function () {
function OpenTryForceLogout(response) {
if (response) {
ModalQuickDismiss('Success', 'Ended Session.');
}
else {
ModalQuickDismiss('Failed', 'Unable to End User Session.');
}
}
AjaxDo('/logout/force/user', { target_user: currenttarget }, OpenTryForceLogout, null, reqtype = 'POST');
};
function GenerateChildRow(Number, Total_Balance, Type, Active, parent, Hashkey) {
// console.log(Number,Total_Balance,Type,Active,Parent,Hashkey);
let activecheckbox = '';
if (Active === '1' || Active===1) {
Active = LoadDataPageFunc.ActiveCheckbox;
} else { Active = LoadDataPageFunc.ActiveUNCheckbox; }
activecheckbox = Active;
let numandnick = Number;
numandnick = numandnick.replace(' ', '<br>');
numandnick = `<a href="#" onclick="gotoPage('UserModify','${Hashkey}',0,1);return false;">${numandnick}</a>`;
parent = parent.replace(/---/g, '<br>');
numandnick = numandnick.replace(/---/g, '<br>');
return `<tr>
<td>${numandnick}</td>
<td>${Total_Balance}</td>
<td>${Type}</td>
<td>${activecheckbox}</td>
<td>${parent}</td>
</tr>`;
}
async function GenerateChildRows(responsearray) {
//console.log(responsearray);
let newhtmltable = '';
for (let i = 0; i < responsearray.length; i++) {
newhtmltable += GenerateChildRow(
responsearray[i]['mnumber'],
responsearray[i]['total_balance'],
responsearray[i]['acct_type'],
responsearray[i]['active'],
responsearray[i]['parent'],
responsearray[i]['hashkey']
);
}
//$("#User_list_table").find("tbody").replaceWith(newhtmltable);
// new DataTable('#User_list_table');
$("#User_details_children_table").find("tbody").html(newhtmltable);
$('#third-card').fadeIn(200);
let userlist = $("#User_details_children_table").DataTable({
"destroy": true,
order: [[0, 'desc']],
pageLength: 5,
lengthMenu: [[5], [5]]
});
/*
userlist.on('click', 'tbody tr', function () {
let data = userlist.row(this).data();
let targettranshash = data[0];
console.log(targettranshash);
$(targettranshash).find('a').trigger('click');
});
*/
}
function GenerateChildUsersTable() {
AjaxDo('/user/details/children', { target_user: currenttarget }, GenerateChildRows, null, reqtype = 'POST');
}
GenerateChildUsersTable();
</script>
<head>
<style>
</style>
</head>
<br><br><br>

View File

@@ -0,0 +1,111 @@
<table id="Winning_Numbers_Today">
<thead>
<tr>
<th>Time</th>
<th>Type</th>
<th>User</th>
<th>Number</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<script>
function GenerateBetWinningRow(Time,Type,Nickname_Mnumber,btnumber,Amount,Hashkey){
let activecheckbox='';
//activecheckbox='<input class="form-control" type="checkbox" '+Active+' disabled>';
//const actionbutton =`<button class="btn btn-warning btn-block" onclick="gotoPage('UserModify','${Hashkey}')">View User</button>`;
Time=Time.replace(' ','<br>');
Type=Type.replace(' ','<br>');
Nickname_Mnumber=Nickname_Mnumber.replace(' ','<br>');
return `<tr>
<td>${Time}</td>
<td>${Type}</td>
<td>${Nickname_Mnumber}</td>
<td>${btnumber}</td>
<td>${Amount}</td>
</tr>`;
}
async function GenerateBetWinningRows(responsearray) {
let newhtmltable = '';
for (let i = 0; i < responsearray.length; i++) {
newhtmltable += GenerateBetWinningRow(
responsearray[i]['time'],
responsearray[i]['type'],
responsearray[i]['user'],
responsearray[i]['bet_number'],
responsearray[i]['amount'],
responsearray[i]['hashkey']
);
}
//$("#User_list_table").find("tbody").replaceWith(newhtmltable);
// new DataTable('#User_list_table');
$("#Winning_Numbers_Today").find("tbody").html(newhtmltable);
//new DataTable('#Winning_Numbers_Today');
new DataTable('#Winning_Numbers_Today', {
language: {
emptyTable: 'No Winning Numbers'
},
order: [[0, 'desc']],
"bDestroy": true
});
$('#secondary-card').fadeIn(200);
}
function GenerateWinningNumbersTodayTable(winning_numbers_today_draw_target_date='',winning_numbers_today_draw_target_parent=''){
AjaxDo('?admin/list/winning_numbers', { target_date: winning_numbers_today_draw_target_date, target_parent: winning_numbers_today_draw_target_parent}, GenerateBetWinningRows, null, reqtype = 'POST');
}
GenerateWinningNumbersTodayTable(winning_numbers_today_draw_target_date,winning_numbers_today_draw_target_parent);
if (home_page_card_html_auto_load_table_content===1){
setInterval(function () {
if (currentPage=='Home'){
GenerateWinningNumbersTodayTable(winning_numbers_today_draw_target_date,winning_numbers_today_draw_target_parent);
}
}, 300000);
}
</script>