\n Time taken: ${response.data.hrtime[0]}s ${Math.ceil(response.data.hrtime[1] / 1000000)}ms.\n
\n {"version":3,"sources":["dashboard.js"],"names":["const","lsKeys","token","viewType","uploads","uploadsAll","selected","albums","albumsAll","users","originalNames","page","section","dom","localStorage","username","permissions","menusContainer","menus","currentView","views","type","album","pageNum","filters","all","prevPageNums","checkboxes","lastSelected","selectAlbumContainer","cache","clipboardJS","lazyLoad","albumsSidebarCollapse","albumsSidebarCollapsible","imageExts","videoExts","audioExts","isSomethingLoading","fadingIn","albumTitleMaxLength","albumDescMaxLength","cloudflareErrors","document","querySelector","classList","add","remove","error","console","content","createElement","innerHTML","toString","swal","title","icon","response","onError","statusText","status","description","data","verifyToken","window","location","apiVersion","match","src","text","buttons","confirm","closeModal","then","reload","axios","post","defaults","headers","common","version","checkClientVersion","prepareDashboard","catch","onAxiosError","code","removeItem","addEventListener","domClick","event","target","contains","preventDefault","itemMenus","selector","onclick","getUploads","deleteUploadsByNames","getAlbums","changeToken","changePassword","logout","params","group","getStatistics","getUsers","loop","i","item","warnSomethingLoading","call","Object","assign","trigger","currentTarget","forceScroll","push","length","moderator","unhide","getAlbumsSidebar","prepareShareX","updateTrigger","timer","newState","parentNode","tagName","className","includes","let","element","parent","parseInt","dataset","id","action","hasAttribute","stopPropagation","getItemID","setUploadsView","toggleOriginalNames","addToAlbum","deleteUpload","addSelectedUploadsToAlbum","bulkDeleteUploads","displayPreview","uploadFiltersHelp","filterUploads","sortUploads","reloadStatsCategory","filterUploadsWith","filterUploadsByType","submitAlbum","editAlbum","disableAlbum","deleteAlbum","viewAlbumUploads","createUser","editUser","disableUser","deleteUser","viewUserUploads","getNewToken","clearSelection","select","selectAll","focusJumpToPage","switchPage","disableFading","_fadeInTimeout","clearTimeout","setTimeout","disableSmooth","scrollIntoView","behavior","block","inline","view","get","func","getByView","goto","jumpToPage","jumpid","checkValidity","parsed","value","isNaN","focus","url","test","minoffset","Date","getTimezoneOffset","success","uploadsPerPage","pages","Math","ceil","count","files","autoPage","basedomain","max","pagination","paginate","extraControls","escape","controls","bottomFiltersId","bottomJumpId","bottomExtraControls","replace","bottomPagination","unselected","filterAllByAlbums","hasExpiryDateColumn","some","file","expirydate","showOriginalNames","origin","thumb","extname","toLowerCase","previewable","name","original","prettyAlbum","albumid","prettyBytes","getPrettyBytes","size","prettyDate","getPrettyDate","timestamp","prettyUser","userid","prettyExpiryDate","table","upload","appendix","div","appendChild","querySelectorAll","tr","ip","checked","fadeIn","scrollTo","update","onload","body","onerror","setAttribute","splice","indexOf","JSON","stringify","lastElement","thisIndex","index","lastIndex","abs","shiftKey","selectInBetween","suffix","substring","proceed","Boolean","style","trim","string","split","filter","v","a","findLastIndex","RegExp","lastIndexOf","filtersid","filtersArray","uniquifyUploadsFilters","join","_match","defaultSort","regex","direction","cleaned","actionData","innerText","user","postBulkDeleteUploads","field","values","cb","failed","textArea","seen","names","map","trimmed","prototype","hasOwnProperty","objective","dangerMode","cancel","Array","isArray","addUploadsToAlbum","ids","callback","choose","added","simple","list","getElementsByTagName","removeAttribute","albumsPerPage","homeDomain","createNewAlbum","albumUrlText","identifier","albumUrl","hasZip","zipSize","prettyZipDate","zipGeneratedAt","isZipExpired","editedAt","enabled","download","public","descriptionHtml","urlPath","requestLink","purge","albumsSidebar","oldAlbums","diffCount","collapsed","textExpand","textCollapse","collapse","li","sendNewPassword","pass","password","admin","usersPerPage","displayGroup","groups","keys","registration","prettyTokenUpdate","usage","groupOptions","g","isHigher","isDisabledHelper","resetPassword","autoClose","displayName","totalItems","itemsPerPage","currentPage","numPages","template","start","end","elementsToShow","step","stats","meta","statsKey","rows","j","isDataObj","totalForPercentage","available","used","total","toFixed","detailedValue","toLocaleString","valueAction","getPrettyUptime","keyAttrs","key","generatedOn","maxAge","buildStatisticTable","hrtime","ref","entries","find","statsTable","statsHrTime","getStatisticsCategory","defineProperty","varArgs","arguments$1","arguments","TypeError","to","nextSource","nextKey","writable","configurable","documentElement","selectedKeys","ls","parse","preparePage","ClipboardJS","on","LazyLoad","bulmaCollapsible"],"mappings":"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","file":"dashboard.js","sourcesContent":["/* global swal, axios, ClipboardJS, LazyLoad, bulmaCollapsible */\n\nconst lsKeys = {\n token: 'token',\n viewType: {\n uploads: 'viewTypeUploads',\n uploadsAll: 'viewTypeUploadsAll'\n },\n selected: {\n uploads: 'selectedUploads',\n uploadsAll: 'selectedUploadsAll',\n albums: 'selectedAlbums',\n albumsAll: 'selectedAlbumsAll',\n users: 'selectedUsers'\n },\n originalNames: {\n uploads: 'originalNames',\n uploadsAll: 'originalNamesAll'\n }\n}\n\nconst page = {\n // #dashboard\n section: null,\n // #page\n dom: null,\n\n // user token\n token: localStorage[lsKeys.token],\n\n // from api/tokens/verify\n username: null,\n permissions: null,\n\n // sidebar menus\n menusContainer: null,\n menus: [],\n\n currentView: null,\n views: {\n // params of uploads view\n uploads: {\n type: localStorage[lsKeys.viewType.uploads],\n originalNames: localStorage[lsKeys.originalNames.uploads] === '1',\n album: null, // album's id\n pageNum: null\n },\n // params of uploads view (all)\n uploadsAll: {\n type: localStorage[lsKeys.viewType.uploadsAll],\n originalNames: localStorage[lsKeys.originalNames.uploadsAll] === '1',\n filters: null,\n pageNum: null,\n all: true\n },\n // params of albums view\n albums: {\n filters: null,\n pageNum: null\n },\n // params of albums view (all)\n albumsAll: {\n filters: null,\n pageNum: null,\n all: true\n },\n // params of users view\n users: {\n filters: null,\n pageNum: null\n }\n },\n prevPageNums: {\n uploads: null,\n uploadsAll: null,\n albums: null,\n albumsAll: null,\n users: null\n },\n\n // ids of selected items (shared across pages and will be synced with localStorage)\n selected: {\n uploads: [],\n uploadsAll: [],\n albums: [],\n albumsAll: [],\n users: []\n },\n checkboxes: [],\n lastSelected: [],\n\n // select album dom for dialogs/modals\n selectAlbumContainer: null,\n\n // cache for dialogs/modals\n cache: {},\n\n clipboardJS: null,\n lazyLoad: null,\n albumsSidebarCollapse: null,\n albumsSidebarCollapsible: null,\n\n imageExts: ['.gif', '.jpeg', '.jpg', '.png', '.svg', '.tif', '.tiff', '.webp'],\n videoExts: ['.3g2', '.3gp', '.asf', '.avchd', '.avi', '.divx', '.evo', '.flv', '.h264', '.h265', '.hevc', '.m2p', '.m2ts', '.m4v', '.mk3d', '.mkv', '.mov', '.mp4', '.mpeg', '.mpg', '.mxf', '.ogg', '.ogv', '.ps', '.qt', '.rmvb', '.ts', '.vob', '.webm', '.wmv'],\n audioExts: ['.flac', '.mp3', '.wav', '.wma'],\n\n isSomethingLoading: false,\n fadingIn: null,\n\n albumTitleMaxLength: 70,\n albumDescMaxLength: 4000,\n\n // Better Cloudflare errors\n cloudflareErrors: {\n 520: 'Unknown Error',\n 521: 'Web Server Is Down',\n 522: 'Connection Timed Out',\n 523: 'Origin Is Unreachable',\n 524: 'A Timeout Occurred',\n 525: 'SSL Handshake Failed',\n 526: 'Invalid SSL Certificate',\n 527: 'Railgun Error',\n 530: 'Origin DNS Error'\n }\n}\n\npage.unhide = () => {\n document.querySelector('#loader').classList.add('is-hidden')\n page.section.classList.remove('is-hidden')\n}\n\n// Handler for regular JS errors\npage.onError = error => {\n console.error(error)\n\n const content = document.createElement('div')\n content.innerHTML = `\n
${error.toString()}
Please check your console for more information.
\n `\n return swal({\n title: 'An error occurred!',\n icon: 'error',\n content\n })\n}\n\n// Handler for Axios errors\npage.onAxiosError = error => {\n if (!error.response) {\n return page.onError(error)\n }\n\n const statusText = page.cloudflareErrors[error.response.status] || error.response.statusText\n const description = error.response.data && error.response.data.description\n ? error.response.data.description\n : 'There was an error with the request.\\nPlease check the console for more information.'\n\n return swal(`${error.response.status} ${statusText}`, description, 'error')\n}\n\npage.preparePage = () => {\n if (page.token) page.verifyToken(page.token)\n else window.location = 'auth'\n}\n\npage.checkClientVersion = apiVersion => {\n const self = document.querySelector('#mainScript')\n const match = self.src.match(/\\?_=(\\d+)$/)\n if (match && match[1] && match[1] !== apiVersion) {\n return swal({\n title: 'Update detected!',\n text: 'Client assets have been updated. Reload to display the latest version?',\n icon: 'info',\n buttons: {\n confirm: {\n text: 'Reload',\n closeModal: false\n }\n }\n }).then(() => {\n window.location.reload()\n })\n }\n}\n\npage.verifyToken = token => {\n axios.post('api/tokens/verify', { token }).then(response => {\n axios.defaults.headers.common.token = token\n localStorage[lsKeys.token] = token\n\n if (response.data.version) {\n page.checkClientVersion(response.data.version)\n }\n\n page.token = token\n page.username = response.data.username\n page.permissions = response.data.permissions\n page.prepareDashboard()\n }).catch(error => {\n return page.onAxiosError(error).then(() => {\n if (error.response.data && error.response.data.code === 10001) {\n localStorage.removeItem(lsKeys.token)\n window.location = 'auth'\n }\n })\n })\n}\n\npage.prepareDashboard = () => {\n page.section = document.querySelector('#dashboard')\n page.dom = page.section.querySelector('#page')\n\n // Capture all click events\n page.dom.addEventListener('click', page.domClick, true)\n\n // Capture all submit events\n page.dom.addEventListener('submit', event => {\n // Prevent default if necessary\n if (event.target && event.target.classList.contains('prevent-default')) {\n return event.preventDefault()\n }\n }, true)\n\n page.menusContainer = document.querySelector('#menu')\n\n // All item menus in the sidebar\n const itemMenus = [\n { selector: '#itemUploads', onclick: page.getUploads },\n { selector: '#itemDeleteUploadsByNames', onclick: page.deleteUploadsByNames },\n { selector: '#itemManageYourAlbums', onclick: page.getAlbums },\n { selector: '#itemManageToken', onclick: page.changeToken },\n { selector: '#itemChangePassword', onclick: page.changePassword },\n { selector: '#itemLogout', onclick: page.logout },\n { selector: '#itemManageUploads', onclick: page.getUploads, params: { all: true }, group: 'moderator' },\n { selector: '#itemManageAlbums', onclick: page.getAlbums, params: { all: true }, group: 'moderator' },\n { selector: '#itemStatistics', onclick: page.getStatistics, group: 'admin' },\n { selector: '#itemManageUsers', onclick: page.getUsers, group: 'admin' }\n ]\n\n for (let i = 0; i < itemMenus.length; i++) {\n // Skip item menu if not enough permission\n if (itemMenus[i].group && !page.permissions[itemMenus[i].group]) continue\n\n // Add onclick event listener\n const item = document.querySelector(itemMenus[i].selector)\n item.addEventListener('click', event => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n // eslint-disable-next-line compat/compat\n itemMenus[i].onclick.call(null, Object.assign(itemMenus[i].params || {}, {\n trigger: event.currentTarget,\n forceScroll: true\n }))\n })\n\n item.classList.remove('is-hidden')\n page.menus.push(item)\n }\n\n // If at least a moderator, show administration section\n if (page.permissions.moderator) {\n document.querySelector('#itemLabelAdmin').classList.remove('is-hidden')\n document.querySelector('#itemListAdmin').classList.remove('is-hidden')\n }\n\n // Update text of logout button\n document.querySelector('#itemLogout').innerHTML = `Logout ( ${page.username} )`\n\n // Finally display dashboard\n page.unhide()\n\n // Load albums sidebar\n page.getAlbumsSidebar()\n\n if (typeof page.prepareShareX === 'function') page.prepareShareX()\n}\n\npage.logout = params => {\n page.updateTrigger(params.trigger, 'active')\n localStorage.removeItem(lsKeys.token)\n window.location = 'auth'\n}\n\npage.warnSomethingLoading = () => {\n swal('Please wait!', 'Something else is still loading\\u2026', 'warning', {\n buttons: false,\n timer: 3000\n })\n}\n\npage.updateTrigger = (trigger, newState) => {\n if (!trigger) return\n\n // Disable menus container and pagination when loading\n if (newState === 'loading') {\n page.isSomethingLoading = true\n page.section.classList.add('is-loading')\n } else {\n page.section.classList.remove('is-loading')\n page.isSomethingLoading = false\n }\n\n if (newState === 'loading') {\n trigger.classList.add('is-loading')\n } else if (newState === 'active') {\n if (trigger.parentNode.tagName === 'LI' && !trigger.className.includes('pagination-link')) {\n for (let i = 0; i < page.menus.length; i++) {\n page.menus[i].classList.remove('is-active')\n }\n trigger.classList.add('is-active')\n }\n trigger.classList.remove('is-loading')\n } else {\n trigger.classList.remove('is-loading')\n trigger.classList.remove('is-active')\n }\n}\n\npage.getItemID = element => {\n // This expects the item's parent to have the item's ID\n let parent = element.parentNode\n // If the element is part of a set of controls, use the container's parent instead\n if (element.parentNode.classList.contains('controls')) parent = parent.parentNode\n return parseInt(parent.dataset.id)\n}\n\npage.domClick = event => {\n // We are processing clicks this way to avoid using \"onclick\" attribute\n // Apparently we will need to use \"unsafe-inline\" for \"script-src\" directive\n // of Content Security Policy (CSP), if we want to use \"onclick\" attribute\n // Though I think that only applies to some browsers (?)\n // Of course it wouldn't have mattered if we didn't use CSP to begin with\n // Anyway, I personally would rather not use \"onclick\" attribute\n let element = event.target\n if (!element) return\n\n // Delegate click events to their A or BUTTON parents\n if (['I'].includes(element.tagName) && ['SPAN'].includes(element.parentNode.tagName)) {\n element = element.parentNode\n }\n if (['SPAN'].includes(element.tagName) && ['A', 'BUTTON'].includes(element.parentNode.tagName)) {\n element = element.parentNode\n }\n\n // Skip elements that have no action data\n if (!element.dataset || !element.dataset.action) return\n\n // Skip disabled elements\n if (element.hasAttribute('disabled')) return\n\n event.stopPropagation() // maybe necessary\n const id = page.getItemID(element)\n const action = element.dataset.action\n\n switch (action) {\n // Uploads\n case 'view-list':\n return page.setUploadsView('list', element)\n case 'view-thumbs':\n return page.setUploadsView('thumbs', element)\n case 'toggle-original-names':\n return page.toggleOriginalNames(element)\n case 'add-to-album':\n return page.addToAlbum(id)\n case 'delete-upload':\n return page.deleteUpload(id)\n case 'add-selected-uploads-to-album':\n return page.addSelectedUploadsToAlbum()\n case 'bulk-delete-uploads':\n return page.bulkDeleteUploads()\n case 'display-preview':\n return page.displayPreview(id)\n case 'upload-filters-help':\n return page.uploadFiltersHelp(element)\n case 'filter-uploads':\n return page.filterUploads(element)\n case 'sort-uploads':\n return page.sortUploads(element)\n // Statistics\n case 'reload-stats-category':\n return page.reloadStatsCategory(element)\n case 'filter-uploads-with':\n return page.filterUploadsWith(element)\n case 'filter-uploads-by-type':\n return page.filterUploadsByType(element)\n // Manage your albums\n case 'submit-album':\n return page.submitAlbum(element)\n case 'edit-album':\n return page.editAlbum(id)\n case 'disable-album':\n return page.disableAlbum(id)\n case 'delete-album':\n return page.deleteAlbum(id)\n case 'view-album-uploads':\n return page.viewAlbumUploads(id, element)\n // Manage users\n case 'create-user':\n return page.createUser()\n case 'edit-user':\n return page.editUser(id)\n case 'disable-user':\n return page.disableUser(id)\n case 'delete-user':\n return page.deleteUser(id)\n case 'view-user-uploads':\n return page.viewUserUploads(id, element)\n // Manage your token\n case 'get-new-token':\n return page.getNewToken(element)\n // Shared (uploads, albums, users)\n case 'clear-selection':\n return page.clearSelection()\n case 'select':\n return page.select(element, event)\n case 'select-all':\n return page.selectAll(element)\n // Shared pagination (uploads, albums, users)\n case 'page-ellipsis':\n return page.focusJumpToPage(element)\n case 'page-prev':\n case 'page-next':\n case 'page-goto':\n case 'jump-to-page':\n return page.switchPage(action, element)\n }\n}\n\npage.fadeIn = (element = page.dom, disableFading = false) => {\n if (element._fadeInTimeout) {\n clearTimeout(element._fadeInTimeout)\n element.classList.remove('anim-fade-in')\n }\n\n if (!disableFading) {\n element.classList.add('anim-fade-in')\n element._fadeInTimeout = setTimeout(() => {\n element.classList.remove('anim-fade-in')\n delete element._fadeInTimeout\n }, 500)\n }\n}\n\npage.scrollTo = (element = page.dom, disableSmooth = false) => {\n element.scrollIntoView({\n behavior: disableSmooth ? 'auto' : 'smooth',\n block: 'start',\n inline: 'nearest'\n })\n}\n\npage.getByView = (view, get) => {\n switch (view) {\n case 'uploads':\n case 'uploadsAll':\n return {\n type: 'uploads',\n func: page.getUploads\n }[get]\n case 'albums':\n case 'albumsAll':\n return {\n type: 'albums',\n func: page.getAlbums\n }[get]\n case 'users':\n return {\n type: 'users',\n func: page.getUsers\n }[get]\n default:\n return null\n }\n}\n\npage.switchPage = (action, element) => {\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n // eslint-disable-next-line compat/compat\n const params = Object.assign(page.views[page.currentView], {\n trigger: element\n })\n\n const func = page.getByView(page.currentView, 'func')\n\n switch (action) {\n case 'page-prev':\n params.pageNum = page.views[page.currentView].pageNum - 1\n if (params.pageNum < 0) {\n return swal('An error occurred!', 'This is already the first page.', 'error')\n }\n return func(params)\n case 'page-next':\n params.pageNum = page.views[page.currentView].pageNum + 1\n return func(params)\n case 'page-goto':\n params.pageNum = parseInt(element.dataset.goto)\n return func(params)\n case 'jump-to-page': {\n const jumpToPage = document.querySelector(`#${element.dataset.jumpid || 'jumpToPage'}`)\n if (!jumpToPage.checkValidity()) return\n const parsed = parseInt(jumpToPage.value)\n params.pageNum = isNaN(parsed) ? 0 : (parsed - 1)\n if (params.pageNum < 0) params.pageNum = 0\n return func(params)\n }\n }\n}\n\npage.focusJumpToPage = element => {\n const jumpToPage = document.querySelector(`#${element.dataset.jumpid || 'jumpToPage'}`)\n if (!jumpToPage) return\n jumpToPage.focus()\n jumpToPage.select()\n}\n\npage.getUploads = (params = {}) => {\n if (params && params.all && !page.permissions.moderator) {\n return swal('An error occurred!', 'You cannot do this!', 'error')\n }\n\n if (page.isSomethingLoading) return page.warnSomethingLoading()\n\n page.updateTrigger(params.trigger, 'loading')\n\n if (typeof params.pageNum !== 'number' || params.pageNum < 0) {\n params.pageNum = 0\n }\n\n const url = typeof params.album !== 'undefined'\n ? `api/album/${params.album}/${params.pageNum}`\n : `api/uploads/${params.pageNum}`\n\n const headers = {}\n if (params.all) headers.all = '1'\n if (params.filters) {\n headers.filters = params.filters\n // Send client timezone offset if properly using date: and/or :expiry filters\n // Server will assume client is on UTC if unset\n if (/(^|\\s)(date|expiry):[\\d\"]/.test(params.filters)) {\n headers.minoffset = new Date().getTimezoneOffset()\n }\n }\n\n axios.get(url, { headers }).then(response => {\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n page.updateTrigger(params.trigger)\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const uploadsPerPage = response.data.uploadsPerPage || 25\n const pages = Math.ceil(response.data.count / uploadsPerPage)\n const files = response.data.files\n if (params.pageNum && (files.length === 0)) {\n page.updateTrigger(params.trigger)\n if (params.autoPage) {\n params.pageNum = pages - 1\n return page.getUploads(params)\n } else {\n return swal('An error occurred!', `There are no more uploads to populate page ${params.pageNum + 1}.`, 'error')\n }\n }\n\n page.currentView = params.all ? 'uploadsAll' : 'uploads'\n page.cache = {}\n\n const albums = response.data.albums\n const users = response.data.users\n const basedomain = response.data.basedomain\n\n if (params.pageNum < 0) {\n params.pageNum = Math.max(0, pages + params.pageNum)\n }\n const pagination = page.paginate(response.data.count, uploadsPerPage, params.pageNum)\n\n const filter = `\n${upload.name}
\n ${showOriginalNames ? `${upload.original}
` : ''}\n${appendix}${upload.prettyBytes}
\n ${hasExpiryDateColumn && upload.prettyExpiryDate\n ? `EXP: ${upload.prettyExpiryDate}
`\n : ''}\n\n | File name | \n ${showOriginalNames ? 'Original name | ' : ''}\n ${params.all ? 'User | ' : ''}\n ${!params.all || filterAllByAlbums ? 'Album | ' : ''}\nSize | \n ${params.all ? 'IP | ' : ''}\nUpload date | \n ${hasExpiryDateColumn ? 'Expiry date | ' : ''}\n(${response.data.count} total) | \n
---|
\n
\n \n
`\n : ''}\n\"
).\n To match uploads by non-registered users, or have no IPs respectively, use user:-
or ip:-
.\n\n To exclude certain users/IPs while still listing every other uploads, add negation sign (-
) before the keys.\n Negation signs can also be used to exclude uploads by non-registered users, or have no IPs (i.e. -user:-
or -ip:-
).\n\n If you know the ID of a user's album, you can list its uploads with albumid key.\n Negation sign works for this key as well.`\n : `There is only 1 filter key, namely albumid.\n albumid key can be specified more than once.\n To match uploads with no albums, use albumid:-
.\n\n To exclude certain albums while still listing every other uploads, add negation sign (-
) before the keys.\n Negation sign can also be used to exclude uploads with no albums (i.e. -albumid:-
).`}\n\n There are 2 range keys: date (upload date) and expiry (expiry date).\n Their formats are: \"YYYY/MM/DD HH:MM:SS-YYYY/MM/DD HH:MM:SS\"
(\"from\" date and \"to\" date respectively),\n unix timestamps in seconds resolution, OR human-readable relative time duration (available units).\n You may choose to specify only either dates.\n If \"to\" date is missing, 'now' will be used. If \"from\" date is missing, 'beginning of time' will be used.\n If any of the subsequent date or time units are not specified, their first value will be used (e.g. January for month, 1 for day, and so on).\n If only time is specified, today's date will be used.\n If you do not need to specify both date and time, you may omit the double quotes.\n In conclusion, the following examples are all valid: date:\"2020/01/01 01:23-2018/01/01 06\"
, expiry:-2020/05
, date:12:34:56
, date:1663976000
, date:<7days
.\n date and expiry keys can only be specified once each.\n\n What about timezones?\n Feel free to query the dates in your own timezone.\n API requests to the filter endpoint will attach your browser's timezone offset, so the server will automatically calculate timezone differences.\n\n Matches can also be sorted with sort keys.\n Their format is: sort:columnName[:d[escending]]
, where :d[escending]
is an optional tag to set the direction to descending.\n This key must be used with internal column names used in the database (id
, ${all ? 'userid' : 'albumid'}
, and so on),\n but there are 2 shortcuts available: date for timestamp
column and expiry for expirydate
column.\n Set your uploads view to \"List view\", then hover any of the table's column headers to see tooltips displaying their internal column names.\n sort key can be specified more than once, where their order will decide the sorting steps.\n\n Finally, there are type-is keys to refine by types.\n You can use is:image
, is:video
, and is:audio
to list images, videos, audios respectively.\n This will only use image, video and audio extensions that are whitelisted internally in the safe.\n For images and videos specifically, they will be the ones whose thumbnails can be generated by the safe.\n Negation sign works for this key as well.\n Mixing inclusion and exclusion is not allowed (i.e. is:image -is:video
), since the second key will be redundant.\n\n Alternatively, you can filter by their actual mime types using type keys.\n For example, type:image/jpeg
, type:video/mp4
.\n Negation sign works for this key as well.\n\n Any leftover keywords which do not use keys (non-keyed keywords) will be matched against the matches' randomly generated and original names.\n Excluding certain keywords is also supported by adding negation sign before the keywords.\n\n Internal steps:\n ${all\n ? `- Query uploads passing ALL exclusion filter keys OR matching ANY filter keys, if any.\n - Refine matches`\n : '- Filter uploads'} using date key, if any.\n - Refine matches using expiry key, if any.\n - Refine matches using type-is keys, if any.\n - Refine matches using type keys, if any.\n - Refine matches using ANY non-keyed keywords, if any.\n - Filter matches using ALL exclusion non-keyed keywords, if any.\n - Sort matches using sort keys, if any.\n\n Examples:\n ${all\n ? `- Uploads from users named \"demo\" AND/OR \"John Doe\" AND/OR non-registered users:\n user:demo user:\"John Doe\" user:-
\n - ALL uploads, but NOT the ones from user named \"demo\" AND \"John Doe\":\n -user:demo -user:\"John Doe\"
\n - Uploads from IP \"127.0.0.1\" AND which file names match \"*.rar\" OR \"*.zip\":\n ip:127.0.0.1 *.rar *.zip
\n `\n : ''}- Uploads without albums:\n albumid:-
\n - ALL uploads, but NOT the ones from album with ID 69:\n -albumid:69
\n - Uploads uploaded since \"1 June 2019 00:00:00\":\n date:2019/06
\n - Uploads uploaded between \"7 April 2020 12:00:00\" and \"7 April 2020 23:59:59\":\n date:\"2020/04/07 12-2020/04/07 23:59:59\"
\n - Uploads uploaded before \"5 February 2020 00:00:00\":\n date:-2020/02/05
\n - Uploads uploaded within the last 24 hours (1 day):\n date:<1d
\n - Uploads uploaded before the last 6 months:\n date:>6months
\n - Uploads that will expire within the next 7 days and 12 hours:\n expiry:\"<7 days 12 hours\"
\n - Uploads which file names match \"*.gz\" but NOT \"*.tar.gz\":\n *.gz -*.tar.gz
\n - Sort matches by \"size\" column in ascending and descending order respectively:\n ${all ? 'user:\"John Doe\"' : '*.txt'} sort:size
\n *.mp4 ${all ? 'user:- ' : ''}sort:size:d
\n ${!page.permissions.moderator\n ? 'Notice: Regular users may face some limitations in the amount of keys that can be used at a time.'\n : ''}\n Friendly reminder: This window can be scrolled up!\n `.trim().replace(/^\\s*/g, '').replace(/\\n/g, 'You won't be able to recover ${boldObjective}!
`\n\n if (params.all) {\n const obj1 = count === 1 ? 'an upload' : 'some uploads'\n const obj2 = count === 1 ? 'another user' : 'other users'\n text += `\\nWarning: You may be nuking ${obj1} by ${obj2}!
`\n }\n\n const content = document.createElement('div')\n content.innerHTML = text\n\n swal({\n title: 'Are you sure?',\n content,\n icon: 'warning',\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: `Yes, nuke ${params.values.length === 1 ? 'it' : 'them'}!`,\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/upload/bulkdelete', {\n field: params.field,\n values: params.values\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n const failed = Array.isArray(response.data.failed) ? response.data.failed : []\n if (failed.length === params.values.length) {\n swal('An error occurred!', `Unable to delete any of the ${objective}.`, 'error')\n } else if (failed.length && failed.length < params.values.length) {\n swal('Warning!', `From ${objective}, unable to delete ${failed.length} of them.`, 'warning')\n } else {\n swal('Deleted!', `${objective} ${count === 1 ? 'has' : 'have'} been deleted.`, 'success', {\n buttons: false,\n timer: 1500\n })\n }\n\n if (typeof params.cb === 'function') params.cb(failed)\n }).catch(page.onAxiosError)\n })\n}\n\npage.addSelectedUploadsToAlbum = () => {\n if (page.currentView !== 'uploads') return\n\n const count = page.selected[page.currentView].length\n if (!count) return swal('An error occurred!', 'You have not selected any uploads.', 'error')\n\n page.addUploadsToAlbum(page.selected[page.currentView], failed => {\n if (!failed) return\n if (failed.length) {\n page.selected[page.currentView] = page.selected[page.currentView]\n .filter(id => failed.includes(id))\n } else {\n page.selected[page.currentView] = []\n }\n\n localStorage[lsKeys.selected[page.currentView]] = JSON.stringify(page.selected[page.currentView])\n page.getUploads(page.views[page.currentView])\n })\n}\n\npage.addToAlbum = id => {\n page.addUploadsToAlbum([id], failed => {\n if (!failed) return\n page.getUploads(page.views[page.currentView])\n })\n}\n\npage.addUploadsToAlbum = (ids, callback) => {\n const count = ids.length\n\n const content = document.createElement('div')\n content.innerHTML = `\nYou are about to add ${count} upload${count === 1 ? '' : 's'} to an album.
\nIf an upload is already in an album, it will be moved.
\n\n | ID | \nName | \n ${params.all ? 'User | ' : ''}\nUploads | \nSize | \nCreated at | \nZIP size | \nZIP generated at | \nPublic link | \n(${response.data.count} total) | \n
---|
Max length is ${page.albumTitleMaxLength} characters.
\nMarkdown supported. Max length is ${page.albumDescMaxLength} characters.
\nSave changes then re-open this Edit prompt to refresh this preview.
\nCurrent public link: ${albumUrlText}
\n\n | Username | \nUploads | \nUsage | \nGroup | \nRegistration date | \nLast token update | \n(${response.data.count} total) | \n
---|
Username: ${response.data.username}
\nPassword: ${response.data.password}
User group: ${response.data.group}
\n `\n swal({\n title: 'Created a new user!',\n icon: 'success',\n content: div\n })\n\n // Load last page of users list\n // eslint-disable-next-line compat/compat\n page.getUsers(Object.assign(page.views.users, {\n pageNum: -1\n }))\n }).catch(page.onAxiosError)\n })\n}\n\npage.editUser = id => {\n const user = page.cache[id]\n if (!user) return\n\n let isHigher = false\n const groupOptions = Object.keys(page.permissions).map((g, i, a) => {\n const selected = g === user.displayGroup\n if (selected) {\n isHigher = typeof a[i + 1] !== 'undefined' && page.permissions[a[i + 1]]\n }\n const disabled = !(a[i + 1] && page.permissions[a[i + 1]])\n return ``\n }).join('\\n')\n\n const isDisabledHelper = isHigher ? '' : ' disabled'\n const div = document.createElement('div')\n div.innerHTML = `\nUser ID: ${id}
\n${user.username} was renamed into: ${response.data.update.username}.
`\n autoClose = false\n displayName = response.data.update.username\n }\n\n if (response.data.update.password) {\n div.innerHTML += `\n${displayName}'s new password is:
\n${response.data.update.password}
${displayName} has been ${response.data.update.enabled ? 'enabled' : 'disabled'}!
`\n }\n\n if (!div.innerHTML) {\n div.innerHTML = `${displayName} was edited!
`\n }\n\n swal({\n title: 'Success!',\n icon: 'success',\n content: div,\n buttons: !autoClose,\n timer: autoClose ? 1500 : null\n })\n page.getUsers(page.views.users)\n }).catch(page.onAxiosError)\n })\n}\n\npage.disableUser = id => {\n const user = page.cache[id]\n if (!user || !user.enabled) return\n\n const content = document.createElement('div')\n content.innerHTML = `\nYou will be disabling a user named ${page.cache[id].username}.
\nTheir files will remain.
\n `\n\n swal({\n title: 'Are you sure?',\n icon: 'warning',\n content,\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: 'Yes, disable them!',\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/users/disable', { id }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n swal('Success!', `${page.cache[id].username} has been disabled.`, 'success', {\n buttons: false,\n timer: 1500\n })\n page.getUsers(page.views.users)\n }).catch(page.onAxiosError)\n })\n}\n\npage.deleteUser = id => {\n const user = page.cache[id]\n if (!user) return\n\n const content = document.createElement('div')\n content.innerHTML = `\nYou will be deleting a user named ${page.cache[id].username}.
\n
Their uploads will still remain, unless you choose otherwise.
\n `\n\n swal({\n title: 'Are you sure?',\n icon: 'warning',\n content,\n dangerMode: true,\n buttons: {\n cancel: true,\n confirm: {\n text: 'Yes, ONLY the user!',\n closeModal: false\n },\n purge: {\n text: 'Yes, AND their uploads too!',\n value: 'purge',\n className: 'swal-button--danger',\n closeModal: false\n }\n }\n }).then(proceed => {\n if (!proceed) return\n\n axios.post('api/users/delete', {\n id,\n purge: proceed === 'purge'\n }).then(response => {\n if (!response) return\n\n if (response.data.success === false) {\n const failed = Array.isArray(response.data.failed)\n ? response.data.failed\n : []\n\n if (response.data.description === 'No token provided') {\n return page.verifyToken(page.token)\n } else if (failed.length) {\n return swal('An error occurred!', `Unable to delete ${failed.length} of the user's upload${failed.length === 1 ? '' : 's'}.`, 'error')\n } else {\n return swal('An error occurred!', response.data.description, 'error')\n }\n }\n\n swal('Success!', `${page.cache[id].username} has been deleted.`, 'success', {\n buttons: false,\n timer: 1500\n })\n\n // Reload users list\n // eslint-disable-next-line compat/compat\n page.getUsers(Object.assign(page.views.users, {\n autoPage: true\n }))\n }).catch(page.onAxiosError)\n })\n}\n\n// Roughly based on https://github.com/mayuska/pagination/blob/03cac0fb8af3a759bc1220bd3c011b67dbc5e909/index.js\npage.paginate = (totalItems, itemsPerPage, currentPage) => {\n currentPage = currentPage + 1\n const step = 3\n const numPages = Math.ceil(totalItems / itemsPerPage)\n\n let template = ''\n const elementsToShow = step * 2\n const add = {\n pageNum (start, end) {\n for (let i = start; i <= end; ++i) {\n template += `${type} | \n${detailedValue} | \n
---|
${title} | \n${meta.join(' ')} | \n
---|