PHP 7.4.33
Preview: links-subdomain.php Size: 2.16 KB
/home/zcziejy/ryadselyen/polylang/include/links-subdomain.php
<?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;
	}
}

Directory Contents

Dirs: 0 × Files: 48
Name Size Perms Modified Actions
420 B lrw-r--r-- 2026-01-09 04:01:54
Edit Download
17.35 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
5.78 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
1.46 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
8.02 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
2.44 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
14.99 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
9.87 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
1.01 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
4.56 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
5.55 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
3.23 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
2.57 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
15.38 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
6.05 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
7.18 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
9.31 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
17.55 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
9.04 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
3.16 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
3.03 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
10.23 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
3.18 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
6.48 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
5.62 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
2.16 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
1.30 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
1.97 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
33.82 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
4.43 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
8.37 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
6.39 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
3.12 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
6.75 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
10.76 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
1.10 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
1.89 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
13.27 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
3.49 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
12.38 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
16.39 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
11.86 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
9.73 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
3.46 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
2.25 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
2.28 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
9.44 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
4.57 KB lrw-r--r-- 2023-11-20 18:14:47
Edit Download
If ZipArchive is unavailable, a .tar will be created (no compression).