REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 2.41 KB
Close
/home/nshryvcy/himaltourism.com/wp-content/plugins/mailpoet/lib/Cron/Workers/SendingQueue/Tasks/Posts.php
Text
Base64
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing namespace MailPoet\Cron\Workers\SendingQueue\Tasks; if (!defined('ABSPATH')) exit; use MailPoet\DI\ContainerWrapper; use MailPoet\Entities\NewsletterEntity; use MailPoet\Entities\NewsletterPostEntity; use MailPoet\Logging\LoggerFactory; use MailPoet\Newsletter\NewsletterPostsRepository; class Posts { /** @var LoggerFactory */ private $loggerFactory; /** @var NewsletterPostsRepository */ private $newsletterPostRepository; public function __construct() { $this->loggerFactory = LoggerFactory::getInstance(); $this->newsletterPostRepository = ContainerWrapper::getInstance()->get(NewsletterPostsRepository::class); } public function extractAndSave($renderedNewsletter, NewsletterEntity $newsletter): bool { if ($newsletter->getType() !== NewsletterEntity::TYPE_NOTIFICATION_HISTORY) { return false; } $this->loggerFactory->getLogger(LoggerFactory::TOPIC_POST_NOTIFICATIONS)->info( 'extract and save posts - before', ['newsletter_id' => $newsletter->getId()] ); preg_match_all( '/data-post-id="(\d+)"/ism', $renderedNewsletter['html'], $matchedPostsIds); $matchedPostsIds = $matchedPostsIds[1]; if (!count($matchedPostsIds)) { return false; } $parent = $newsletter->getParent(); // parent post notification if (!$parent instanceof NewsletterEntity) { $this->loggerFactory->getLogger(LoggerFactory::TOPIC_POST_NOTIFICATIONS)->info( 'parent post has not been found', ['newsletter_id' => $newsletter->getId()] ); return false; } foreach ($matchedPostsIds as $postId) { $newsletterPost = new NewsletterPostEntity($parent, $postId); $this->newsletterPostRepository->persist($newsletterPost); } $this->newsletterPostRepository->flush(); $this->loggerFactory->getLogger(LoggerFactory::TOPIC_POST_NOTIFICATIONS)->info( 'extract and save posts - after', ['newsletter_id' => $newsletter->getId(), 'matched_posts_ids' => $matchedPostsIds] ); return true; } public function getAlcPostsCount($renderedNewsletter, NewsletterEntity $newsletter) { $templatePostsCount = substr_count($newsletter->getContent(), 'data-post-id'); $newsletterPostsCount = substr_count($renderedNewsletter['html'], 'data-post-id'); return $newsletterPostsCount - $templatePostsCount; } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 6
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
index.php
0 B
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Links.php
3.50 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Mailer.php
2.49 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Newsletter.php
12.23 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Posts.php
2.41 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Shortcodes.php
1.44 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).