From 9c91bfc805bb6d7d280d7b69d9e469706bc84741 Mon Sep 17 00:00:00 2001 From: Alex Zappa Date: Tue, 23 Apr 2019 20:44:34 +0200 Subject: [PATCH] WIP fix frontend for elementor --- prepros-6.config | 4 ++++ ...ultidomain-support-for-elementor-admin.php | 19 ++++++++++++++----- ...idomain-support-for-elementor-admin.min.js | 2 +- ...ain-support-for-elementor-admin.min.js.map | 2 +- ...lass-multidomain-support-for-elementor.php | 5 +++-- 5 files changed, 23 insertions(+), 9 deletions(-) diff --git a/prepros-6.config b/prepros-6.config index e3a25f4..8c692bc 100644 --- a/prepros-6.config +++ b/prepros-6.config @@ -22,6 +22,10 @@ { "path": "source/admin/css/_mixinx.scss", "configJson": "{\"forceCompile\":false,\"customOutput\":\"\",\"autoCompile\":false,\"sourceMap\":false,\"compiler-node-sass\":{\"enabled\":true,\"outputStyle\":\"nested\"},\"compiler-autoprefixer\":{\"enabled\":false},\"compiler-minify-css\":{\"enabled\":false},\"outputSuffix\":null}" + }, + { + "path": "source/admin/js/multidomain-support-for-elementor-admin.js", + "configJson": "{\"autoCompile\":true,\"forceCompile\":false,\"customOutput\":\"\",\"sourceMap\":true,\"compiler-concat-js\":{\"enabled\":true},\"compiler-babel\":{\"enabled\":true},\"compiler-uglify-js\":{\"enabled\":true,\"mangle\":true},\"outputSuffix\":\".min\"}" } ], "fileTree": { diff --git a/source/admin/class-multidomain-support-for-elementor-admin.php b/source/admin/class-multidomain-support-for-elementor-admin.php index b058a0d..f0fd727 100755 --- a/source/admin/class-multidomain-support-for-elementor-admin.php +++ b/source/admin/class-multidomain-support-for-elementor-admin.php @@ -188,7 +188,7 @@ private function get_current_language() break; case 'wpml': - return apply_filters( 'wpml_current_language', null ); + return apply_filters('wpml_current_language', null); break; default: @@ -244,13 +244,16 @@ public function get_domains($attr = 'all') */ private function get_content_lang() { + //TODO: improve this part + $postID = get_the_ID() ? get_the_ID() : $_GET['post']; + switch ($this->get_wpml_plugin_name()) { case 'polylang': - $lang_key = pll_get_post_language(get_the_ID()); + $lang_key = pll_get_post_language($postID); break; case 'wpml': - $lang_key = wpml_get_language_information(get_the_ID())['language_code']; + $lang_key = wpml_get_language_information($postID)['language_code']; break; default: @@ -287,6 +290,14 @@ private function get_default_lang() } + public function override_elementor_config($settings) + { + $settings['home_url'] = $this->get_domains('url')[$this->get_current_language()]; + + return $settings; + } + + /** * Add danoate and rateit links to plugin meta * @param $actions @@ -328,8 +339,6 @@ public function get_server_origin() { if (array_key_exists('HTTP_ORIGIN', $_SERVER)) { $origin = $_SERVER['HTTP_ORIGIN']; - } else if (array_key_exists('HTTP_REFERER', $_SERVER)) { - $origin = $_SERVER['HTTP_REFERER']; } else { $origin = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST']; // in theory should be IP $_SERVER['REMOTE_ADDR']; } diff --git a/source/admin/js/multidomain-support-for-elementor-admin.min.js b/source/admin/js/multidomain-support-for-elementor-admin.min.js index 88b5a57..63346b1 100644 --- a/source/admin/js/multidomain-support-for-elementor-admin.min.js +++ b/source/admin/js/multidomain-support-for-elementor-admin.min.js @@ -1,2 +1,2 @@ -"use strict";function _classCallCheck(n,a){if(!(n instanceof a))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function e(n,a){for(var i=0;i",this),this._initTriggers(),this._updateLangSwitcher(this)}},{key:"_debugLog",value:function(){if(this.debug){for(var n,a=arguments.length,i=Array(a),e=0;e ",n,a);var e={};return a.replace(location.hash,"").replace(/[?&]+([^=&]+)=?([^&]*)?/gi,function(n,a,i){e[a]=void 0!==i?i:""}),n?e[n]?e[n]:null:e}}]),w}();window.EMS=new n(Multidomain_Support_For_Elementor_CONFIG),window.EMS._init()}(jQuery); +"use strict";function _classCallCheck(n,a){if(!(n instanceof a))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function e(n,a){for(var i=0;i",this),this._initTriggers(),this._updateLangSwitcher(this)}},{key:"_debugLog",value:function(){if(this.debug){for(var n,a=arguments.length,i=Array(a),e=0;e ",n,a);var e={};return a.replace(location.hash,"").replace(/[?&]+([^=&]+)=?([^&]*)?/gi,function(n,a,i){e[a]=void 0!==i?i:""}),n?e[n]?e[n]:null:e}}]),w}();window.EMS=new n(MULTIDOMAIN_SUPPORT_FOR_ELEMENTOR_CONFIG),window.EMS._init()}(jQuery); //# sourceMappingURL=multidomain-support-for-elementor-admin.min.js.map \ No newline at end of file diff --git a/source/admin/js/multidomain-support-for-elementor-admin.min.js.map b/source/admin/js/multidomain-support-for-elementor-admin.min.js.map index 519e2fb..8e794ab 100644 --- a/source/admin/js/multidomain-support-for-elementor-admin.min.js.map +++ b/source/admin/js/multidomain-support-for-elementor-admin.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["multidomain-support-for-elementor-admin.js"],"names":["$","EMS","_ref","_ref$debug","debug","_ref$default_lang","_ref$current_lang","host","_ref$domains","origin","_ref$urls","_ref$wpml_plugin_name","_ref$admin_url","default_lang","current_lang","domains","urls","wpml_plugin_name","admin_url","this","_initTriggers","_console","args","url","lang_key","href","param","vars","Multidomain_Support_For_Elementor_CONFIG","_init"],"mappings":"AAAA,8XAEA,SAAAA,GAEA,IAEAC,EAAA,WACA,SAAAA,EAAAC,GAQA,IAAAC,EAAAD,EAAAE,oBAPAD,gCACA,KAAAE,gCACA,KAAAC,2CACAC,KAAAC,wCACAC,OAAAC,oCACA,cAAAC,oDACA,aAAAC,qCAEAR,oBACAS,oBACAC,eACAC,YACAC,wBACAC,iBACAC,mFAQAC,WACAC,yCACAD,6DAUA,IAAAE,yGACAC,4DASA,2EAUAL,sBACA,4GAEA,iCACAM,cAEAA,2DACAC,oBACAD,6FAGA,qCACAA,sCACAA,wBAGAA,2DACAC,oBACAD,MAIA,UACA,2FAEA,iCACAA,sCACAA,cACAA,2DACAC,oBACAD,qGAGA,iCACAA,cAEAA,uBACAC,oBACAD,KAGA,MACA,6BACA,kFAcAE,mCACAF,qHAGA,cAIAG,GAEA,KAGAC,QA9HA,oBAoIAC,iDAEAC,QA1IA"} \ No newline at end of file +{"version":3,"sources":["multidomain-support-for-elementor-admin.js"],"names":["$","EMS","_ref","_ref$debug","debug","_ref$default_lang","_ref$current_lang","host","_ref$domains","origin","_ref$urls","_ref$wpml_plugin_name","_ref$admin_url","default_lang","current_lang","domains","urls","wpml_plugin_name","admin_url","this","_initTriggers","_console","args","url","lang_key","href","param","vars","MULTIDOMAIN_SUPPORT_FOR_ELEMENTOR_CONFIG","_init"],"mappings":"AAAA,8XAEA,SAAAA,GAEA,IAEAC,EAAA,WACA,SAAAA,EAAAC,GAQA,IAAAC,EAAAD,EAAAE,oBAPAD,gCACA,KAAAE,gCACA,KAAAC,2CACAC,KAAAC,wCACAC,OAAAC,oCACA,cAAAC,oDACA,aAAAC,qCAEAR,oBACAS,oBACAC,eACAC,YACAC,wBACAC,iBACAC,mFAQAC,WACAC,yCACAD,6DAUA,IAAAE,yGACAC,4DASA,2EAUAL,sBACA,4GAEA,iCACAM,cAEAA,2DACAC,oBACAD,6FAGA,qCACAA,sCACAA,wBAGAA,2DACAC,oBACAD,MAIA,UACA,2FAEA,iCACAA,sCACAA,cACAA,2DACAC,oBACAD,qGAGA,iCACAA,cAEAA,uBACAC,oBACAD,KAGA,MACA,6BACA,kFAcAE,mCACAF,qHAGA,cAIAG,GAEA,KAGAC,QA9HA,oBAoIAC,qDAEAC,QA1IA"} \ No newline at end of file diff --git a/source/includes/class-multidomain-support-for-elementor.php b/source/includes/class-multidomain-support-for-elementor.php index 2c67f15..566a3ce 100755 --- a/source/includes/class-multidomain-support-for-elementor.php +++ b/source/includes/class-multidomain-support-for-elementor.php @@ -69,8 +69,8 @@ class Multidomain_Support_For_Elementor */ public function __construct() { - if (defined('Multidomain_Support_For_Elementor_VERSION')) { - $this->version = Multidomain_Support_For_Elementor_VERSION; + if (defined('MULTIDOMAIN_SUPPORT_FOR_ELEMENTOR_VERSION')) { + $this->version = MULTIDOMAIN_SUPPORT_FOR_ELEMENTOR_VERSION; } else { $this->version = '1.0.0'; } @@ -165,6 +165,7 @@ private function define_admin_hooks() $this->loader->add_action('page_row_actions', $plugin_admin, 'update_row_actions_link', 12, 2); $this->loader->add_filter('plugin_action_links', $plugin_admin,'plugin_action_links', 10, 5); $this->loader->add_filter('plugin_row_meta', $plugin_admin, 'plugin_row_meta', 10, 3); + $this->loader->add_filter('elementor/admin/localize_settings', $plugin_admin, 'override_elementor_config', 10, 1); $this->loader->add_action('admin_enqueue_scripts', $plugin_admin, 'enqueue_styles'); $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_scripts' );