REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 2.32 KB
Close
/home/nshryvcy/himaltourism.com/wp-content/plugins/mailpoet/lib/Cron/Workers/StatsNotifications/StatsNotificationsRepository.php
Text
Base64
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing namespace MailPoet\Cron\Workers\StatsNotifications; if (!defined('ABSPATH')) exit; use MailPoet\Doctrine\Repository; use MailPoet\Entities\ScheduledTaskEntity; use MailPoet\Entities\StatsNotificationEntity; use MailPoetVendor\Carbon\Carbon; /** * @extends Repository<StatsNotificationEntity> */ class StatsNotificationsRepository extends Repository { protected function getEntityClassName() { return StatsNotificationEntity::class; } /** * @param int $newsletterId * @return StatsNotificationEntity|null */ public function findOneByNewsletterId($newsletterId) { return $this->doctrineRepository ->createQueryBuilder('sn') ->andWhere('sn.newsletter = :newsletterId') ->setParameter('newsletterId', $newsletterId) ->setMaxResults(1) ->getQuery() ->getOneOrNullResult(); } /** * @param int|null $limit * @return StatsNotificationEntity[] */ public function findScheduled($limit = null) { $date = new Carbon(); $query = $this->doctrineRepository ->createQueryBuilder('sn') ->join('sn.task', 'tasks') ->join('sn.newsletter', 'n') ->addSelect('tasks') ->addSelect('n') ->addOrderBy('tasks.priority') ->addOrderBy('tasks.updatedAt') ->where('tasks.deletedAt IS NULL') ->andWhere('tasks.status = :status') ->setParameter('status', ScheduledTaskEntity::STATUS_SCHEDULED) ->andWhere('tasks.scheduledAt < :date') ->setParameter('date', $date) ->andWhere('tasks.type = :workerType') ->setParameter('workerType', Worker::TASK_TYPE); if (is_int($limit)) { $query->setMaxResults($limit); } return $query->getQuery()->getResult(); } public function deleteOrphanedScheduledTasks() { $scheduledTasksTable = $this->entityManager->getClassMetadata(ScheduledTaskEntity::class)->getTableName(); $statsNotificationsTable = $this->entityManager->getClassMetadata(StatsNotificationEntity::class)->getTableName(); $this->entityManager->getConnection()->executeStatement(" DELETE st FROM $scheduledTasksTable st LEFT JOIN $statsNotificationsTable sn ON sn.task_id = st.id WHERE sn.id IS NULL AND st.type = :taskType; ", ['taskType' => Worker::TASK_TYPE]); } }
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
AutomatedEmails.php
5.64 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
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
NewsletterLinkRepository.php
1.43 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
Scheduler.php
3.00 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
StatsNotificationsRepository.php
2.32 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
Worker.php
8.10 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).