FormFlash.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. /**
  3. * @package Grav\Common\Form
  4. *
  5. * @copyright Copyright (C) 2015 - 2019 Trilby Media, LLC. All rights reserved.
  6. * @license MIT License; see LICENSE file for details.
  7. */
  8. namespace Grav\Common\Form;
  9. use Grav\Common\Filesystem\Folder;
  10. use Grav\Framework\Form\FormFlash as FrameworkFormFlash;
  11. class FormFlash extends FrameworkFormFlash
  12. {
  13. /**
  14. * @return array
  15. * @deprecated 1.6 For backwards compatibility only, do not use
  16. */
  17. public function getLegacyFiles(): array
  18. {
  19. $fields = [];
  20. foreach ($this->files as $field => $files) {
  21. if (strpos($field, '/')) {
  22. continue;
  23. }
  24. foreach ($files as $file) {
  25. if (\is_array($file)) {
  26. $file['tmp_name'] = $this->getTmpDir() . '/' . $file['tmp_name'];
  27. $fields[$field][$file['path'] ?? $file['name']] = $file;
  28. }
  29. }
  30. }
  31. return $fields;
  32. }
  33. /**
  34. * @param string $field
  35. * @param string $filename
  36. * @param array $upload
  37. * @return bool
  38. * @deprecated 1.6 For backwards compatibility only, do not use
  39. */
  40. public function uploadFile(string $field, string $filename, array $upload): bool
  41. {
  42. if (!$this->uniqueId) {
  43. return false;
  44. }
  45. $tmp_dir = $this->getTmpDir();
  46. Folder::create($tmp_dir);
  47. $tmp_file = $upload['file']['tmp_name'];
  48. $basename = basename($tmp_file);
  49. if (!move_uploaded_file($tmp_file, $tmp_dir . '/' . $basename)) {
  50. return false;
  51. }
  52. $upload['file']['tmp_name'] = $basename;
  53. $upload['file']['name'] = $filename;
  54. $this->addFileInternal($field, $filename, $upload['file']);
  55. return true;
  56. }
  57. /**
  58. * @param string $field
  59. * @param string $filename
  60. * @param array $upload
  61. * @param array $crop
  62. * @return bool
  63. * @deprecated 1.6 For backwards compatibility only, do not use
  64. */
  65. public function cropFile(string $field, string $filename, array $upload, array $crop): bool
  66. {
  67. if (!$this->uniqueId) {
  68. return false;
  69. }
  70. $tmp_dir = $this->getTmpDir();
  71. Folder::create($tmp_dir);
  72. $tmp_file = $upload['file']['tmp_name'];
  73. $basename = basename($tmp_file);
  74. if (!move_uploaded_file($tmp_file, $tmp_dir . '/' . $basename)) {
  75. return false;
  76. }
  77. $upload['file']['tmp_name'] = $basename;
  78. $upload['file']['name'] = $filename;
  79. $this->addFileInternal($field, $filename, $upload['file'], $crop);
  80. return true;
  81. }
  82. }