From 1f924c8d2e14afb94907e01958bd32faffb47240 Mon Sep 17 00:00:00 2001 From: wxa Date: Tue, 19 Oct 2021 16:10:38 +0300 Subject: [PATCH] Mark StatisticsUnsubscribes model as deprecated [MAILPOET-3819] --- lib/Models/StatisticsUnsubscribes.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lib/Models/StatisticsUnsubscribes.php b/lib/Models/StatisticsUnsubscribes.php index fa7fcf0306..bb9b36ac1c 100644 --- a/lib/Models/StatisticsUnsubscribes.php +++ b/lib/Models/StatisticsUnsubscribes.php @@ -2,6 +2,11 @@ namespace MailPoet\Models; +/** + * @deprecated This model is deprecated. Use MailPoet\Statistics\StatisticsUnsubscribesRepository and respective Doctrine entities instead. + * This class can be removed after 2022-03-25 + */ + /** * @property int $newsletterId * @property int $subscriberId @@ -11,6 +16,7 @@ class StatisticsUnsubscribes extends Model { public static $_table = MP_STATISTICS_UNSUBSCRIBES_TABLE; // phpcs:ignore PSR2.Classes.PropertyDeclaration public static function getOrCreate($subscriberId, $newsletterId, $queueId) { + self::deprecationError(__FUNCTION__); $statistics = self::where('subscriber_id', $subscriberId) ->where('newsletter_id', $newsletterId) ->where('queue_id', $queueId) @@ -24,4 +30,24 @@ class StatisticsUnsubscribes extends Model { } return $statistics; } + + /** + * @deprecated This is here for displaying the deprecation warning for properties. + */ + public function __get($key) { + self::deprecationError('property "' . $key . '"'); + return parent::__get($key); + } + + /** + * @deprecated This is here for displaying the deprecation warning for static calls. + */ + public static function __callStatic($name, $arguments) { + self::deprecationError($name); + return parent::__callStatic($name, $arguments); + } + + private static function deprecationError($methodName) { + trigger_error('Calling ' . $methodName . ' is deprecated and will be removed. Use MailPoet\Statistics\StatisticsUnsubscribesRepository and respective Doctrine entity instead.', E_USER_DEPRECATED); + } }