AliasRepositoryDecorator.php in Language neutral aliases 8.2
File
src/AliasRepositoryDecorator.php
View source
<?php
namespace Drupal\language_neutral_aliases;
use Drupal\Core\Database\Connection;
use Drupal\Core\Language\LanguageInterface;
use Drupal\path_alias\AliasRepository;
class AliasRepositoryDecorator extends AliasRepository {
protected $connection;
protected $repository;
public function __construct($repository, Connection $connection) {
parent::__construct($connection);
$this->repository = $repository;
}
public function preloadPathAlias($preloaded, $langcode) {
return $this->repository
->preloadPathAlias($preloaded, LanguageInterface::LANGCODE_NOT_SPECIFIED);
}
public function lookupBySystemPath($path, $langcode) {
return $this->repository
->lookupBySystemPath($path, LanguageInterface::LANGCODE_NOT_SPECIFIED);
}
public function lookupByAlias($alias, $langcode) {
return $this->repository
->lookupByAlias($alias, LanguageInterface::LANGCODE_NOT_SPECIFIED);
}
public function pathHasMatchingAlias($initial_substring) {
$query = $this
->getBaseQuery();
$query
->addExpression(1);
return (bool) $query
->condition('base_table.path', $this->connection
->escapeLike($initial_substring) . '%', 'LIKE')
->condition('base_table.langcode', LanguageInterface::LANGCODE_NOT_SPECIFIED)
->range(0, 1)
->execute()
->fetchField();
}
}