| Server IP : 185.11.201.71 / Your IP : 192.168.7.18 Web Server : Apache/2.4.29 (Ubuntu) System : Linux tech-virtual-machine 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 User : tech ( 1000) PHP Version : 7.4.28 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/enaireaceleradora.old/wp-content/plugins/polylang/include/ |
Upload File : |
<?php
/**
* @package Polylang
*/
/**
* Links model for use when the language code is added in the url as a subdomain
* for example en.mysite.com/something.
*
* @since 1.2
*/
class PLL_Links_Subdomain extends PLL_Links_Abstract_Domain {
/**
* Stores whether the home url includes www. or not.
* Either '://' or '://www.'.
*
* @var string
*/
protected $www;
/**
* Constructor.
*
* @since 1.7.4
*
* @param PLL_Model $model Instance of PLL_Model.
*/
public function __construct( &$model ) {
parent::__construct( $model );
$this->www = ( false === strpos( $this->home, '://www.' ) ) ? '://' : '://www.';
}
/**
* Adds the language code in a url.
*
* @since 1.2
* @since 3.4 Accepts now a language slug.
*
* @param string $url The url to modify.
* @param PLL_Language|string|false $language Language object or slug.
* @return string The modified url.
*/
public function add_language_to_link( $url, $language ) {
if ( $language instanceof PLL_Language ) {
$language = $language->slug;
}
if ( ! empty( $language ) && false === strpos( $url, '://' . $language . '.' ) ) {
$url = $this->options['default_lang'] === $language && $this->options['hide_default'] ? $url : str_replace( $this->www, '://' . $language . '.', $url );
}
return $url;
}
/**
* Returns the url without the language code.
*
* @since 1.2
*
* @param string $url The url to modify.
* @return string The modified url.
*/
public function remove_language_from_link( $url ) {
$languages = $this->model->get_languages_list(
array(
'hide_default' => $this->options['hide_default'],
'fields' => 'slug',
)
);
if ( ! empty( $languages ) ) {
$url = preg_replace( '#://(' . implode( '|', $languages ) . ')\.#', $this->www, $url );
}
return $url;
}
/**
* Get the hosts managed on the website.
*
* @since 1.5
*
* @return string[] The list of hosts.
*/
public function get_hosts() {
$hosts = array();
foreach ( $this->model->get_languages_list() as $lang ) {
$host = wp_parse_url( $this->home_url( $lang ), PHP_URL_HOST );
$hosts[ $lang->slug ] = $host ? $host : '';
}
return $hosts;
}
}