eZ\Publish\Core\Persistence\Legacy\Content\UrlAlias\Mapper::extractUrlAliasFromData PHP Method

extractUrlAliasFromData() public method

Creates a UrlAlias object from database row data.
public extractUrlAliasFromData ( mixed[] $data ) : eZ\Publish\SPI\Persistence\Content\UrlAlias
$data mixed[]
return eZ\Publish\SPI\Persistence\Content\UrlAlias
    public function extractUrlAliasFromData($data)
    {
        $urlAlias = new UrlAlias();
        list($type, $destination) = $this->matchTypeAndDestination($data['action']);
        $urlAlias->id = $data['parent'] . '-' . $data['text_md5'];
        $urlAlias->pathData = $this->normalizePathData($data['raw_path_data']);
        $urlAlias->languageCodes = $this->languageMaskGenerator->extractLanguageCodesFromMask($data['lang_mask']);
        $urlAlias->alwaysAvailable = $this->languageMaskGenerator->isAlwaysAvailable($data['lang_mask']);
        $urlAlias->isHistory = isset($data['is_path_history']) ? $data['is_path_history'] : !$data['is_original'];
        $urlAlias->isCustom = (bool) $data['is_alias'];
        $urlAlias->forward = $data['is_alias'] && $data['alias_redirects'];
        $urlAlias->destination = $destination;
        $urlAlias->type = $type;
        return $urlAlias;
    }

Usage Example

Beispiel #1
0
 /**
  * Loads URL alias by given $id.
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\NotFoundException
  *
  * @param string $id
  *
  * @return \eZ\Publish\SPI\Persistence\Content\UrlAlias
  */
 public function loadUrlAlias($id)
 {
     list($parentId, $textMD5) = explode('-', $id);
     $data = $this->gateway->loadRow($parentId, $textMD5);
     if (empty($data)) {
         throw new NotFoundException('URLAlias', $id);
     }
     $data['raw_path_data'] = $this->gateway->loadPathData($data['id']);
     return $this->mapper->extractUrlAliasFromData($data);
 }