vendor/sulu/sulu/src/Sulu/Component/Webspace/Url.php line 16
<?php
/*
* This file is part of Sulu.
*
* (c) Sulu GmbH
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
namespace Sulu\Component\Webspace;
use Sulu\Component\Util\ArrayableInterface;
class Url implements ArrayableInterface
{
/**
* The url itself.
*
* @var string
*/
private $url;
/**
* The language to which the url leads.
*
* @var string
*/
private $language;
/**
* The country to which the url leads.
*
* @var string
*/
private $country;
/**
* The segment to which the url leads.
*
* @var string
*/
private $segment;
/**
* The url to which this url redirects.
*
* @var string
*/
private $redirect;
/**
* Indicate the main url.
*
* @var bool
*/
private $main;
/**
* @var string
*/
private $environment;
public function __construct($url = null, $environment = null)
{
$this->url = $url;
$this->environment = $environment;
}
/**
* Sets the url.
*
* @param string $url
*/
public function setUrl($url)
{
$this->url = $url;
}
/**
* Returns the url.
*
* @return string
*/
public function getUrl()
{
return $this->url;
}
/**
* Sets the country to which this url leads.
*
* @param string $country
*/
public function setCountry($country)
{
$this->country = $country;
}
/**
* Returns the country to which this url leads.
*
* @return string
*/
public function getCountry()
{
return $this->country;
}
/**
* Sets the language to which this url leads.
*
* @param string $language
*/
public function setLanguage($language)
{
$this->language = $language;
}
/**
* Returns the language to which this url leads.
*
* @return string
*/
public function getLanguage()
{
return $this->language;
}
/**
* Sets the segment to which this url leads.
*
* @param string $segment
*/
public function setSegment($segment)
{
$this->segment = $segment;
}
/**
* Returns the segment to which this url leads.
*
* @return string
*/
public function getSegment()
{
return $this->segment;
}
/**
* Sets the redirect for this url.
*
* @param string $redirect
*/
public function setRedirect($redirect)
{
$this->redirect = $redirect;
}
/**
* Returns the redirect url.
*
* @return string
*/
public function getRedirect()
{
return $this->redirect;
}
/**
* Return main flag.
*
* @return bool
*/
public function isMain()
{
return $this->main;
}
/**
* Sets main flag.
*
* @param bool $main
*/
public function setMain($main)
{
$this->main = $main;
}
/**
* Returns the environment.
*
* @return string
*/
public function getEnvironment()
{
return $this->environment;
}
/**
* Sets the environment.
*
* @param string $environment
*/
public function setEnvironment($environment)
{
$this->environment = $environment;
}
/**
* Checks if this URL handles the locale for the given language and country.
*
* @param string $language
* @param string $country
*
* @return bool
*/
public function isValidLocale($language, $country)
{
return ($this->getLanguage() === $language && $this->getCountry() === $country)
|| (empty($this->getLanguage()) && empty($this->getCountry()));
}
public function toArray($depth = null)
{
$res = [];
$res['url'] = $this->getUrl();
$res['language'] = $this->getLanguage();
$res['country'] = $this->getCountry();
$res['segment'] = $this->getSegment();
$res['redirect'] = $this->getRedirect();
$res['main'] = $this->isMain();
$res['environment'] = $this->getEnvironment();
return $res;
}
}