UriCondition.php in Access Filter 8
File
src/Plugin/AccessFilter/Condition/UriCondition.php
View source
<?php
namespace Drupal\access_filter\Plugin\AccessFilter\Condition;
use Symfony\Component\HttpFoundation\Request;
class UriCondition extends ConditionBase {
public function summary() {
$regex = !empty($this->configuration['regex']) ? '<span class="regex">[Regex]</span>' : '';
return $this->configuration['uri'] . $regex;
}
public function validateConfiguration(array $configuration) {
$errors = [];
if (!isset($configuration['uri']) || !strlen($configuration['uri'])) {
$errors[] = $this
->t("'@property' is required.", [
'@property' => 'uri',
]);
}
return $errors;
}
public function isMatched(Request $request) {
$uri = $request
->getPathInfo();
$qs = $request
->getQueryString();
if ($qs !== NULL) {
$uri .= '?' . $qs;
}
if (empty($this->configuration['regex'])) {
return $uri == $this->configuration['uri'];
}
else {
return (bool) preg_match($this->configuration['uri'], $uri);
}
}
}