Changeset 2192435
- Timestamp:
- 11/14/2019 06:02:54 AM (6 years ago)
- Location:
- experience-manager/trunk
- Files:
-
- 26 added
- 5 deleted
- 13 edited
-
assets/codemirror (added)
-
assets/codemirror/codemirror.css (added)
-
assets/codemirror/codemirror.js (added)
-
assets/codemirror/mode (added)
-
assets/codemirror/mode/css (added)
-
assets/codemirror/mode/css/css.js (added)
-
assets/codemirror/mode/css/gss.html (added)
-
assets/codemirror/mode/css/gss_test.js (added)
-
assets/codemirror/mode/css/index.html (added)
-
assets/codemirror/mode/css/less.html (added)
-
assets/codemirror/mode/css/less_test.js (added)
-
assets/codemirror/mode/css/scss.html (added)
-
assets/codemirror/mode/css/scss_test.js (added)
-
assets/codemirror/mode/css/test.js (added)
-
assets/codemirror/mode/htmlmixed (added)
-
assets/codemirror/mode/htmlmixed/htmlmixed.js (added)
-
assets/codemirror/mode/htmlmixed/index.html (added)
-
assets/codemirror/mode/javascript (added)
-
assets/codemirror/mode/javascript/index.html (added)
-
assets/codemirror/mode/javascript/javascript.js (added)
-
assets/codemirror/mode/javascript/json-ld.html (added)
-
assets/codemirror/mode/javascript/test.js (added)
-
assets/codemirror/mode/javascript/typescript.html (added)
-
assets/elementor (added)
-
assets/elementor/experience-manager-elementor.js (added)
-
assets/query-editor (deleted)
-
experience-manager.php (modified) (5 diffs)
-
includes/backend/segment/class.segment-editor.php (modified) (6 diffs)
-
includes/backend/segment/class.translator.php (deleted)
-
includes/class.plugins.php (modified) (1 diff)
-
includes/class.tma_rest.php (modified) (2 diffs)
-
includes/frontend/class.shortcode_tma_content.php (modified) (1 diff)
-
includes/modules/ads/advanced/class.advanced_ads.php (modified) (1 diff)
-
includes/modules/editors/beaver (deleted)
-
includes/modules/editors/class.integration.php (modified) (1 diff)
-
includes/modules/editors/elementor/class.elementor_integration.php (modified) (4 diffs)
-
includes/modules/editors/elementor/class.elementor_preview.php (added)
-
includes/modules/messages/popup-maker/class.popup-maker.php (modified) (1 diff)
-
includes/tma_functions.php (modified) (2 diffs)
-
js/beaver (deleted)
-
nbproject (deleted)
-
readme.txt (modified) (2 diffs)
-
tma-autoload.php (modified) (1 diff)
-
tma-scripts.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
experience-manager/trunk/experience-manager.php
r2142338 r2192435 5 5 Description: The integration for the experience platform. 6 6 Author: Thorsten Marx 7 Version: 2. 0.07 Version: 2.1.0 8 8 Author URI: https://wp-digitalexperience.com/ 9 9 Text Domain: tma-webtools … … 23 23 24 24 require_once 'tma-autoload.php'; 25 require_once 'includes/tma_functions.php'; 25 26 require_once 'tma-scripts.php'; 26 require_once 'includes/tma_functions.php';27 27 28 28 add_action('plugins_loaded', 'tma_load_textdomain'); … … 44 44 if (\TMA\ExperienceManager\Plugins::getInstance()->elementor()) { 45 45 new \TMA\ExperienceManager\Elementor_Integration(); 46 //new \TMA\ExperienceManager\Elementor_Preview(); 46 47 } 47 48 if (\TMA\ExperienceManager\Plugins::getInstance()->popup_maker()) { … … 53 54 if (\TMA\ExperienceManager\Plugins::getInstance()->gutenberg()) { 54 55 new \TMA\ExperienceManager\Gutenberg_Integration(); 55 }56 57 if (\TMA\ExperienceManager\Plugins::getInstance()->beaverBuilder()) {58 new \TMA\ExperienceManager\BeaverBuilder_Integration();59 //\TMA\TMA_BeaverBuilderPreview::getInstance()->init();60 56 } 61 57 } … … 145 141 $tma_config['segments'] = tma_exm_get_segments_as_array(); 146 142 147 $request = new TMA\ExperienceManager\TMA_Request(); 148 $response = $request->getSegments(\TMA\ExperienceManager\TMA_Request::getUserID()); 149 tma_exm_log(json_encode($response)); 150 if ($response !== NULL && $response !== FALSE && $response->status === "ok") { 151 $tma_config['user_segments'] = $response->user->segments; 152 } 143 $tma_config['user_segments'] = tma_exm_get_user_segments(); 153 144 154 145 $tma_config = apply_filters("tma_config", $tma_config); -
experience-manager/trunk/includes/backend/segment/class.segment-editor.php
r2096995 r2192435 25 25 26 26 public function register() { 27 add_action('add_meta_boxes', [$this, 'add ']);27 add_action('add_meta_boxes', [$this, 'add_meta_box']); 28 28 add_action('save_post_tma_segment', [$this, 'save']); 29 29 … … 91 91 if (in_array($hook_suffix, array('post.php', 'post-new.php'))) { 92 92 if ($this->isAudience()) { 93 94 wp_enqueue_script('experience-manager-query-editor_init', TMA_EXPERIENCE_MANAGER_URL . 'assets/query-editor/init.js', array(), "1.2", true); 95 wp_enqueue_script('experience-manager-query-editor_1', TMA_EXPERIENCE_MANAGER_URL . 'assets/query-editor/js/1.5939a542.chunk.js', array('experience-manager-query-editor_init'), "1.2", true); 96 wp_enqueue_script('experience-manager-query-editor_main', TMA_EXPERIENCE_MANAGER_URL . 'assets/query-editor/js/main.5891b828.chunk.js', array('experience-manager-query-editor_1'), "1.2", true); 97 98 wp_enqueue_style('experience-manager-query-editor-styles_1', TMA_EXPERIENCE_MANAGER_URL . 'assets/query-editor/css/1.f9d3e7cc.chunk.css', array(), "1.2"); 99 wp_enqueue_style('experience-manager-query-editor-styles_main', TMA_EXPERIENCE_MANAGER_URL . 'assets/query-editor/css/main.8881f70e.chunk.css', array('experience-manager-query-editor-styles_1'), "1.2"); 93 /* 94 wp_enqueue_script('experience-manager-query-editor_init', TMA_EXPERIENCE_MANAGER_URL . 'assets/query-editor/init.js', array(), "1.2", true); 95 wp_enqueue_script('experience-manager-query-editor_1', TMA_EXPERIENCE_MANAGER_URL . 'assets/query-editor/js/1.5939a542.chunk.js', array('experience-manager-query-editor_init'), "1.2", true); 96 wp_enqueue_script('experience-manager-query-editor_main', TMA_EXPERIENCE_MANAGER_URL . 'assets/query-editor/js/main.5891b828.chunk.js', array('experience-manager-query-editor_1'), "1.2", true); 97 98 wp_enqueue_style('experience-manager-query-editor-styles_1', TMA_EXPERIENCE_MANAGER_URL . 'assets/query-editor/css/1.f9d3e7cc.chunk.css', array(), "1.2"); 99 wp_enqueue_style('experience-manager-query-editor-styles_main', TMA_EXPERIENCE_MANAGER_URL . 'assets/query-editor/css/main.8881f70e.chunk.css', array('experience-manager-query-editor-styles_1'), "1.2"); 100 */ 101 102 wp_enqueue_script ( 'tma-webtools-backend' ); 103 wp_enqueue_style('experience-manager-codemirror-styles', TMA_EXPERIENCE_MANAGER_URL . 'assets/codemirror/codemirror.css', array(), "5.48.4", false); 104 wp_enqueue_script('experience-manager-codemirror', TMA_EXPERIENCE_MANAGER_URL . 'assets/codemirror/codemirror.js', array(), "5.48.4", false); 105 wp_enqueue_script('experience-manager-codemirror-javascript', TMA_EXPERIENCE_MANAGER_URL . 'assets/codemirror/mode/javascript/javascript.js', array("experience-manager-codemirror"), "5.48.4", false); 100 106 } 101 107 } … … 108 114 109 115 return $is_enabled; 110 }111 112 public function add() {113 add_meta_box(114 'tma_segment_editor', // Unique ID115 'Target segment editor', // Box title116 [$this, 'html'], // Content callback, must be of type callable117 SegmentType::$TYPE // Post type118 );119 116 } 120 117 … … 150 147 $siteid = get_option('tma_webtools_option')['webtools_siteid']; 151 148 } 152 $json_dsl = get_post_meta($post->ID, 'tma_segment_editor', true); 153 154 $translator = new Translator($siteid); 155 149 $dsl = get_post_meta($post->ID, 'tma_segment_editor', true); 150 151 156 152 $post_data = array( 157 153 'name' => $post->post_title, 158 154 'externalId' => $ID, 159 155 'active' => $post->post_status === "publish", 160 'dsl' => $ translator->translate($json_dsl)156 'dsl' => $dsl 161 157 ); 162 158 … … 242 238 243 239 public function save($post_id) { 244 if (array_key_exists('tma-webtools-segment-editor-value', $_POST)) { 245 $editor_value = sanitize_textarea_field($_POST['tma-webtools-segment-editor-value']); 240 if (array_key_exists('exm_audience_editor', $_POST)) { 241 $editor_value = filter_input(INPUT_POST, 'exm_audience_editor'); 242 //$editor_value = sanitize_textarea_field($_POST['exm_audience_editor']); 246 243 update_post_meta( 247 244 $post_id, … … 252 249 } 253 250 254 public static function html($post) { 255 // $value = get_post_meta($post->ID, '_wporg_meta_key', true); 251 public function add_meta_box() { 252 add_meta_box( 253 'tma_segment_editor', // Unique ID 254 'Target segment editor', // Box title 255 [$this, 'html'], // Content callback, must be of type callable 256 SegmentType::$TYPE // Post type 257 ); 258 259 add_meta_box( 260 'tma_segment_editor_help', // Unique ID 261 'Segment editor help', // Box title 262 [$this, 'description'], // Content callback, must be of type callable 263 SegmentType::$TYPE // Post type 264 ); 265 add_meta_box( 266 'tma_segment_editor_categories', // Unique ID 267 'Categorie Helper', // Box title 268 [$this, 'categories'], // Content callback, must be of type callable 269 SegmentType::$TYPE // Post type 270 ); 271 } 272 273 public function description($post) { 274 include 'description.php'; 275 } 276 277 public function categories($post) { 278 include 'categories.php'; 279 } 280 281 public function html($post) { 256 282 $value = get_post_meta($post->ID, 'tma_segment_editor', true); 257 258 if ($value && $value !== "") {259 ?>260 <script>261 window.webToolsTargeing = <?php echo $value; ?>262 </script>263 <?php264 }265 283 ?> 266 <div id="webtoolsQueryEditor"></div> 284 <textarea name="exm_audience_editor" id="exm_audience_editor" cols="50" rows="10"><?php if ($value && $value !== "") { 285 echo $value; 286 } ?></textarea> 287 <script type="text/javascript"> 288 CodeMirror.fromTextArea(document.getElementById("exm_audience_editor"), { 289 lineNumbers: true, 290 matchBrackets: true, 291 mode: "javascript" 292 }); 293 </script> 267 294 <?php 268 295 } -
experience-manager/trunk/includes/class.plugins.php
r2096995 r2192435 37 37 } 38 38 39 public function beaverBuilder() {40 return class_exists('FLBuilder');41 }42 43 39 public function popup_maker() { 44 40 return in_array('popup-maker/popup-maker.php', $this->plugins); -
experience-manager/trunk/includes/class.tma_rest.php
r2141767 r2192435 30 30 'callback' => array($this, 'events'), 31 31 )); 32 33 register_rest_route('experience-manager/v1', '/category-path', array( 34 'methods' => \WP_REST_Server::READABLE, 35 'callback' => array($this, 'category_path'), 36 )); 37 } 38 39 function category_path ($data) { 40 $result = []; 41 42 $result["path"] = "/" . get_term_parents_list($data['category'], $data['taxonomy'], ["format" => "slug", "link" => false, "inclusive" => true]); 43 44 return $result; 32 45 } 33 46 … … 62 75 63 76 $segments['segments'] = tma_exm_get_segments_as_array(); 64 65 $request = new \TMA\ExperienceManager\TMA_Request(); 66 $response = $request->getSegments(\TMA\ExperienceManager\TMA_Request::getUserID()); 67 if ($response !== NULL && $response->status === "ok") { 68 $segments['user_segments'] = $response->user->segments; 69 } 77 $segments['user_segments'] = tma_exp_get_user_segments(); 70 78 71 79 return apply_filters("experience-manager/rest/segments", $segments); -
experience-manager/trunk/includes/frontend/class.shortcode_tma_content.php
r2096995 r2192435 116 116 $segments[] = "default"; 117 117 if ($response !== NULL) { 118 if (sizeof($response->user->segments) > 0) { 119 $segments = $response->user->segments; 120 } 118 $segments = tma_exp_get_user_segments(["default"]); 121 119 } 122 120 -
experience-manager/trunk/includes/modules/ads/advanced/class.advanced_ads.php
r2096995 r2192435 60 60 $user_segments = []; 61 61 if ($response !== NULL) { 62 if (sizeof($response->user->segments) > 0) { 63 $user_segments = $response->user->segments; 64 } 62 $user_segments = tma_exm_get_user_segments(); 65 63 } 66 64 -
experience-manager/trunk/includes/modules/editors/class.integration.php
r2096995 r2192435 120 120 $segments = ["default"]; 121 121 if ($response !== NULL) { 122 if (sizeof($response->user->segments) > 0) { 123 $segments = $response->user->segments; 124 } 122 $segments = tma_exm_get_user_segments(["default"]); 125 123 } 126 124 -
experience-manager/trunk/includes/modules/editors/elementor/class.elementor_integration.php
r2096995 r2192435 33 33 } 34 34 35 function widget_before_render(\Elementor\Element_Base $element) {36 tma_exm_log("widget_before_render");35 static function getAttributes($element, $in_edit = false) { 36 $settings = $element->get_settings(); 37 37 38 $settings = $element->get_settings();39 40 38 $attrs = []; 41 $attrs["data-tma-personalization"] = $this->isActivated($settings) ? "enabled" : "disabled";39 $attrs["data-tma-personalization"] = Elementor_Integration::_isActivated($settings) ? "enabled" : "disabled"; 42 40 $attrs["data-tma-matching"] = $settings['tma_matching']; 43 41 $attrs["data-tma-group"] = $settings['tma_group']; … … 48 46 $attrs["data-tma-segments"] = $settings['tma_segment']; 49 47 } 50 if (tma_exm_is_frontend_mode_enabled() && $this->isActivated($settings)) { 51 if ($settings['tma_default'] === "no") { 52 $attrs["class"] = 'tma-hide'; 53 } 54 } else { 55 if ($this->is_widget_visible($element) === FALSE) { 56 $attrs["class"] = 'tma-hide'; 48 if (!$in_edit) { 49 if (tma_exm_is_frontend_mode_enabled() && Elementor_Integration::_isActivated($settings)) { 50 if ($settings['tma_default'] === "no") { 51 $attrs["class"] = 'tma-hide'; 52 } 53 } else { 54 if ($this->is_widget_visible($element) === FALSE) { 55 $attrs["class"] = 'tma-hide'; 56 } 57 57 } 58 58 } 59 60 61 return $attrs; 62 } 63 64 function widget_before_render(\Elementor\Element_Base $element) { 65 tma_exm_log("widget_before_render"); 66 67 $attrs = Elementor_Integration::getAttributes($element); 68 59 69 $element->add_render_attribute('_wrapper', $attrs); 60 70 } … … 75 85 } 76 86 77 functionisActivated($args) {87 static function _isActivated($args) { 78 88 return (is_array($args) && !empty($args['tma_personalization']) && $args['tma_personalization'] === "yes"); 79 89 } 80 90 91 function isActivated($args) { 92 return Elementor_Integration::_isActivated($args); 93 } 94 81 95 protected function isGroupDefault($args) { 82 96 return (is_array($args) && !empty($args['tma_default']) && $args['tma_default'] === "yes"); … … 96 110 97 111 function addControls($section, $section_id, $args) { 98 if (\Elementor\Controls_Manager::TAB_ADVANCED !== $args['tab'] || ( '_section_responsive' !== $section_id /* Section/Widget */ && 'section_responsive' !== $section_id /* Column */ )) { 112 if (\Elementor\Controls_Manager::TAB_ADVANCED !== $args['tab'] || 113 ( '_section_responsive' !== $section_id /* Section/Widget */ && 'section_responsive' !== $section_id /* Column */ 114 ) 115 ) { 99 116 return; 100 117 } 118 101 119 $section->start_controls_section( 102 120 'tma-webtools', [ 103 121 'label' => __('Targeting', 'tma-webtools'), 104 'tab' => \Elementor\Controls_Manager::TAB_ ADVANCED,122 'tab' => \Elementor\Controls_Manager::TAB_SETTINGS, 105 123 ] 106 124 ); -
experience-manager/trunk/includes/modules/messages/popup-maker/class.popup-maker.php
r2096995 r2192435 52 52 $user_segments = []; 53 53 if ($response !== NULL) { 54 if (sizeof($response->user->segments) > 0) { 55 $user_segments = $response->user->segments; 56 } 54 $user_segments = tma_exm_get_user_segments(); 57 55 } 58 56 -
experience-manager/trunk/includes/tma_functions.php
r2096995 r2192435 1 1 <?php 2 3 function tma_exm_get_user_segments ($defaultValue = []) { 4 $request = new TMA\ExperienceManager\TMA_Request(); 5 $response = $request->getSegments(\TMA\ExperienceManager\TMA_Request::getUserID()); 6 tma_exm_log(json_encode($response)); 7 if ($response !== NULL && $response !== FALSE && $response->status === "ok" && property_exists($response->user, "actionSystem")) { 8 $tma_config['user_segments'] = $response->user->actionSystem->segments; 9 } 10 return $defaultValue; 11 12 } 2 13 3 14 function tma_exm_get_segments() { … … 100 111 } 101 112 102 function tma_exm_is_beaver_preview() { 103 return \TMA\ExperienceManager\Plugins::getInstance()->beaverBuilder() && \FLBuilderModel::is_builder_active(); 113 function tma_exm_is_elementor_active () { 114 return \TMA\ExperienceManager\Plugins::getInstance()->elementor() 115 && (\Elementor\Plugin::$instance->editor->is_edit_mode() || \Elementor\Plugin::$instance->preview->is_preview_mode()); 104 116 } 105 117 106 118 function tma_exm_is_editor_active() { 107 if (isset($_GET['action']) && ($_GET['action'] === 'edit' || $_GET['action'] === 'elementor')) {108 tma_exm_log("editor is active gutenberg or elementor");119 if (isset($_GET['action']) && ($_GET['action'] === 'edit')) { // || $_GET['action'] === 'elementor') 120 tma_exm_log("editor is active gutenberg"); 109 121 return true; 110 } else if (tma_exm_is_beaver_preview()) {111 tma_exm_log("editor is active beaver");122 } else if (tma_exm_is_elementor_active()) { 123 tma_exm_log("editor is active elementor"); 112 124 return true; 113 125 } -
experience-manager/trunk/readme.txt
r2141773 r2192435 21 21 * Segment simulator in the preview 22 22 * Support for [Elementor Page Builder](https://elementor.com/) 23 * Support for [Beaver Page Builder](https://www.wpbeaverbuilder.com/)24 23 * Support For [Gutenberg](https://wordpress.org/gutenberg/) 25 24 * Template-Tag to check if a user match a specific segment ( e.q. tma_exm_is_in_segment("a_segment_id")) … … 67 66 2.1.0 68 67 * Update to new the new tracking url provided by the Experience Platform 68 * Beaver Builder support removed 69 69 70 IMPORTANT: If you upgrade to version 2.1.0 you need at least Experience Platform version 3. 0.070 IMPORTANT: If you upgrade to version 2.1.0 you need at least Experience Platform version 3.3.1 71 71 72 72 2.0.0 -
experience-manager/trunk/tma-autoload.php
r2096995 r2192435 25 25 // Elementor 26 26 "TMA\ExperienceManager\Elementor_Integration" => "includes/modules/editors/elementor/class.elementor_integration.php", 27 "TMA\ExperienceManager\Elementor_Preview" => "includes/modules/editors/elementor/class.elementor_preview.php", 27 28 // Advanced Ads 28 29 "TMA\ExperienceManager\TMA_AdvancedAdsIntegration" => "includes/modules/ads/advanced/class.advanced_ads.php", 29 30 // Gutenberg 30 31 "TMA\ExperienceManager\Gutenberg_Integration" => "includes/modules/editors/gutenberg/class.gutenberg_integration.php", 31 // Beaver Builder32 "TMA\ExperienceManager\BeaverBuilder_Integration" => "includes/modules/editors/beaver/class.beaverbuilder_integration.php",33 "TMA\ExperienceManager\TMA_BeaverBuilderPreview" => "includes/modules/editors/beaver/class.beaverbuilder.preview.php",34 32 35 33 // Audience Editor 36 34 "TMA\ExperienceManager\Segment\SegmentType" => "includes/backend/segment/class.segment-type.php", 37 35 "TMA\ExperienceManager\Segment\SegmentEditor" => "includes/backend/segment/class.segment-editor.php", 38 "TMA\ExperienceManager\Segment\Translator" => "includes/backend/segment/class.translator.php",39 // UniRest40 /*41 "Unirest\Request" => "modules/unirest/Unirest/Request.php",42 "Unirest\Response" => "modules/unirest/Unirest/Response.php",43 "Unirest\Method" => "modules/unirest/Unirest/Method.php",44 "Unirest\Exception" => "modules/unirest/Unirest/Exception.php",45 "Unirest\Request\Body" => "modules/unirest/Unirest/Request/Body.php",46 */47 36 // Event Tracking 48 37 "TMA\ExperienceManager\WC_TRACKER" => "includes/modules/events/class.woocommerce_tracker.php", -
experience-manager/trunk/tma-scripts.php
r2096995 r2192435 4 4 * enables frontend targeting if cache mode is configured 5 5 */ 6 add_action('wp_enqueue_scripts', function () { 6 7 add_action('admin_enqueue_scripts', "exm_enqueue_script", -99); 8 9 add_action('wp_enqueue_scripts', "exm_enqueue_script" , -99); 10 11 12 function exm_enqueue_script () { 7 13 if (tma_exm_is_debug()) { 8 14 wp_register_script('webtools-frontend', TMA_EXPERIENCE_MANAGER_URL . 'js/webtools/webtools-frontend.js', array(), "1"); 15 wp_register_script('tma-webtools-backend', TMA_EXPERIENCE_MANAGER_URL . 'js/webtools/webtools-wp-backend.js', array(), "1"); 9 16 } else { 10 17 wp_register_script('webtools-frontend', TMA_EXPERIENCE_MANAGER_URL . 'js/webtools/webtools-frontend-min.js', array(), "1"); 18 wp_register_script('tma-webtools-backend', TMA_EXPERIENCE_MANAGER_URL . 'js/webtools/webtools-wp-backend-min.js', array(), "1"); 11 19 } 12 20 … … 23 31 } 24 32 } 25 } , -99);33 }
Note: See TracChangeset
for help on using the changeset viewer.