REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 2.68 KB
Close
/home/nshryvcy/himaltourism.com/wp-content/plugins/mailpoet/lib/Logging/LogRepository.php
Text
Base64
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing namespace MailPoet\Logging; if (!defined('ABSPATH')) exit; use MailPoet\Doctrine\Repository; use MailPoet\Entities\LogEntity; use MailPoet\Entities\NewsletterEntity; use MailPoet\Util\Helpers; use MailPoetVendor\Carbon\Carbon; /** * @extends Repository<LogEntity> */ class LogRepository extends Repository { protected function getEntityClassName() { return LogEntity::class; } /** * @param \DateTimeInterface|null $dateFrom * @param \DateTimeInterface|null $dateTo * @param string|null $search * @param string $offset * @param string $limit * @return LogEntity[] */ public function getLogs( \DateTimeInterface $dateFrom = null, \DateTimeInterface $dateTo = null, string $search = null, string $offset = null, string $limit = null ): array { $query = $this->doctrineRepository->createQueryBuilder('l') ->select('l'); if ($dateFrom instanceof \DateTimeInterface) { $query ->andWhere('l.createdAt >= :dateFrom') ->setParameter('dateFrom', $dateFrom->format('Y-m-d 00:00:00')); } if ($dateTo instanceof \DateTimeInterface) { $query ->andWhere('l.createdAt <= :dateTo') ->setParameter('dateTo', $dateTo->format('Y-m-d 23:59:59')); } if ($search) { $search = Helpers::escapeSearch($search); $query ->andWhere('l.name LIKE :search or l.message LIKE :search') ->setParameter('search', "%$search%"); } $query->orderBy('l.createdAt', 'desc'); if ($offset !== null) { $query->setFirstResult((int)$offset); } if ($limit === null) { $query->setMaxResults(500); } else { $query->setMaxResults((int)$limit); } return $query->getQuery()->getResult(); } public function purgeOldLogs(int $daysToKeepLogs) { $queryBuilder = $this->entityManager->createQueryBuilder(); return $queryBuilder->delete(LogEntity::class, 'l') ->where('l.createdAt < :days') ->setParameter('days', Carbon::now()->subDays($daysToKeepLogs)->toDateTimeString()) ->getQuery()->execute(); } public function getRawMessagesForNewsletter(NewsletterEntity $newsletter, string $topic): array { return $this->entityManager->createQueryBuilder() ->select('DISTINCT logs.rawMessage message') ->from(LogEntity::class, 'logs') ->where('logs.name = :topic') ->andWhere('logs.context LIKE :context') ->orderBy('logs.createdAt') ->setParameter('context', json_encode(['newsletter_id' => $newsletter->getId()])) ->setParameter('topic', $topic) ->getQuery() ->getSingleColumnResult(); } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 5
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
LoggerFactory.php
4.15 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
LogHandler.php
2.36 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
LogRepository.php
2.68 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
PluginVersionProcessor.php
518 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
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).