Advertisement
kura2yamato

_main.php

Mar 9th, 2025 (edited)
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.57 KB | Source Code | 0 0
  1. <?php
  2. /*
  3. location: functions/
  4. */
  5. function encryptData($strings)
  6. {
  7.     global $token;  
  8.     return openssl_encrypt($strings, "AES-128-ECB", $token);
  9. }
  10. function decryptData($strings)
  11. {
  12.     global $token;  
  13.     return openssl_decrypt($strings, "AES-128-ECB", $token);
  14. }
  15.  
  16. function divImageAjax($title = "Upload", $encrypted_string)
  17. {
  18.     global $numImageAjax;
  19.     $kodeDiv = sprintf("%03s", $numImageAjax);
  20.     $numImageAjax++;
  21.     $json = decryptData($encrypted_string);
  22.  
  23.     $arDetail = json_decode($json);
  24.     $arDetail->num = $kodeDiv;
  25.     $encrypted_string = encryptData(json_encode($arDetail));
  26.     $folderTarget = $arDetail->folder ?? "mydir";
  27.     $filename = $arDetail->filename ?? "none";
  28.     $tanggalData = $arDetail->date ?? "2024-12-12";
  29.     $num = $arDetail->num ?? "001";
  30.     ?>
  31. <div><?= $title ?>
  32.  <input type='file' id='fileAjax<?= $kodeDiv ?>' param='<?= $encrypted_string ?>' />
  33.  <button type='button' onclick='saveFile("<?= $kodeDiv ?>")'>Upload</button><br/>
  34.  <span id='infoFileAjax<?= $kodeDiv ?>'> <!--<?= date("d/m/Y H:i:s") ?> -->
  35. <?= viewAttachment($folderTarget, $filename, $tanggalData, $kodeDiv) ?>  
  36.  </span>
  37. </div>  
  38. <?php
  39. }
  40. function viewAttachment($folderTarget, $filename, $tanggalData, $num = 0)
  41. {
  42.     global $folderUpload, $minDateForYear, $password;
  43.     $folder = folderAttachment($folderTarget, $tanggalData ?? "2024-12-12");
  44.     $targetFiles = $folder . $filename . ".*";
  45.     $str = "";
  46.     $str .= "<ol>";
  47.     foreach (glob($targetFiles) as $filename) {
  48.         $ar = [
  49.             "folder" => $folderTarget,  
  50.             "filename" => $filename, //sensitive
  51.             "date" => $tanggalData ?? "2024-12-12",  
  52.             "reload" => microtime(1),
  53.             "num" => $num,
  54.         ];
  55.         $string_to_encrypt = json_encode($ar);
  56.         $encrypted_string = encryptData($string_to_encrypt);
  57.         $x= explode("/", $filename);
  58.  
  59.         $filenameClean = end($x);
  60.         $str .= "<li>$filenameClean <a onclick='downloadFile(\"$encrypted_string\")' target='_blank' href='#{$ar['reload']}' style='text-decoration:none'
  61. title='download file'>&#x1F4CB;</a><a onclick='deleteFile(\"$num\", \"$encrypted_string\")'  href='#' style='text-decoration:none'
  62. title='delete file'>&#x1F5D1;</a></li>";
  63.     }
  64.     $str .= "</ol>";
  65.     return $str;
  66. }
  67.  
  68. function folderAttachment($folderTarget, $tanggalData)
  69. {
  70.     global $folderUpload, $minDateForYear, $password;
  71.     $folder = _SITEDIR_."/".$folderUpload;
  72.     $debug = [];
  73.     $aFolder = explode("/", $folderTarget);
  74.     if ($tanggalData >= $minDateForYear) {
  75.         if (count($aFolder) == 1) {
  76.             $aFolder[] = date("_Y", strtotime($tanggalData));
  77.         } else {
  78.             $lastFolder = end($aFolder);
  79.             array_pop($aFolder);
  80.             $aFolder[] = date("_Y", strtotime($tanggalData));
  81.             $aFolder[] = $lastFolder;
  82.         }
  83.     } else {
  84.    
  85.     }
  86.  
  87.     foreach ($aFolder as $folderName) {
  88.         $folder .= "/".$folderName;
  89.         if (!is_dir($folder)) {
  90.             mkdir($folder);
  91.         }
  92.         $debug[] = "folder:" . $folder;
  93.     }  
  94.     return $folder."/";
  95. }
  96. function uploadAttachment(
  97.     $sourceFile,
  98.     $folderTarget,
  99.     $filename,
  100.     $ext,
  101.     $tanggalData
  102. ) {
  103.     global $folderUpload, $minDateForYear, $password;
  104.     $folder = folderAttachment($folderTarget, $tanggalData ?? "2024-12-12");
  105.     $targetFile = $folder . $filename . ".{$ext}";
  106.     $debug[] = "target:" . $targetFile;
  107.     copy($sourceFile, $targetFile);
  108.     return $targetFile;
  109. }
Tags: php
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement