Keine Beschreibung

PersonalDataExporters.php 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. namespace MailPoet\Config;
  3. if (!defined('ABSPATH')) exit;
  4. use MailPoet\DI\ContainerWrapper;
  5. use MailPoet\Subscribers\ImportExport\PersonalDataExporters\NewsletterClicksExporter;
  6. use MailPoet\Subscribers\ImportExport\PersonalDataExporters\NewsletterOpensExporter;
  7. use MailPoet\Subscribers\ImportExport\PersonalDataExporters\NewslettersExporter;
  8. use MailPoet\Subscribers\ImportExport\PersonalDataExporters\SegmentsExporter;
  9. use MailPoet\Subscribers\ImportExport\PersonalDataExporters\SubscriberExporter;
  10. use MailPoet\WP\Functions as WPFunctions;
  11. class PersonalDataExporters {
  12. public function init() {
  13. WPFunctions::get()->addFilter('wp_privacy_personal_data_exporters', [$this, 'registerSubscriberExporter']);
  14. WPFunctions::get()->addFilter('wp_privacy_personal_data_exporters', [$this, 'registerSegmentsExporter']);
  15. WPFunctions::get()->addFilter('wp_privacy_personal_data_exporters', [$this, 'registerNewslettersExporter']);
  16. WPFunctions::get()->addFilter('wp_privacy_personal_data_exporters', [$this, 'registerNewsletterClicksExporter']);
  17. WPFunctions::get()->addFilter('wp_privacy_personal_data_exporters', [$this, 'registerNewsletterOpensExporter']);
  18. }
  19. public function registerSegmentsExporter($exporters) {
  20. $exporters[] = [
  21. 'exporter_friendly_name' => WPFunctions::get()->__('MailPoet Lists', 'mailpoet'),
  22. 'callback' => [new SegmentsExporter(), 'export'],
  23. ];
  24. return $exporters;
  25. }
  26. public function registerSubscriberExporter($exporters) {
  27. $exporters[] = [
  28. 'exporter_friendly_name' => WPFunctions::get()->__('MailPoet Subscriber Data', 'mailpoet'),
  29. 'callback' => [new SubscriberExporter(), 'export'],
  30. ];
  31. return $exporters;
  32. }
  33. public function registerNewslettersExporter($exporters) {
  34. $newsletterExporter = ContainerWrapper::getInstance()->get(NewslettersExporter::class);
  35. $exporters[] = [
  36. 'exporter_friendly_name' => WPFunctions::get()->__('MailPoet Emails', 'mailpoet'),
  37. 'callback' => [$newsletterExporter, 'export'],
  38. ];
  39. return $exporters;
  40. }
  41. public function registerNewsletterClicksExporter($exporters) {
  42. $exporters[] = [
  43. 'exporter_friendly_name' => WPFunctions::get()->__('MailPoet Email Clicks', 'mailpoet'),
  44. 'callback' => [ContainerWrapper::getInstance()->get(NewsletterClicksExporter::class), 'export'],
  45. ];
  46. return $exporters;
  47. }
  48. public function registerNewsletterOpensExporter($exporters) {
  49. $exporters[] = [
  50. 'exporter_friendly_name' => WPFunctions::get()->__('MailPoet Email Opens', 'mailpoet'),
  51. 'callback' => [ContainerWrapper::getInstance()->get(NewsletterOpensExporter::class), 'export'],
  52. ];
  53. return $exporters;
  54. }
  55. }