‪TYPO3CMS  ‪main
IncrementHitCount.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
26 
31 {
33 
35  {
36  $this->features = ‪$features;
37  }
38 
39  #[AsEventListener('redirects-increment-hit-count')]
40  public function ‪__invoke(‪RedirectWasHitEvent $event): void
41  {
43  if (‪$matchedRedirect['disable_hitcount']
44  || !$this->features->isFeatureEnabled('redirects.hitCount')
45  ) {
46  // Early return in case hit count is disabled
47  return;
48  }
49 
50  $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('sys_redirect');
51  $queryBuilder
52  ->update('sys_redirect')
53  ->where(
54  $queryBuilder->expr()->eq('uid', $queryBuilder->createNamedParameter(‪$matchedRedirect['uid'], ‪Connection::PARAM_INT))
55  )
56  ->set('hitcount', $queryBuilder->quoteIdentifier('hitcount') . '+1', false)
57  ->set('lasthiton', ‪$GLOBALS['EXEC_TIME'])
58  ->executeStatement();
59  }
60 }
‪TYPO3\CMS\Redirects\EventListener\IncrementHitCount\__invoke
‪__invoke(RedirectWasHitEvent $event)
Definition: IncrementHitCount.php:40
‪TYPO3\CMS\Core\Database\Connection\PARAM_INT
‪const PARAM_INT
Definition: Connection.php:52
‪TYPO3\CMS\Redirects\EventListener\IncrementHitCount\$features
‪Features $features
Definition: IncrementHitCount.php:32
‪TYPO3\CMS\Core\Attribute\AsEventListener
Definition: AsEventListener.php:25
‪TYPO3\CMS\Redirects\EventListener
Definition: AddPageTypeZeroSource.php:18
‪TYPO3\CMS\Redirects\Event\RedirectWasHitEvent\getMatchedRedirect
‪getMatchedRedirect()
Definition: RedirectWasHitEvent.php:56
‪TYPO3\CMS\Redirects\EventListener\IncrementHitCount\__construct
‪__construct(Features $features)
Definition: IncrementHitCount.php:34
‪TYPO3\CMS\Redirects\EventListener\IncrementHitCount
Definition: IncrementHitCount.php:31
‪TYPO3\CMS\Core\Configuration\Features
Definition: Features.php:56
‪TYPO3\CMS\Core\Database\Connection
Definition: Connection.php:41
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Redirects\Message\$matchedRedirect
‪identifier readonly UriInterface readonly int readonly array $matchedRedirect
Definition: RedirectWasHitMessage.php:35
‪TYPO3\CMS\Core\Database\ConnectionPool
Definition: ConnectionPool.php:46
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:52
‪TYPO3\CMS\Redirects\Event\RedirectWasHitEvent
Definition: RedirectWasHitEvent.php:33