public function AliasStorage::lookupPathSource in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/lib/Drupal/Core/Path/AliasStorage.php \Drupal\Core\Path\AliasStorage::lookupPathSource()
Returns Drupal system URL of an alias.
The default implementation performs case-insensitive matching on the 'source' and 'alias' strings.
Parameters
string $path: The path to investigate for corresponding system URLs.
string $langcode: Language code to search the path with. If there's no path defined for that language it will search paths without language.
Return value
string|false A Drupal system path, or FALSE if no path was found.
Overrides AliasStorageInterface::lookupPathSource
File
- core/
lib/ Drupal/ Core/ Path/ AliasStorage.php, line 210 - Contains \Drupal\Core\Path\AliasStorage.
Class
- AliasStorage
- Provides a class for CRUD operations on path aliases.
Namespace
Drupal\Core\PathCode
public function lookupPathSource($path, $langcode) {
$alias = $this->connection
->escapeLike($path);
$langcode_list = [
$langcode,
LanguageInterface::LANGCODE_NOT_SPECIFIED,
];
// See the queries above. Use LIKE for case-insensitive matching.
$select = $this->connection
->select('url_alias')
->fields('url_alias', [
'source',
])
->condition('alias', $alias, 'LIKE');
if ($langcode == LanguageInterface::LANGCODE_NOT_SPECIFIED) {
array_pop($langcode_list);
}
elseif ($langcode > LanguageInterface::LANGCODE_NOT_SPECIFIED) {
$select
->orderBy('langcode', 'DESC');
}
else {
$select
->orderBy('langcode', 'ASC');
}
$select
->orderBy('pid', 'DESC');
$select
->condition('langcode', $langcode_list, 'IN');
return $select
->execute()
->fetchField();
}