PluginProbe
Polylang / 2.5
Polylang v2.5
3.8.9 3.8.8 3.8.7 3.8.6 3.8.5 3.8.4 3.8.3 2.7 2.7.0.1 2.7.1 2.7.2 2.7.3 2.7.4 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.9 2.9.1 2.9.2 3.0 3.0.1 3.0.2 3.0.3 All 233 releases
← All changes | include/links-subdomain.php +11 -22 3.02.5 View file →
@@ -1,8 +1,5 @@
1 1 <?php
2 -/**
3 - * @package Polylang
4 - */
5 2
6 3 /**
7 4 * Links model for use when the language code is added in url as a subdomain
8 5 * for example en.mysite.com/something
@@ -10,22 +7,16 @@
10 7 *
11 8 * @since 1.2
12 9 */
13 10 class PLL_Links_Subdomain extends PLL_Links_Abstract_Domain {
14 - /**
15 - * Stores whether the home url includes www. or not.
16 - * Either '://' or '://www.'.
17 - *
18 - * @var string
19 - */
20 11 protected $www;
21 12
22 13 /**
23 - * Constructor.
14 + * Constructor
24 15 *
25 16 * @since 1.7.4
26 17 *
27 - * @param PLL_Model $model Instance of PLL_Model.
18 + * @param object $model PLL_Model instance
28 19 */
29 20 public function __construct( &$model ) {
30 21 parent::__construct( $model );
31 22 $this->www = ( false === strpos( $this->home, '://www.' ) ) ? '://' : '://www.';
@@ -31,16 +22,16 @@
31 22 $this->www = ( false === strpos( $this->home, '://www.' ) ) ? '://' : '://www.';
32 23 }
33 24
34 25 /**
35 - * Adds the language code in a url.
36 - * links_model interface.
26 + * Adds the language code in url
27 + * links_model interface
37 28 *
38 29 * @since 1.2
39 30 *
40 - * @param string $url The url to modify.
41 - * @param PLL_Language $lang The language object.
42 - * @return string Modified url.
31 + * @param string $url url to modify
32 + * @param object $lang language
33 + * @return string modified url
43 34 */
44 35 public function add_language_to_link( $url, $lang ) {
45 36 if ( ! empty( $lang ) && false === strpos( $url, '://' . $lang->slug . '.' ) ) {
46 37 $url = $this->options['default_lang'] == $lang->slug && $this->options['hide_default'] ? $url : str_replace( $this->www, '://' . $lang->slug . '.', $url );
@@ -57,10 +48,8 @@
57 48 * @param string $url url to modify
58 49 * @return string modified url
59 50 */
60 51 public function remove_language_from_link( $url ) {
61 - $languages = array();
62 -
63 52 foreach ( $this->model->get_languages_list() as $language ) {
64 53 if ( ! $this->options['hide_default'] || $this->options['default_lang'] != $language->slug ) {
65 54 $languages[] = $language->slug;
66 55 }
@@ -66,9 +55,9 @@
66 55 }
67 56 }
68 57
69 58 if ( ! empty( $languages ) ) {
70 - $url = preg_replace( '#://(' . implode( '|', $languages ) . ')\.#', $this->www, $url );
59 + $url = preg_replace( '#:\/\/(' . implode( '|', $languages ) . ')\.#', $this->www, $url );
71 60 }
72 61
73 62 return $url;
74 63 }
@@ -73,18 +62,18 @@
73 62 return $url;
74 63 }
75 64
76 65 /**
77 - * Get hosts managed on the website.
66 + * Get hosts managed on the website
78 67 *
79 68 * @since 1.5
80 69 *
81 - * @return string[] The list of hosts.
70 + * @return array list of hosts
82 71 */
83 72 public function get_hosts() {
84 73 $hosts = array();
85 74 foreach ( $this->model->get_languages_list() as $lang ) {
86 - $hosts[ $lang->slug ] = wp_parse_url( $this->home_url( $lang ), PHP_URL_HOST );
75 + $hosts[ $lang->slug ] = parse_url( $this->home_url( $lang ), PHP_URL_HOST );
87 76 }
88 77 return $hosts;
89 78 }
90 79 }