Fix File
•
/
home
/
sportsfe...
/
httpdocs
/
wp-conte...
/
plugins
/
sitepres...
/
inc
/
url-hand...
•
File:
wpml-lang-url-validator.class.php
•
Content:
<?php class WPML_Lang_URL_Validator { /** @var SitePress $sitepress */ private $sitepress; /** @var WP_Http $http_client */ private $http_client; /** @var WPML_URL_Converter $wpml_url_converter */ private $url_converter; /** @var array|WP_Error $response */ private $response; /** @var string $validation_url */ private $posted_url; /** * @param WP_Http $client * @param WPML_URL_Converter $wpml_url_converter * @param string $posted_url * @param SitePress $sitepress */ public function __construct( $client, $wpml_url_converter, $posted_url, $sitepress ) { $this->sitepress = $sitepress; $this->url_converter = $wpml_url_converter; $this->http_client = $client; } public function get_validation_url( $sample_lang_code ) { $url_glue = false === strpos ( $this->posted_url, '?' ) ? '?' : '&'; return $this->get_sample_url ( $sample_lang_code ) . $url_glue . '____icl_validate_directory=1'; } public function validate_langs_in_dirs( $sample_lang ) { $icl_folder_url_disabled = true; $validation_url = $this->get_validation_url( $sample_lang ); $response = $this->do_request( $validation_url ); if ( $response ) { $validation_token = '<!--' . $this->get_sample_url( $sample_lang ) . '-->'; $is_wp_error = is_wp_error( $response ); $is_self_signed_certificate_error = isset( $response->errors['http_request_failed'] ) && $response->errors['http_request_failed'][0] === 'SSL certificate problem: self signed certificate'; $is_valid_response = ! $is_wp_error && isset( $response['response']['code'] ) && ( '200' === (string) $response['response']['code'] ); if ( ( $is_valid_response && false !== strpos( $response['body'], $validation_token ) ) || ( $is_wp_error && $is_self_signed_certificate_error ) ) { $icl_folder_url_disabled = false; } } return $icl_folder_url_disabled; } public function print_error_response() { $response = $this->response; $output = ''; if ( is_wp_error ( $response ) ) { $output .= '<strong>'; $output .= $response->get_error_message (); $output .= '</strong>'; } elseif ( $response[ 'response' ][ 'code' ] != '200' ) { $output .= '<strong>'; $output .= sprintf ( __ ( 'HTTP code: %s (%s)', 'sitepress' ), $response[ 'response' ][ 'code' ], $response[ 'response' ][ 'message' ] ); $output .= '</strong>'; } else { $output .= '<div style="width:100%;height:150px;overflow:auto;background-color:#fff;color:#000;font-family:Courier;font-style:normal;border:1px solid #aaa;">' . htmlentities ( $response[ 'body' ] ) . '</div>'; } return $output; } public function print_explanation( $sample_lang_code, $root = false ) { $def_lang_code = $this->sitepress->get_default_language(); $sample_lang = $this->sitepress->get_language_details( $sample_lang_code ); $def_lang = $this->sitepress->get_language_details( $def_lang_code ); $output = '<span class="explanation-text">('; $output .= sprintf( '%s - %s, %s - %s', trailingslashit( $this->get_sample_url( $root ? $def_lang_code : '' ) ), esc_html( $def_lang['display_name'] ), trailingslashit( $this->get_sample_url( $sample_lang_code ) ), esc_html( $sample_lang['display_name'] ) ); $output .= ')</span>'; return $output; } private function do_request( $validation_url ) { $this->response = $this->http_client->request ( $validation_url, array( 'timeout' => 15, 'decompress' => false ) ); return $this->response; } private function get_sample_url( $sample_lang_code ) { $abs_home = $this->url_converter->get_abs_home (); return untrailingslashit( trailingslashit ( $abs_home ) . $sample_lang_code ); } }
•
Search:
•
Replace:
Function
Edit by line
Download
Information
Rename
Copy
Move
Delete
Chmod
List