qdr-temporary-shared-storage/
├── qdr-temporary-shared-storage.php # Main plugin file (bootstrap)
├── uninstall.php # Clean uninstallation
│
├── includes/ # Core functionality
│ ├── class-qdr-tss.php # Core plugin class
│ ├── class-qdr-tss-activator.php # Plugin activation
│ ├── class-qdr-tss-deactivator.php # Plugin deactivation
│ ├── class-qdr-tss-db-manager.php # Database operations
│ ├── class-qdr-tss-file-manager.php # File operations
│ ├── class-qdr-tss-settings.php # Settings management
│ ├── class-qdr-tss-cron-manager.php # Scheduled tasks
│ ├── class-qdr-tss-loader.php # Hook loader (registers all hooks)
│ ├── class-qdr-tss-i18n.php # Internationalization
│ └── functions.php # Helper functions
│
├── admin/ # Admin-related functionality
│ ├── class-qdr-tss-admin.php # Admin controller
│ ├── class-qdr-tss-media-page.php # Media page UI
│ ├── class-qdr-tss-settings-page.php # Settings page UI
│ ├── partials/ # Admin UI templates
│ │ ├── media-page.php # Media listing page template
│ │ └── settings-page.php # Settings page template
│ ├── js/
│ │ └── admin.js # Admin JavaScript
│ └── css/
│ └── admin.css # Admin styles
│
├── public/ # Public-facing functionality
│ ├── class-qdr-tss-public.php # Public controller
│ ├── class-qdr-tss-shortcode.php # Shortcode functionality
│ ├── class-qdr-tss-download.php # Download functionality
│ ├── js/
│ │ └── public.js # Public JavaScript
│ └── css/
│ └── public.css # Public styles
│
├── rest-api/ # REST API functionality
│ ├── class-qdr-tss-rest-controller.php # REST API base controller
│ ├── class-qdr-tss-media-controller.php # Media endpoints
│ └── class-qdr-tss-upload-controller.php# Upload endpoints
│
├── languages/ # Translation files
│ ├── qdr-temporary-shared-storage.pot # Translation template
│ └── qdr-temporary-shared-storage-cs_CZ.po # Czech translation
│
└── docs/ # Documentation
├── integration-guide.md # Integration guide
├── plugin-structure.md # Plugin structure documentation
├── rest-api-docs.md # REST API documentation
└── testing-guide.md # Testing guide
Here's a list of the main file dependencies:
qdr-temporary-shared-storage.php - Loads:
class-qdr-tss.php - Loads:
class-qdr-tss-admin.php - Loads:
class-qdr-tss-public.php - Loads:
Based on the review of the source code, the following files need to be created/renamed:
The plugin uses a custom database table with the following schema:
CREATE TABLE {$wpdb->prefix}qdr_temporary_shared_storage (
id bigint(20) NOT NULL AUTO_INCREMENT,
media_id bigint(20) NOT NULL,
original_file_name varchar(255) NOT NULL,
description text NULL,
message text NULL,
active_from datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
active_to datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
password varchar(255) NOT NULL,
reference varchar(255) NULL,
upload_date datetime DEFAULT CURRENT_TIMESTAMP NOT NULL,
download_count int DEFAULT 0 NOT NULL,
last_download datetime DEFAULT '0000-00-00 00:00:00' NULL,
file_path varchar(255) NOT NULL,
file_size bigint(20) NOT NULL,
PRIMARY KEY (id),
KEY media_id (media_id),
KEY reference (reference),
KEY active_to (active_to)
)