Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- location: functions/
- */
- function encryptData($strings)
- {
- global $token;
- return openssl_encrypt($strings, "AES-128-ECB", $token);
- }
- function decryptData($strings)
- {
- global $token;
- return openssl_decrypt($strings, "AES-128-ECB", $token);
- }
- function divImageAjax($title = "Upload", $encrypted_string)
- {
- global $numImageAjax;
- $kodeDiv = sprintf("%03s", $numImageAjax);
- $numImageAjax++;
- $json = decryptData($encrypted_string);
- $arDetail = json_decode($json);
- $arDetail->num = $kodeDiv;
- $encrypted_string = encryptData(json_encode($arDetail));
- $folderTarget = $arDetail->folder ?? "mydir";
- $filename = $arDetail->filename ?? "none";
- $tanggalData = $arDetail->date ?? "2024-12-12";
- $num = $arDetail->num ?? "001";
- ?>
- <div><?= $title ?>
- <input type='file' id='fileAjax<?= $kodeDiv ?>' param='<?= $encrypted_string ?>' />
- <button type='button' onclick='saveFile("<?= $kodeDiv ?>")'>Upload</button><br/>
- <span id='infoFileAjax<?= $kodeDiv ?>'> <!--<?= date("d/m/Y H:i:s") ?> -->
- <?= viewAttachment($folderTarget, $filename, $tanggalData, $kodeDiv) ?>
- </span>
- </div>
- <?php
- }
- function viewAttachment($folderTarget, $filename, $tanggalData, $num = 0)
- {
- global $folderUpload, $minDateForYear, $password;
- $folder = folderAttachment($folderTarget, $tanggalData ?? "2024-12-12");
- $targetFiles = $folder . $filename . ".*";
- $str = "";
- $str .= "<ol>";
- foreach (glob($targetFiles) as $filename) {
- $ar = [
- "folder" => $folderTarget,
- "filename" => $filename, //sensitive
- "date" => $tanggalData ?? "2024-12-12",
- "reload" => microtime(1),
- "num" => $num,
- ];
- $string_to_encrypt = json_encode($ar);
- $encrypted_string = encryptData($string_to_encrypt);
- $x= explode("/", $filename);
- $filenameClean = end($x);
- $str .= "<li>$filenameClean <a onclick='downloadFile(\"$encrypted_string\")' target='_blank' href='#{$ar['reload']}' style='text-decoration:none'
- title='download file'>📋</a><a onclick='deleteFile(\"$num\", \"$encrypted_string\")' href='#' style='text-decoration:none'
- title='delete file'>🗑</a></li>";
- }
- $str .= "</ol>";
- return $str;
- }
- function folderAttachment($folderTarget, $tanggalData)
- {
- global $folderUpload, $minDateForYear, $password;
- $folder = _SITEDIR_."/".$folderUpload;
- $debug = [];
- $aFolder = explode("/", $folderTarget);
- if ($tanggalData >= $minDateForYear) {
- if (count($aFolder) == 1) {
- $aFolder[] = date("_Y", strtotime($tanggalData));
- } else {
- $lastFolder = end($aFolder);
- array_pop($aFolder);
- $aFolder[] = date("_Y", strtotime($tanggalData));
- $aFolder[] = $lastFolder;
- }
- } else {
- }
- foreach ($aFolder as $folderName) {
- $folder .= "/".$folderName;
- if (!is_dir($folder)) {
- mkdir($folder);
- }
- $debug[] = "folder:" . $folder;
- }
- return $folder."/";
- }
- function uploadAttachment(
- $sourceFile,
- $folderTarget,
- $filename,
- $ext,
- $tanggalData
- ) {
- global $folderUpload, $minDateForYear, $password;
- $folder = folderAttachment($folderTarget, $tanggalData ?? "2024-12-12");
- $targetFile = $folder . $filename . ".{$ext}";
- $debug[] = "target:" . $targetFile;
- copy($sourceFile, $targetFile);
- return $targetFile;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement