================================================================
Patch for Protected Files in WebsiteBaker
Version: 1.0
================================================================

IMPORTANT: ALWAYS create a full backup of your website (files and database) before installing this patch!

----------------------------------------------------------------
Purpose of the Patch
----------------------------------------------------------------
This patch introduces a new functionality for protected files.
Files uploaded to the new "/media/private/" folder will only be
visible to logged-in backend users. This prevents direct access
or hotlinking of these files.

----------------------------------------------------------------
Installation Guide
----------------------------------------------------------------

1. UPLOAD THIS ZIP FILE into the root directory of your WebsiteBaker installation.

2. UNZIP the file using unzip.php. The modified system files will be
   automatically overwritten in their correct locations.

3. MANUALLY CREATE the folder for protected files.
   Using FTP, navigate to your "/media" directory and create a new
   subfolder named "private".

   The structure should look like this: /media/private/

4. MANUALLY CREATE the protection file.
   Inside this new "/media/private/" folder, create a file named
   ".htaccess". Copy and paste the following content into it exactly as shown:

   --- (copy this code) ---
   # For Apache 2.4 and newer
   Require all denied

   # For Apache 2.2 and older
   <IfModule !mod_authz_core.c>
     Order Deny,Allow
     Deny from all
   </IfModule>
   --- (end of code) ---


----------------------------------------------------------------
Testing the Installation
----------------------------------------------------------------

1. Upload an image file to the new "/media/private/" folder.

2. Try to access this image directly in your browser (e.g., "yourdomain.com/media/private/image.jpg").
   >> Expected result: You must see a "403 Forbidden" or "Access Denied" error message.

3. Log in to the WebsiteBaker backend, open a page with the CKEditor,
   and use the file browser to select the image from the "/media/private/" folder.
   >> Expected result: The image preview should be displayed correctly in the file browser
   and also in the editor after inserting it.

Done!

================================================================

german translation
================================================================

================================================================
Patch für geschützte Dateien in WebsiteBaker
Version: 1.0
================================================================

WICHTIG: Erstelle vor der Installation IMMER ein vollständiges Backup deiner Website (Dateien und Datenbank)!

----------------------------------------------------------------
Zweck des Patches
----------------------------------------------------------------
Dieser Patch führt eine neue Funktionalität für geschützte Dateien ein.
Dateien, die in den neuen Ordner "/media/private/" hochgeladen werden,
sind nur noch für eingeloggte Backend-Benutzer sichtbar.
Dies verhindert das direkte Aufrufen oder Verlinken dieser Dateien.

----------------------------------------------------------------
Installations-Anleitung
----------------------------------------------------------------

1. LADE DIESE ZIP-DATEI ins Hauptverzeichnis deiner WebsiteBaker-Installation hoch.

2. ENTPACKE die ZIP-Datei mit der unzip.php. Die geänderten Systemdateien werden
   automatisch an den richtigen Stellen überschrieben.

3. ERSTELLE MANUELL den Ordner für die geschützten Dateien.
   Gehe per FTP in dein "/media"-Verzeichnis und erstelle dort einen neuen
   Unterordner namens "private".

   Struktur danach: /media/private/

4. ERSTELLE MANUELL die Schutz-Datei.
   Erstelle in diesem neuen Ordner "/media/private/" eine Datei mit dem
   Namen ".htaccess". Füge den folgenden Inhalt exakt so ein:

   --- (diesen Code kopieren) ---
   # Für Apache 2.4 und neuer
   Require all denied

   # Für Apache 2.2 und älter
   <IfModule !mod_authz_core.c>
     Order Deny,Allow
     Deny from all
   </IfModule>
   --- (Ende des Codes) ---


----------------------------------------------------------------
Testen der Installation
----------------------------------------------------------------

1. Lade eine Bild-Datei in den neuen Ordner "/media/private/".

2. Versuche, dieses Bild direkt im Browser aufzurufen (z.B. "deinedomain.de/media/private/bild.jpg").
   >> Erwartetes Ergebnis: Du musst eine "403 Forbidden" oder "Zugriff verboten" Fehlermeldung sehen.

3. Logge dich ins WebsiteBaker-Backend ein, öffne eine Seite mit dem CKEditor
   und nutze den Dateibrowser, um das Bild aus "/media/private/" auszuwählen.
   >> Erwartetes Ergebnis: Die Vorschau des Bildes sollte im Dateibrowser und nach dem
   Einfügen auch im Editor korrekt angezeigt werden.

Fertig!

index.php
(Enthält jetzt den neuen "Routing"-Block am Anfang)
framework/class.frontend.php
(Enthält jetzt die neue public function handleSecureFileRequest(...))
modules/ckeditor/include.php
(Enthält jetzt die Logik, um die session_id an den Connector zu übergeben)
modules/ckeditor/ckeditor/filemanager/connectors/php/connector.php
(Enthält jetzt die Logik, um die Session zu "übernehmen" und die config.php zu laden)
modules/ckeditor/ckeditor/filemanager/connectors/php/commands.php
(Enthält jetzt die if/else-Logik, um die korrekten URLs für private/öffentliche Dateien zu generieren)