qdr-temporary-shared-storage.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <?php
  2. /**
  3. * Plugin Name: QDR - Temporary Shared Storage (via REST API)
  4. * Plugin URI: https://www.quadarax.com/plugins/qdr-temporary-shared-storage
  5. * Description: Extends WordPress functionality for REST API interface to upload temporary media files and provide permalink to download to anybody who has permalink (via password protected download page)
  6. * Version: 1.0.0
  7. * Requires at least: 6.8.1
  8. * Requires PHP: 8.2
  9. * Author: Dalibor Votruba
  10. * Author URI: https://www.quadarax.com
  11. * License: GPL v2 or later
  12. * License URI: https://www.gnu.org/licenses/gpl-2.0.html
  13. * Text Domain: qdr-temporary-shared-storage
  14. * Domain Path: /languages
  15. */
  16. // If this file is called directly, abort.
  17. if (!defined('WPINC')) {
  18. die;
  19. }
  20. // Define plugin version
  21. define('QDR_TSS_VERSION', '1.0.0');
  22. // Define plugin directory paths
  23. define('QDR_TSS_PLUGIN_DIR', plugin_dir_path(__FILE__));
  24. define('QDR_TSS_PLUGIN_URL', plugin_dir_url(__FILE__));
  25. define('QDR_TSS_PLUGIN_BASENAME', plugin_basename(__FILE__));
  26. // Define uploads directory
  27. $upload_dir = wp_upload_dir();
  28. define('QDR_TSS_UPLOADS_DIR', $upload_dir['basedir'] . '/qdr-shared-storage/');
  29. define('QDR_TSS_UPLOADS_URL', $upload_dir['baseurl'] . '/qdr-shared-storage/');
  30. // Define database table name
  31. define('QDR_TSS_PLUGIN_TABLE', 'qdr_temporary_shared_storage');
  32. // Load the required files
  33. require_once QDR_TSS_PLUGIN_DIR . 'includes/class-qdr-tss-loader.php';
  34. require_once QDR_TSS_PLUGIN_DIR . 'includes/class-qdr-tss-i18n.php';
  35. require_once QDR_TSS_PLUGIN_DIR . 'includes/class-qdr-tss-db-manager.php';
  36. require_once QDR_TSS_PLUGIN_DIR . 'includes/class-qdr-tss-file-manager.php';
  37. require_once QDR_TSS_PLUGIN_DIR . 'includes/class-qdr-tss-settings.php';
  38. require_once QDR_TSS_PLUGIN_DIR . 'includes/class-qdr-tss-cron-manager.php';
  39. require_once QDR_TSS_PLUGIN_DIR . 'includes/functions.php';
  40. require_once QDR_TSS_PLUGIN_DIR . 'includes/class-qdr-tss.php';
  41. /**
  42. * The code that runs during plugin activation.
  43. */
  44. function activate_qdr_tss() {
  45. require_once QDR_TSS_PLUGIN_DIR . 'includes/class-qdr-tss-activator.php';
  46. QDR_TSS_Activator::activate();
  47. }
  48. /**
  49. * The code that runs during plugin deactivation.
  50. */
  51. function deactivate_qdr_tss() {
  52. require_once QDR_TSS_PLUGIN_DIR . 'includes/class-qdr-tss-deactivator.php';
  53. QDR_TSS_Deactivator::deactivate();
  54. }
  55. register_activation_hook(__FILE__, 'activate_qdr_tss');
  56. register_deactivation_hook(__FILE__, 'deactivate_qdr_tss');
  57. /**
  58. * Begins execution of the plugin.
  59. *
  60. * @since 1.0.0
  61. */
  62. function run_qdr_tss() {
  63. $plugin = new QDR_TSS();
  64. $plugin->run();
  65. }
  66. // Let's go!
  67. run_qdr_tss();