Преглед изворни кода

mustikas11: filedepot failide allalaadimine ainult sisselogitud kasutajatele

- lisa FileDownloadHooks.php (D11 #[Hook(file_download)] klass)
- anonüümsele kasutajale private://filedepot/ failid = 403 (nagu D7)
- sisselogitud kasutajad saavad alla laadida (HTTP 200)
ardo пре 1 дан
родитељ
комит
f25471d46f

+ 28 - 0
third/drupal/mustikas11/custom_modules/mustikas_export/src/Hook/FileDownloadHooks.php

@@ -0,0 +1,28 @@
+<?php
+
+namespace Drupal\mustikas_export\Hook;
+
+use Drupal\Core\Hook\Attribute\Hook;
+
+/**
+ * Hook implementations for mustikas_export.
+ */
+class FileDownloadHooks {
+
+  /**
+   * Implements hook_file_download().
+   *
+   * Keelab anonüümsele kasutajale filedepot failide allalaadimise
+   * (D7 analoogia: filedepot nõudis sisselogimist).
+   */
+  #[Hook('file_download')]
+  public function fileDownload($uri): int|array|null {
+    if (str_starts_with($uri, 'private://filedepot/')) {
+      if (\Drupal::currentUser()->isAnonymous()) {
+        return -1;
+      }
+    }
+    return NULL;
+  }
+
+}