Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions src/FilterSetting/FilterSettingTypeFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@
* @author Christian Schiffler <c.schiffler@cyberspectrum.de>
* @author Sven Baumann <baumann.sv@gmail.com>
* @author David Molineus <david.molineus@netzmacht.de>
* @author Richard Henkenjohann <richardhenkenjohann@googlemail.com>
* @copyright 2012-2019 The MetaModels team.
* @license https://github.com/MetaModels/attribute_checkbox/blob/master/LICENSE LGPL-3.0-or-later
* @filesource
*/

namespace MetaModels\AttributeCheckboxBundle\FilterSetting;

use Contao\CoreBundle\Security\Authentication\Token\TokenChecker;
use Doctrine\DBAL\Connection;
use MetaModels\Filter\FilterUrlBuilder;
use MetaModels\Filter\Setting\AbstractFilterSettingTypeFactory;
Expand Down Expand Up @@ -52,17 +54,26 @@ class FilterSettingTypeFactory extends AbstractFilterSettingTypeFactory
*/
private $filterUrlBuilder;

/**
* The token checker.
*
* @var TokenChecker
*/
private $tokenChecker;

/**
* Create a new instance.
*
* @param Connection $connection The database connection.
* @param EventDispatcherInterface|null $dispatcher The event dispatcher.
* @param FilterUrlBuilder|null $filterUrlBuilder The filter URL builder.
* @param TokenChecker|null $tokenChecker The token checker.
*/
public function __construct(
Connection $connection,
EventDispatcherInterface $dispatcher = null,
FilterUrlBuilder $filterUrlBuilder = null
FilterUrlBuilder $filterUrlBuilder = null,
TokenChecker $tokenChecker = null
) {
parent::__construct();

Expand All @@ -75,6 +86,7 @@ public function __construct(
$this->connection = $connection;
$this->dispatcher = $dispatcher;
$this->filterUrlBuilder = $filterUrlBuilder;
$this->tokenChecker = $tokenChecker;
}

/**
Expand All @@ -87,7 +99,8 @@ public function createInstance($information, $filterSettings)
$information,
$this->connection,
$this->dispatcher,
$this->filterUrlBuilder
$this->filterUrlBuilder,
$this->tokenChecker
);
}
}
22 changes: 17 additions & 5 deletions src/FilterSetting/Published.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
/**
* This file is part of MetaModels/attribute_checkbox.
*
* (c) 2012-2019 The MetaModels team.
* (c) 2012-2020 The MetaModels team.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
Expand All @@ -15,13 +15,15 @@
* @author Andreas Isaak <info@andreas-isaak.de>
* @author Sven Baumann <baumann.sv@gmail.com>
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2012-2019 The MetaModels team.
* @author Richard Henkenjohann <richardhenkenjohann@googlemail.com>
* @copyright 2012-2020 The MetaModels team.
* @license https://github.com/MetaModels/attribute_checkbox/blob/master/LICENSE LGPL-3.0-or-later
* @filesource
*/

namespace MetaModels\AttributeCheckboxBundle\FilterSetting;

use Contao\CoreBundle\Security\Authentication\Token\TokenChecker;
use Contao\System;
use Doctrine\DBAL\Connection;
use MetaModels\Filter\FilterUrlBuilder;
Expand All @@ -44,6 +46,13 @@ class Published extends Simple
*/
private $connection;

/**
* The token checker.
*
* @var TokenChecker
*/
private $tokenChecker;

/**
* Constructor - initialize the object and store the parameters.
*
Expand All @@ -52,13 +61,15 @@ class Published extends Simple
* @param Connection $connection The database connection.
* @param EventDispatcherInterface|null $dispatcher The event dispatcher.
* @param FilterUrlBuilder|null $filterUrlBuilder The filter URL builder.
* @param TokenChecker|null $tokenChecker The token checker.
*/
public function __construct(
ICollection $collection,
array $data,
Connection $connection = null,
EventDispatcherInterface $dispatcher = null,
FilterUrlBuilder $filterUrlBuilder = null
FilterUrlBuilder $filterUrlBuilder = null,
TokenChecker $tokenChecker = null
) {
parent::__construct($collection, $data, $dispatcher, $filterUrlBuilder);

Expand All @@ -73,7 +84,8 @@ public function __construct(
$connection = System::getContainer()->get('database_connection');
}

$this->connection = $connection;
$this->connection = $connection;
$this->tokenChecker = $tokenChecker;
}

/**
Expand All @@ -86,7 +98,7 @@ public function prepareRules(IFilter $objFilter, $arrFilterUrl)
}

// Skip filter when in front end preview.
if ($this->get('check_allowpreview') && BE_USER_LOGGED_IN) {
if ($this->get('check_allowpreview') && ($this->tokenChecker && $this->tokenChecker->isPreviewMode())) {
return;
}

Expand Down
1 change: 1 addition & 0 deletions src/Resources/config/services.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ services:
- '@database_connection'
- '@event_dispatcher'
- '@MetaModels\Filter\FilterUrlBuilder'
- '@contao.security.token_checker'
tags:
- { name: metamodels.filter_factory }