I am a hacker in the dark of a very cold night
path :/var/www/html/vorne.webheaydemo.com
upload file:
List of files:
| name file |
size |
edit |
permission |
action |
| .editorconfig | 276 KB | March 05 2024 07:12:34 | 0666 |
|
| .env | 1385 KB | May 24 2024 16:43:55 | 0666 |
|
| .env.example | 1088 KB | March 05 2024 07:12:34 | 0666 |
|
| .gitattributes | 190 KB | March 05 2024 07:12:34 | 0666 |
|
| .gitignore | 245 KB | March 05 2024 07:12:34 | 0666 |
|
| .htaccess | 947 KB | July 04 2023 21:25:08 | 0664 |
|
| .rnd | 1024 KB | March 13 2024 04:51:14 | 0666 |
|
| README.md | 472 KB | March 22 2024 10:35:00 | 0666 |
|
| app | - | March 05 2024 07:12:34 | 0777 |
|
| artisan | 1739 KB | March 05 2024 07:12:34 | 0666 |
|
| bootstrap | - | March 05 2024 07:12:34 | 0777 |
|
| composer.json | 2829 KB | May 13 2024 12:10:04 | 0666 |
|
| composer.lock | 417205 KB | March 19 2024 12:13:14 | 0666 |
|
| config | - | July 03 2025 02:53:36 | 0777 |
|
| database | - | March 05 2024 07:12:34 | 0777 |
|
| index.php | 1816 KB | May 13 2024 10:32:36 | 0666 |
|
| lang | - | May 13 2024 14:53:26 | 0777 |
|
| manifest.json | 913 KB | May 14 2024 03:57:26 | 0664 |
|
| package.json | 398 KB | March 05 2024 07:12:34 | 0666 |
|
| phpunit.xml | 1206 KB | March 05 2024 07:12:34 | 0666 |
|
| public | - | July 03 2025 02:37:20 | 0777 |
|
| resources | - | May 13 2024 12:09:36 | 0777 |
|
| routes | - | March 05 2024 07:12:34 | 0777 |
|
| service-worker.js | 924 KB | March 05 2024 07:12:34 | 0666 |
|
| storage | - | March 05 2024 10:03:52 | 0777 |
|
| symlink.php | 218 KB | March 05 2024 07:12:34 | 0666 |
|
| tests | - | March 05 2024 07:12:34 | 0777 |
|
| vendor | - | March 19 2024 12:13:14 | 0777 |
|
| vite.config.js | 326 KB | March 05 2024 07:12:34 | 0666 |
|
import{fileHolderElementClass}from "./fileholder-element-class.js";import{icons}from "./fileholder-icon.js";import{fileHolderSettings,fileHolderAttr}from "./fileholder-settings.js";export const fileHolderFunctions={fileHolderServerInit:function(urls,validFile,previewElement,validMimes){if(fileHolderGetLaravelCSRF().csrf===true){var laravelMetaCSRF=fileHolderGetLaravelCSRF().csrfToken;}else{return false;}
let uploadUrl=urls.uploadUrl;let validMimesString=validMimes.join(",");let form_data=new FormData();form_data.append('fileholder_files',validFile);form_data.append('_token',laravelMetaCSRF);form_data.append('mimes',validMimesString);if(previewElement!=null){let fileName=validFile.name;let fileNameArray=fileName.split(".");let fileExt=fileNameArray.pop();let nameWithoutExt=fileNameArray.join();if(nameWithoutExt.length>16){fileName=nameWithoutExt.substring(0,16)+"..."+fileExt;}else{fileName=nameWithoutExt+"."+fileExt;}
previewElement.querySelector("."+fileHolderElementClass.fileTitleClass).innerHTML=fileName;}
let formxhr=new XMLHttpRequest();formxhr.open("POST",uploadUrl);formxhr.upload.addEventListener("progress",({loaded,total})=>{fileHolderParentFormGuard(previewElement,true);let fileLoadedPercent=Math.floor((loaded/total)*100);let totalFileSize=Math.floor(total/1024);let fileLoaded;if(totalFileSize<1024){fileLoaded=totalFileSize+" KB";}else{fileLoaded=(loaded/(1024*1024)).toFixed(2)+" MB";}
let totalFileSizeText=totalFileSize+" KB";if(totalFileSize>1024){totalFileSize=Math.floor(totalFileSize/1024);totalFileSizeText=totalFileSize+" MB";}
if(totalFileSize>1024){totalFileSize=Math.floor(totalFileSize/1024)
totalFileSizeText=totalFileSize+" GB";}
if(previewElement!=null){previewElement.querySelector("."+fileHolderElementClass.fileTotalSizeElementClass).innerHTML=totalFileSizeText+"/";previewElement.querySelector("."+fileHolderElementClass.fileTotalLoadedElementClass).innerHTML=fileLoaded;previewElement.querySelector("."+fileHolderElementClass.fileLoadedPercentageElementClass).innerHTML=fileLoadedPercent+"%";}
if(fileLoadedPercent>0){previewElement.querySelector("."+fileHolderElementClass.fileProgressBarClass).classList.add(fileHolderElementClass.fileHolderElementShowClass);}
previewElement.querySelector("."+fileHolderElementClass.fileProgressBarInnerElementClass).style.width=fileLoadedPercent+"%";});formxhr.onload=function(){if(this.status==200){fileHolderParentFormGuard(previewElement,false);let response=JSON.parse(this.responseText);if(response.status===true){let fileHolder=previewElement.closest("."+fileHolderElementClass.mainWrapClass);let inputField=fileHolder.previousSibling;if(inputField.classList.contains(fileHolderElementClass.inputClass)){let parentFormId=fileHolderSetParentFormId(fileHolder);fileHolderDiscoverFileInput(inputField,parentFormId,response);}else{alert("Something Went Worng! Please Reload Page and try again.");return false;}
let fileMimeType=response.file_type.split("/").shift();fileHolderFileCloseLayout(previewElement,response);fileHolderElementRemoveAnimation(previewElement.querySelector("."+fileHolderElementClass.basicLoading));if(fileMimeType=="image"){fileHolderUploadedImageHandle(previewElement,response);}}else{alert(response.error);}}else if(this.status==400){fileHolderParentFormGuard(previewElement,false);fileHolderElementRemoveAnimation(previewElement.querySelector("."+fileHolderElementClass.basicLoading));let response=JSON.parse(this.responseText);alert(response.error);}else{fileHolderParentFormGuard(previewElement,false);fileHolderElementRemoveAnimation(previewElement.querySelector("."+fileHolderElementClass.basicLoading));}}
formxhr.send(form_data);},fileHolderBrowserTabReloadGuard:function(){window.onunload=function(){return "Hey, FileHolder already loaded some files. Reload will destroy all loaded files. Are you sure to reload?";};},fileHolderBasicLoading:function(element){element.style.position="relative";let basicLoadingWrp=fileHolderAppend(element,fileHolderElementClass.basicLoading);let translate={1:"one",2:"two",3:"three",4:"four",};let layer=3;for(let i=1;i<=layer;i++){let loadingCircle=fileHolderAppend(basicLoadingWrp,fileHolderElementClass.bnasicLoadingCircle);loadingCircle.classList.add(translate[i]);}
return basicLoadingWrp;},fileHolderElementRemoveAnimation:function(element,delay=1000){element.classList.add(fileHolderElementClass.basicHide);let fileHolder=element.closest("."+fileHolderElementClass.mainWrapClass);setTimeout(timeoutFunc,delay);function timeoutFunc(){element.remove();fileHolderDragAndDropBoxTitleWrapAdd(fileHolder);}}}
function fileHolderDiscoverFileInput(inputField,parentFormId,response){let fileHolderHiddenInput=document.querySelector("."+inputField.getAttribute(fileHolderAttr.dataHiddenClass));if(fileHolderHiddenInput==null){fileHolderHiddenInput=fileHolderAppend(document.querySelector("head"),fileHolderElementClass.hiddenFileInputClass,"input");fileHolderHiddenInput.setAttribute("form",parentFormId);fileHolderHiddenInput.setAttribute("name","fileholder-"+inputField.getAttribute("name"));var fileHolderHiddenInputClass="fileholder-"+generateUniqueString(16);fileHolderHiddenInput.classList.add(fileHolderHiddenInputClass);inputField.setAttribute(fileHolderAttr.dataHiddenClass,fileHolderHiddenInputClass);}
let inputValues=fileHolderHiddenInput.value;if(inputValues!=""){let inputValuesArray=inputValues.split(",");inputValuesArray.push(response.file_name);inputValues=inputValuesArray.join(",");}else{inputValues=response.file_name;}
fileHolderHiddenInput.value=inputValues;}
function fileHolderSetParentFormId(fileHolder){let parentForm=fileHolder.closest("form");let formId;if(parentForm.getAttribute("id")==null){let randomString=new Date().getTime().toString(36);parentForm.setAttribute("id",randomString);formId=parentForm.getAttribute("id");}else{formId=parentForm.getAttribute("id");}
return formId;}
function fileHolderElementRemoveAnimation(element,delay=1000){element.classList.add(fileHolderElementClass.basicHide);let fileholder=element.closest("."+fileHolderElementClass.mainWrapClass);setTimeout(timeoutFunc,delay);function timeoutFunc(){element.remove();fileHolderDragAndDropBoxTitleWrapAdd(fileholder);}}
function fileHolderUploadedImageHandle(previewElement,response){previewElement.setAttribute("data-loaded",true);let responseFileLink=response.file_link;let imageElement=previewElement.querySelector("."+fileHolderElementClass.imageClass).setAttribute("src",responseFileLink);}
function fileHolderParentFormGuard(previewElement,loading=false){let parentForm=previewElement.closest("form");let parentFormSubmitButton=parentForm.querySelector("input[type=submit],button[type=submit]");if(loading===true){parentFormSubmitButton.setAttribute("disabled",true);}else{parentFormSubmitButton.removeAttribute("disabled");}
return loading;}
function fileHolderFileCloseLayout(previewElement,response){let fileHolderButtonsWrpElement=fileHolderAppend(previewElement,fileHolderElementClass.singleFileButtonsWrpElementClass);let fileHolderFileRemoveButton=fileHolderAppend(fileHolderButtonsWrpElement,fileHolderElementClass.singleFileRemoveElementClass);fileHolderFileRemoveButton.innerHTML=icons.fileHolderFileRemoveIcon;fileHolderFileRemoveButton.addEventListener("click",(event)=>{let confirmAlert=confirm("Are you sure?");if(confirmAlert===true){let fileHolderServerUrls=fileHolderSettings.urls;fileHolderRemoveFile(fileHolderServerUrls,previewElement,response);}});}
function fileHolderAppend(motherElement,appendElementClass=null,elementType="div"){let element=document.createElement(elementType);element.classList.add(appendElementClass);motherElement.append(element);return element;}
function fileHolderRemoveFile(urls,previewElement,response){let responseJson=JSON.stringify(response);if(fileHolderGetLaravelCSRF().csrf===true){var laravelMetaCSRF=fileHolderGetLaravelCSRF().csrfToken;}else{return false;}
let removeUrl=urls.removeUrl;let formData=new FormData();formData.append('_token',laravelMetaCSRF);formData.append('file_info',responseJson);let formXHR=new XMLHttpRequest();formXHR.open("POST",removeUrl);let fileHolderFileRemoveLoadingElement=fileHolderFileRemoveLoading(previewElement,response);formXHR.onload=function(){if(this.status==200){let response=JSON.parse(this.responseText);if(response.status===true){fileHolderElementRemoveAnimation(previewElement);let fileHolder=previewElement.closest("."+fileHolderElementClass.mainWrapClass);fileHolderRemoveFileFromHiddenInput(fileHolder,responseJson);fileHolderRemoveFileFromInput(fileHolder,responseJson);}
fileHolderElementRemoveAnimation(fileHolderFileRemoveLoadingElement);}else if(this.status==404){fileHolderElementRemoveAnimation(fileHolderFileRemoveLoadingElement);alert("URL Not Found!");}else{fileHolderElementRemoveAnimation(fileHolderFileRemoveLoadingElement);let response=JSON.parse(this.responseText);alert(response.message);}}
formXHR.send(formData);}
function fileHolderRemoveFileFromInput(fileholder,responseJson){let inputFiles=fileholder.previousSibling.files;let removeFileName=JSON.parse(responseJson).file_old_name;let inputElement=fileholder.previousSibling;let fileHolderDataTransfer=new DataTransfer();Object.keys(inputFiles).forEach((index)=>{if(inputFiles[index].name!=removeFileName){fileHolderDataTransfer.items.add(inputFiles[index]);}});inputElement.files=fileHolderDataTransfer.files;}
function fileHolderRemoveFileFromHiddenInput(fileHolder,response){let inputField=fileHolder.previousSibling;if(inputField.classList.contains(fileHolderElementClass.inputClass)){let fileHolderHiddenInputFields=document.querySelector("."+inputField.getAttribute(fileHolderAttr.dataHiddenClass));let responseFileName=JSON.parse(response).file_name;let fileHolderHiddenValuesArray=fileHolderHiddenInputFields.value.split(",");let fileHolderHiddenTargetValueIndex=fileHolderHiddenValuesArray.indexOf(responseFileName);fileHolderHiddenValuesArray.splice(fileHolderHiddenTargetValueIndex,1);fileHolderHiddenInputFields.value=fileHolderHiddenValuesArray.join(",");}}
function fileHolderDragAndDropBoxTitleWrapAdd(fileHolder){let filesWrapperElement=fileHolder.querySelector("."+fileHolderElementClass.filesViewWrpElementClass);if(filesWrapperElement==null){let fileHolderIconTitleWrap=fileHolder.querySelector("."+fileHolderElementClass.iconTitleWrpClass);fileHolderIconTitleWrap.style.display="block";return true;}
let fileholderSingleFiles=filesWrapperElement.querySelectorAll("."+fileHolderElementClass.singleFileViewElementClass);if(fileholderSingleFiles.length==0){let fileHolderIconTitleWrap=fileHolder.querySelector("."+fileHolderElementClass.iconTitleWrpClass);fileHolderIconTitleWrap.style.display="block";}}
function fileHolderGetLaravelCSRF(){let CSRFElement=document.querySelector("meta[name=csrf-token]");if(CSRFElement==null){alert(`Laravel CSRF token is missing. Please add meta tag under HTML 'HEAD' Element. Ex: `);return false;}
let CSRFToken=document.querySelector("meta[name=csrf-token]").getAttribute("content");return{csrf:true,csrfToken:CSRFToken,};}
function fileHolderFileRemoveLoading(previewElement,object){let fileType=object.file_type.split("/").shift();if(fileType=="image"){let fileHolderImageContainer=previewElement.querySelector("."+fileHolderElementClass.imageWrpElementClass);var loadingElement=fileHolderFunctions.fileHolderBasicLoading(fileHolderImageContainer);}
return loadingElement;}
function dec2hex(dec){return dec.toString(16).padStart(2,"0");}
function generateUniqueString(len){var arr=new Uint8Array((len||40)/2);window.crypto.getRandomValues(arr);return Array.from(arr,dec2hex).join('');}