Files
Roman Pyrih c2e100a763 first commit
2023-07-24 08:30:51 +02:00

67 lines
2.2 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
/**
* Compatibility with TranslatePress Translate Multilingual sites: https://wordpress.org/plugins/translatepress-multilingual/
*/
class Brizy_Compatibilities_TranslatePress {
static $url = '';
public function __construct() {
add_action( 'brizy_toolbar_link', [ $this, 'brizy_toolbar_link' ], 10, 2 );
add_action( 'trp_translated_html', [ $this, 'trp_translated_html' ], 10 );
add_action( 'home_url', [ $this, 'home_url' ] );
add_action( 'brizy_create_editor_config_before', [ $this, 'rmLangPrefixFromHomeUrl' ] );
add_action( 'brizy_create_editor_config_after', [ $this, 'rmFilterTrpHomeUrl' ] );
add_action( 'brizy_before_send_asset', [ $this, 'clearBufferBeforeSendImg' ] );
}
public function home_url( $url ) {
return rtrim( $url, '/' );
}
public function brizy_toolbar_link( $url, $post ) {
global $TRP_LANGUAGE;
$settings = new TRP_Settings();
$settings = $settings->get_settings();
if ( $TRP_LANGUAGE == $settings['default-language'] && !trp_is_translation_editor() ) {
return $url;
}
add_filter( 'trp_home_url', [ $this, 'trp_home_url' ], 10, 5 );
$url = base64_encode( preg_replace("(^https?://)", "", $post->edit_url() ) );
self::$url = $url;
remove_filter( 'trp_home_url', [ $this, 'trp_home_url' ] );
return $url;
}
public function trp_translated_html( $html ) {
return str_replace( self::$url, base64_decode( self::$url ), $html );
}
public function trp_home_url( $new_url, $abs_home, $TRP_LANGUAGE, $path, $url ) {
return $url;
}
/**
* Remove language prefix from the home url before compilation.
* If the page is compilated on a non default language url(http://brizy.local/ro/about/) then images will have the url with the language prefix in the html.
* background-image: url({@brizy_SITE_URL_PLACEHOLDER@}/ro/?brizy_media=wp-48eefa376f2dc71bb9eb5ce2bb5e0b48&brizy_crop=iW%3D5000%26iH%3Dany)
* In this case Brizy_Editor_Asset_MediaAssetProcessor won't find all the images in the html.
*/
public function rmLangPrefixFromHomeUrl() {
add_filter( 'trp_home_url', [ $this, 'trp_home_url' ], 10, 5 );
}
public function rmFilterTrpHomeUrl() {
remove_filter( 'trp_home_url', [ $this, 'trp_home_url' ] );
}
public function clearBufferBeforeSendImg() {
ob_end_clean();
}
}