Changeset 2975253
- Timestamp:
- 10/05/2023 02:37:05 PM (2 years ago)
- Location:
- wp-dxp/trunk
- Files:
-
- 1 added
- 22 edited
-
README.txt (modified) (3 diffs)
-
admin/class-wp-dxp-admin-categories-page.php (modified) (1 diff)
-
admin/class-wp-dxp-admin-dashboard-page.php (modified) (1 diff)
-
admin/class-wp-dxp-admin-rules-page.php (modified) (2 diffs)
-
admin/class-wp-dxp-admin-settings-page.php (modified) (3 diffs)
-
admin/class-wp-dxp-admin.php (modified) (1 diff)
-
admin/css/wp-dxp-admin.css (modified) (56 diffs)
-
admin/img/bin.svg (modified) (1 diff)
-
admin/img/contextual.svg (modified) (1 diff)
-
admin/img/personalizewp-logo.svg (added)
-
admin/partials/_other/header.php (modified) (2 diffs)
-
admin/partials/rules/edit.php (modified) (1 diff)
-
admin/partials/rules/index.php (modified) (1 diff)
-
admin/partials/settings/index.php (modified) (1 diff)
-
admin/partials/wp-dxp-admin-display.php (modified) (1 diff)
-
build/index.asset.php (modified) (1 diff)
-
build/index.js (modified) (1 diff)
-
includes/class-wp-dxp-conditions.php (modified) (2 diffs)
-
includes/class-wp-dxp.php (modified) (2 diffs)
-
includes/models/rule.php (modified) (5 diffs)
-
includes/wp-dxp-constants.php (modified) (2 diffs)
-
includes/wp-dxp-db-migrations.php (modified) (1 diff)
-
wp-dxp.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wp-dxp/trunk/README.txt
r2942440 r2975253 1 === WP-DXP ===1 === PersonalizeWP === 2 2 Contributors: filterdigital, paulfhalfpenny, tommc1985filter, elechtric, markmanders20, davecpage 3 3 Tags: personalisation, gutenberg, digital experience platform, show content, hide content, segmentation, conditions, rules, location 4 4 Requires at least: 6.0.0 5 Tested up to: 6.3 6 Stable tag: 1.6. 25 Tested up to: 6.3.2 6 Stable tag: 1.6.3 7 7 Requires PHP: 7.3 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html 10 10 11 WP-DXP is a plugin designed to add personalization features to the WordPress platform using conditional rules and the Gutenberg Block editor.11 PersonalizeWP is a plugin designed to add personalization features to the WordPress platform using conditional rules and the Gutenberg Block editor. 12 12 13 13 == Description == 14 14 15 = A DIGITAL EXPERIENCE PLATFORM=15 = Personalization for WordPress = 16 16 17 WP-DXP allows you to start using WordPress as a digital experience platform, adding personalization and conditional rules to the content that your users see and can interact with. 18 19 Compete with commercial enterprise platforms and add your own rules to match user behavior on, then show or hide blocks based on if your conditions are met. 20 21 [youtube https://www.youtube.com/watch?v=h4s91CDTsE8 ] 17 PersonalizeWP allows you to start using WordPress as a digital experience platform, adding personalization and conditional rules to the content that your users see and can interact with. Compete with commercial enterprise platforms and add your own rules to match user behaviour on, then show or hide blocks based on if your conditions are met. 22 18 23 19 = Default Rules = … … 31 27 * Users are using a mobile, tablet or desktop device 32 28 * A user is visiting at a specific time or period of the day 33 * NEW - The user has been referred from a specific site (i.e. Facebook, Google) 34 * NEW - It is before or after, or between, specific dates (i.e. Christmas holidays) 35 * NEW - A cookie is set to a particular value or empty 36 * NEW - There is a specific query string or parameter in the URL 37 * NEW - The user has a specific WordPress role type 38 * If they have purchased a product from your WooCommerce Store 39 * If they have completed a Ninja Form on your site 40 * If they have completed a Gravity Form on your site 29 * The user has been referred from a specific site (i.e. Facebook, Google) 30 * It is before or after, or between, specific dates (i.e. Christmas holidays) 31 * A cookie is set to a particular value or empty 32 * There is a specific query string or parameter in the URL 33 * The user has a specific WordPress role type 41 34 42 35 And the ability to use multiple rules on a single block. 43 36 44 37 45 == Installation ==46 47 This section describes how to install the plugin and get it working.48 49 e.g.50 51 1. Upload the `wp-dxp` directory to the `/wp-content/plugins/` directory52 2. Activate the plugin through the 'Plugins' menu in WordPress53 3. That's it! You're ready to go.54 55 38 == Frequently Asked Questions == 56 39 57 = What is WP-DXP? =40 = What is PersonalizeWP? = 58 41 59 WP-DXP is a WordPress plugin designed to add personalization features and options, and DXP is an acronym for Digital Experience Platform. 60 61 It follows similar principles to Enterprise platforms such as Episerver, Optimizely and Sitecore and works in conjunction with the Gutenberg block editor to provide a simple and clear pathway to this functionality for content authors and admins. 42 PersonalizeWP is a WordPress plugin designed to add personalization features to WordPress. It follows similar principles to Enterprise platforms such as Episerver, Optimizely and Sitecore and works in conjunction with the Block editor to provide a simple and clear pathway to this functionality for content authors and admins. 62 43 63 44 = What can I use it for? = 64 45 65 You can use WP-DXP to personalize content to your users, based on actions that they have taken, or criteria such as which countries they are accessing your site from.46 You can use PersonalizeWP to personalize content to your users, based on actions that they have taken, or criteria such as which countries they are accessing your site from. We have included basic rules into the plugin to provide a starting point and you can add your own rules, based on a set of conditions, and then apply those to any blocks you wish. 66 47 67 We have included basic rules into the plugin to provide a starting point, and if you have plugins such as WooCommerce or Gravity Forms installed, you gain access to even more. 48 = How do I use PersonalizeWP? = 68 49 69 Additionally, you can add your own rules, based on a set of conditions, and then apply those to any blocks you wish. 70 71 = How do I use WP-DXP? = 72 73 Once you have the plugin installed and activated, a WP-DXP option will appear in the Block Settings sidebar in the Gutenberg Editor when you are editing a block. 74 75 Within this, you will be given the choice to choose a rule and determine an action if that rule is met. 76 77 For instance, you may wish to add a content block with a message that is only shown to the user if they come from a particular country, or if they have purchased a product from your store. Feel free to play around and let us know if you think what more we could add as default rules out of the box. 50 Once you have the plugin installed and activated, a PersonalizeWP option will appear in the Block Settings sidebar in the editor when you are editing a block. Within this, you will be given the choice to choose a rule and determine an action if that rule is met. For instance, you may wish to add a content block with a message that is only shown to the user if they come from a particular country, or if they have purchased a product from your store. Feel free to play around and let us know if you think. 78 51 79 52 = Are there any limitations? = 80 53 81 The actions that you can take when a rule is met, are currently limited to Show or Hide a block. We will be adding new actions in a future release. 82 83 The plugin does not work with the Classic Block - which is due to be deprecated. You can use the Convert to Blocks feature to transform the Classic Block into independent Gutenberg blocks, which can then take advantage of WP-DXP. 54 The actions that you can take when a rule is met, are currently limited to Show or Hide a block. We will be adding new actions in a future release. The plugin does not work with the Classic Block - which is due to be deprecated. You can use the Convert to Blocks feature to transform the Classic Block into independent blocks, which can then take advantage of PersonalizeWP. 84 55 85 56 = Will the plugin always be free to use? = 86 57 87 We will always have a free version of the plugin, but in the future, it is likely that we will add a Pro version which will offer additional features. At this stage, we cannot tell you what these features will be or how much it will cost, but anything included in the Free version of the plugin will be free forever. 88 89 = Do you have a roadmap? = 90 91 We have an internal roadmap that we are using to develop new features - including additional rules, A-B Testing, profile scoring features, and integration with other plugins and commercial platforms. 92 93 We will also be developing new conditions and pre-built rules and exploring how we can provide detailed reporting. If you have any suggestions on what we should consider adding, please feel free to get in touch using the details in the Support and Feedback section below. 58 We will always have a free version of the plugin, but in the future, it is likely that we will add a Pro version which will offer additional features. 94 59 95 60 == Screenshots == … … 97 62 1. Rules personalization screen - Add a new rule to use in the Block Editor 98 63 2. Rule categories screen - Manage the categories that your rules are sorted into 99 3. WP-DXP Dashboard Screen64 3. PersonaliseWP Dashboard Screen 100 65 4. Settings screen - signup for our newsletter 101 66 67 102 68 == Changelog == 69 70 = 1.6.3 = 71 * Updated to new branding / name 72 * Change: Removed WooCommerce rules 73 * Change: Removed Ninja Form rules 74 * Change: Removed Gravity Form rules 103 75 104 76 = 1.6.2 = -
wp-dxp/trunk/admin/class-wp-dxp-admin-categories-page.php
r2916348 r2975253 56 56 '<h2>%1$s</h2><p>%2$s</p>', 57 57 esc_html__( 'First time configuration', 'wp-dxp' ), 58 esc_html__( ' WP-DXP provides a number of pre-built rules and categories that are ready to use on your site, which you can see below. If you want to add your own, just click on the Create Rule or Create Category button.', 'wp-dxp' ),58 esc_html__( 'PersonalizeWP provides a number of pre-built rules and categories that are ready to use on your site, which you can see below. If you want to add your own, just click on the Create Rule or Create Category button.', 'wp-dxp' ), 59 59 ), 60 60 'info', -
wp-dxp/trunk/admin/class-wp-dxp-admin-dashboard-page.php
r2916348 r2975253 55 55 ); 56 56 57 $comingSoon = array( 58 3 => array( 59 'title' => esc_html__( 'Contacts', 'wp-dxp' ), 60 'content' => esc_html__( 'View data about the behavior of your site visitors', 'wp-dxp' ), 61 'img' => plugins_url('/img/tile-contacts.jpg', __FILE__), 62 ), 63 4 => array( 64 'title' => esc_html__( 'Segments', 'wp-dxp' ), 65 'content' => esc_html__( 'Create groups of visitors to personalize their experience', 'wp-dxp' ), 66 'img' => plugins_url('/img/tile-segments.jpg', __FILE__), 67 ), 68 ); 57 $comingSoon = array(); 69 58 70 59 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'admin/partials/dashboard/index.php'; -
wp-dxp/trunk/admin/class-wp-dxp-admin-rules-page.php
r2916348 r2975253 57 57 '<h2>%1$s</h2><p>%2$s</p>', 58 58 esc_html__( 'First time configuration', 'wp-dxp' ), 59 esc_html__( ' WP-DXP provides a number of pre-built rules and categories that are ready to use on your site, which you can see below. If you want to add your own, just click on the Create Rule or Create Category button.', 'wp-dxp' ),59 esc_html__( 'PersonalizeWP provides a number of pre-built rules and categories that are ready to use on your site, which you can see below. If you want to add your own, just click on the Create Rule or Create Category button.', 'wp-dxp' ), 60 60 ), 61 61 'info', … … 282 282 $conditionClass = Wp_Dxp_Conditions::getClass($data['conditions']['measure'][$i]); 283 283 284 if (empty($meta_value) && ! empty( $conditionClass->measure_key ) ) {284 if (empty($meta_value) && $conditionClass && ! empty( $conditionClass->measure_key ) ) { 285 285 $this->addValidationError( 'conditions['.$i.']', __( 'The meta value for the condition should not be empty', 'wp-dxp' ) ); 286 286 } -
wp-dxp/trunk/admin/class-wp-dxp-admin-settings-page.php
r2916348 r2975253 24 24 '<h2>%1$s</h2><p>%2$s</p>', 25 25 esc_html__( 'First time configuration', 'wp-dxp' ), 26 esc_html__( 'Thanks for installing and activating WP-DXP so that you can start to use WordPress as a digital experience platform. We recommend that if it is your first time with the plugin, that you sign up for our email list, where we plan to share tips and tricks of things you can do with WP-DXP, as well as inform you when new versions and features are added to the plugin.', 'wp-dxp' ),26 esc_html__( 'Thanks for installing and activating PersonalizeWP so that you can start to use WordPress as a digital experience platform. We recommend that if it is your first time with the plugin, that you sign up for our email list, where we plan to share tips and tricks of things you can do with PersonalizeWP, as well as inform you when new versions and features are added to the plugin.', 'wp-dxp' ), 27 27 ), 28 28 'info', … … 34 34 1 => array( 35 35 'title' => esc_html__('Learn more', 'wp-dxp'), 36 'content' => esc_html__('Find out what more you can do with WP-DXP on our website', 'wp-dxp'),36 'content' => esc_html__('Find out what more you can do with PersonalizeWP on our website', 'wp-dxp'), 37 37 'button' => esc_html__('Learn more', 'wp-dxp'), 38 38 'img' => plugins_url('/img/tile-website.jpg', __FILE__), 39 'url' => esc_url('https:// wp-dxp.com/'),39 'url' => esc_url('https://personalizewp.com/'), 40 40 ), 41 41 2 => array( … … 67 67 $terms_acceptance = ( !empty($_POST['terms_acceptance']) ? sanitize_text_field($_POST['terms_acceptance']) : '' ); 68 68 // Can't use `wp_hash` as that uses a local salt. This has to be saltless 69 $verify = hash_hmac( 'md5', wp_nonce_tick(' WP-DXP-sub') . '|' . 'WP-DXP-sub' . '|' . implode( '|', array(69 $verify = hash_hmac( 'md5', wp_nonce_tick('PWP-sub') . '|' . 'PWP-sub' . '|' . implode( '|', array( 70 70 $first_name, 71 71 $last_name, -
wp-dxp/trunk/admin/class-wp-dxp-admin.php
r2916348 r2975253 243 243 public function createAdminMenu() { 244 244 add_menu_page( 245 esc_html__( ' WP-DXP', 'wp-dxp' ),246 esc_html__( ' WP-DXP', 'wp-dxp' ),245 esc_html__( 'PersonalizeWP', 'wp-dxp' ), 246 esc_html__( 'PersonalizeWP', 'wp-dxp' ), 247 247 'manage_options', 248 248 WP_DXP_ADMIN_SLUG, -
wp-dxp/trunk/admin/css/wp-dxp-admin.css
r2916348 r2975253 24 24 line-height: 1.5; 25 25 font-size: 1rem; 26 --blue: #0A1F43; 27 --pink: #EA5084; 28 --purple: #C127A0; 29 --purple-50: #FFF5FD; 30 --purple-gradient: linear-gradient(90deg, var(--purple) 0%, #F20FA6 100%); 26 31 /** Header */ 27 32 /** Content Sections */ … … 43 48 } 44 49 #wp-dxp :root { 45 --blue: #0 962D5;50 --blue: #0A1F43; 46 51 --indigo: #6610f2; 47 --purple: # 6f42c1;52 --purple: #C127A0; 48 53 --pink: #EA5084; 49 54 --red: #dc3545; … … 56 61 --gray: #6c757d; 57 62 --gray-dark: #343a40; 58 --primary: #0 962D5;63 --primary: #0A1F43; 59 64 --secondary: #6c757d; 60 65 --success: #28a745; … … 170 175 } 171 176 #wp-dxp a { 172 color: #0 962D5;177 color: #0A1F43; 173 178 text-decoration: none; 174 179 background-color: transparent; 175 180 } 176 181 #wp-dxp a:hover { 177 color: #06408c;182 color: black; 178 183 text-decoration: underline; 179 184 } … … 1412 1417 #wp-dxp .table-primary > th, 1413 1418 #wp-dxp .table-primary > td { 1414 background-color: #ba d3f3;1419 background-color: #bac0ca; 1415 1420 } 1416 1421 #wp-dxp .table-primary th, … … 1418 1423 #wp-dxp .table-primary thead th, 1419 1424 #wp-dxp .table-primary tbody + tbody { 1420 border-color: # 7fade9;1425 border-color: #808b9d; 1421 1426 } 1422 1427 #wp-dxp .table-hover .table-primary:hover { 1423 background-color: #a 4c5ef;1428 background-color: #acb3bf; 1424 1429 } 1425 1430 #wp-dxp .table-hover .table-primary:hover > td, 1426 1431 #wp-dxp .table-hover .table-primary:hover > th { 1427 background-color: #a 4c5ef;1432 background-color: #acb3bf; 1428 1433 } 1429 1434 #wp-dxp .table-secondary, … … 1674 1679 color: #495057; 1675 1680 background-color: #fff; 1676 border-color: # 65a5f8;1681 border-color: #1b52b2; 1677 1682 outline: 0; 1678 box-shadow: 0 0 0 0.2rem rgba( 9, 98, 213, 0.25);1683 box-shadow: 0 0 0 0.2rem rgba(10, 31, 67, 0.25); 1679 1684 } 1680 1685 #wp-dxp .form-control::-moz-placeholder { … … 2076 2081 #wp-dxp .btn:focus, #wp-dxp .btn.focus { 2077 2082 outline: 0; 2078 box-shadow: 0 0 0 0.2rem rgba( 9, 98, 213, 0.25);2083 box-shadow: 0 0 0 0.2rem rgba(10, 31, 67, 0.25); 2079 2084 } 2080 2085 #wp-dxp .btn.disabled, #wp-dxp .btn:disabled { … … 2090 2095 #wp-dxp .btn-primary { 2091 2096 color: #fff; 2092 background-color: #0 962D5;2093 border-color: #0 962D5;2097 background-color: #0A1F43; 2098 border-color: #0A1F43; 2094 2099 } 2095 2100 #wp-dxp .btn-primary:hover { 2096 2101 color: #fff; 2097 background-color: #0 751b0;2098 border-color: #0 74ba4;2102 background-color: #051022; 2103 border-color: #030a17; 2099 2104 } 2100 2105 #wp-dxp .btn-primary:focus, #wp-dxp .btn-primary.focus { 2101 2106 color: #fff; 2102 background-color: #0 751b0;2103 border-color: #0 74ba4;2104 box-shadow: 0 0 0 0.2rem rgba(4 6, 122, 219, 0.5);2107 background-color: #051022; 2108 border-color: #030a17; 2109 box-shadow: 0 0 0 0.2rem rgba(47, 65, 95, 0.5); 2105 2110 } 2106 2111 #wp-dxp .btn-primary.disabled, #wp-dxp .btn-primary:disabled { 2107 2112 color: #fff; 2108 background-color: #0 962D5;2109 border-color: #0 962D5;2113 background-color: #0A1F43; 2114 border-color: #0A1F43; 2110 2115 } 2111 2116 #wp-dxp .btn-primary:not(:disabled):not(.disabled):active, #wp-dxp .btn-primary:not(:disabled):not(.disabled).active, .show > #wp-dxp .btn-primary.dropdown-toggle { 2112 2117 color: #fff; 2113 background-color: #0 74ba4;2114 border-color: #0 64698;2118 background-color: #030a17; 2119 border-color: #02050c; 2115 2120 } 2116 2121 #wp-dxp .btn-primary:not(:disabled):not(.disabled):active:focus, #wp-dxp .btn-primary:not(:disabled):not(.disabled).active:focus, .show > #wp-dxp .btn-primary.dropdown-toggle:focus { 2117 box-shadow: 0 0 0 0.2rem rgba(4 6, 122, 219, 0.5);2122 box-shadow: 0 0 0 0.2rem rgba(47, 65, 95, 0.5); 2118 2123 } 2119 2124 #wp-dxp .btn-secondary { … … 2321 2326 } 2322 2327 #wp-dxp .btn-outline-primary { 2323 color: #0 962D5;2324 border-color: #0 962D5;2328 color: #0A1F43; 2329 border-color: #0A1F43; 2325 2330 } 2326 2331 #wp-dxp .btn-outline-primary:hover { 2327 2332 color: #fff; 2328 background-color: #0 962D5;2329 border-color: #0 962D5;2333 background-color: #0A1F43; 2334 border-color: #0A1F43; 2330 2335 } 2331 2336 #wp-dxp .btn-outline-primary:focus, #wp-dxp .btn-outline-primary.focus { 2332 box-shadow: 0 0 0 0.2rem rgba( 9, 98, 213, 0.5);2337 box-shadow: 0 0 0 0.2rem rgba(10, 31, 67, 0.5); 2333 2338 } 2334 2339 #wp-dxp .btn-outline-primary.disabled, #wp-dxp .btn-outline-primary:disabled { 2335 color: #0 962D5;2340 color: #0A1F43; 2336 2341 background-color: transparent; 2337 2342 } 2338 2343 #wp-dxp .btn-outline-primary:not(:disabled):not(.disabled):active, #wp-dxp .btn-outline-primary:not(:disabled):not(.disabled).active, .show > #wp-dxp .btn-outline-primary.dropdown-toggle { 2339 2344 color: #fff; 2340 background-color: #0 962D5;2341 border-color: #0 962D5;2345 background-color: #0A1F43; 2346 border-color: #0A1F43; 2342 2347 } 2343 2348 #wp-dxp .btn-outline-primary:not(:disabled):not(.disabled):active:focus, #wp-dxp .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > #wp-dxp .btn-outline-primary.dropdown-toggle:focus { 2344 box-shadow: 0 0 0 0.2rem rgba( 9, 98, 213, 0.5);2349 box-shadow: 0 0 0 0.2rem rgba(10, 31, 67, 0.5); 2345 2350 } 2346 2351 #wp-dxp .btn-outline-secondary { … … 2514 2519 #wp-dxp .btn-link { 2515 2520 font-weight: 400; 2516 color: #0 962D5;2521 color: #0A1F43; 2517 2522 text-decoration: none; 2518 2523 } 2519 2524 #wp-dxp .btn-link:hover { 2520 color: #06408c;2525 color: black; 2521 2526 text-decoration: underline; 2522 2527 } … … 2779 2784 color: #fff; 2780 2785 text-decoration: none; 2781 background-color: #0 962D5;2786 background-color: #0A1F43; 2782 2787 } 2783 2788 #wp-dxp .dropdown-item.disabled, #wp-dxp .dropdown-item:disabled { … … 3092 3097 #wp-dxp .custom-control-input:checked ~ .custom-control-label::before { 3093 3098 color: #fff; 3094 border-color: #0 962D5;3095 background-color: #0 962D5;3099 border-color: #0A1F43; 3100 background-color: #0A1F43; 3096 3101 } 3097 3102 #wp-dxp .custom-control-input:focus ~ .custom-control-label::before { 3098 box-shadow: 0 0 0 0.2rem rgba( 9, 98, 213, 0.25);3103 box-shadow: 0 0 0 0.2rem rgba(10, 31, 67, 0.25); 3099 3104 } 3100 3105 #wp-dxp .custom-control-input:focus:not(:checked) ~ .custom-control-label::before { 3101 border-color: # 65a5f8;3106 border-color: #1b52b2; 3102 3107 } 3103 3108 #wp-dxp .custom-control-input:not(:disabled):active ~ .custom-control-label::before { 3104 3109 color: #fff; 3105 background-color: # 96c2fb;3106 border-color: # 96c2fb;3110 background-color: #2267de; 3111 border-color: #2267de; 3107 3112 } 3108 3113 #wp-dxp .custom-control-input[disabled] ~ .custom-control-label, #wp-dxp .custom-control-input:disabled ~ .custom-control-label { … … 3146 3151 } 3147 3152 #wp-dxp .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { 3148 border-color: #0 962D5;3149 background-color: #0 962D5;3153 border-color: #0A1F43; 3154 background-color: #0A1F43; 3150 3155 } 3151 3156 #wp-dxp .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { … … 3153 3158 } 3154 3159 #wp-dxp .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { 3155 background-color: rgba( 9, 98, 213, 0.5);3160 background-color: rgba(10, 31, 67, 0.5); 3156 3161 } 3157 3162 #wp-dxp .custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { 3158 background-color: rgba( 9, 98, 213, 0.5);3163 background-color: rgba(10, 31, 67, 0.5); 3159 3164 } 3160 3165 #wp-dxp .custom-radio .custom-control-label::before { … … 3165 3170 } 3166 3171 #wp-dxp .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { 3167 background-color: rgba( 9, 98, 213, 0.5);3172 background-color: rgba(10, 31, 67, 0.5); 3168 3173 } 3169 3174 #wp-dxp .custom-switch { … … 3195 3200 } 3196 3201 #wp-dxp .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { 3197 background-color: rgba( 9, 98, 213, 0.5);3202 background-color: rgba(10, 31, 67, 0.5); 3198 3203 } 3199 3204 #wp-dxp .custom-select { … … 3215 3220 } 3216 3221 #wp-dxp .custom-select:focus { 3217 border-color: # 65a5f8;3222 border-color: #1b52b2; 3218 3223 outline: 0; 3219 box-shadow: 0 0 0 0.2rem rgba( 9, 98, 213, 0.25);3224 box-shadow: 0 0 0 0.2rem rgba(10, 31, 67, 0.25); 3220 3225 } 3221 3226 #wp-dxp .custom-select:focus::-ms-value { … … 3270 3275 } 3271 3276 #wp-dxp .custom-file-input:focus ~ .custom-file-label { 3272 border-color: # 65a5f8;3273 box-shadow: 0 0 0 0.2rem rgba( 9, 98, 213, 0.25);3277 border-color: #1b52b2; 3278 box-shadow: 0 0 0 0.2rem rgba(10, 31, 67, 0.25); 3274 3279 } 3275 3280 #wp-dxp .custom-file-input[disabled] ~ .custom-file-label, #wp-dxp .custom-file-input:disabled ~ .custom-file-label { … … 3327 3332 } 3328 3333 #wp-dxp .custom-range:focus::-webkit-slider-thumb { 3329 box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba( 9, 98, 213, 0.25);3334 box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(10, 31, 67, 0.25); 3330 3335 } 3331 3336 #wp-dxp .custom-range:focus::-moz-range-thumb { 3332 box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba( 9, 98, 213, 0.25);3337 box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(10, 31, 67, 0.25); 3333 3338 } 3334 3339 #wp-dxp .custom-range:focus::-ms-thumb { 3335 box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba( 9, 98, 213, 0.25);3340 box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(10, 31, 67, 0.25); 3336 3341 } 3337 3342 #wp-dxp .custom-range::-moz-focus-outer { … … 3342 3347 height: 1rem; 3343 3348 margin-top: -0.25rem; 3344 background-color: #0 962D5;3349 background-color: #0A1F43; 3345 3350 border: 0; 3346 3351 border-radius: 1rem; … … 3357 3362 } 3358 3363 #wp-dxp .custom-range::-webkit-slider-thumb:active { 3359 background-color: # 96c2fb;3364 background-color: #2267de; 3360 3365 } 3361 3366 #wp-dxp .custom-range::-webkit-slider-runnable-track { … … 3371 3376 width: 1rem; 3372 3377 height: 1rem; 3373 background-color: #0 962D5;3378 background-color: #0A1F43; 3374 3379 border: 0; 3375 3380 border-radius: 1rem; … … 3386 3391 } 3387 3392 #wp-dxp .custom-range::-moz-range-thumb:active { 3388 background-color: # 96c2fb;3393 background-color: #2267de; 3389 3394 } 3390 3395 #wp-dxp .custom-range::-moz-range-track { … … 3403 3408 margin-right: 0.2rem; 3404 3409 margin-left: 0.2rem; 3405 background-color: #0 962D5;3410 background-color: #0A1F43; 3406 3411 border: 0; 3407 3412 border-radius: 1rem; … … 3417 3422 } 3418 3423 #wp-dxp .custom-range::-ms-thumb:active { 3419 background-color: # 96c2fb;3424 background-color: #2267de; 3420 3425 } 3421 3426 #wp-dxp .custom-range::-ms-track { … … 3521 3526 #wp-dxp .nav-pills .show > .nav-link { 3522 3527 color: #fff; 3523 background-color: #0 962D5;3528 background-color: #0A1F43; 3524 3529 } 3525 3530 #wp-dxp .nav-fill > .nav-link, … … 4153 4158 margin-left: -1px; 4154 4159 line-height: 1.25; 4155 color: #0 962D5;4160 color: #0A1F43; 4156 4161 background-color: #fff; 4157 4162 border: 1px solid #dee2e6; … … 4159 4164 #wp-dxp .page-link:hover { 4160 4165 z-index: 2; 4161 color: #06408c;4166 color: black; 4162 4167 text-decoration: none; 4163 4168 background-color: #e9ecef; … … 4167 4172 z-index: 3; 4168 4173 outline: 0; 4169 box-shadow: 0 0 0 0.2rem rgba( 9, 98, 213, 0.25);4174 box-shadow: 0 0 0 0.2rem rgba(10, 31, 67, 0.25); 4170 4175 } 4171 4176 #wp-dxp .page-item:first-child .page-link { … … 4181 4186 z-index: 3; 4182 4187 color: #fff; 4183 background-color: #0 962D5;4184 border-color: #0 962D5;4188 background-color: #0A1F43; 4189 border-color: #0A1F43; 4185 4190 } 4186 4191 #wp-dxp .page-item.disabled .page-link { … … 4252 4257 #wp-dxp .badge-primary { 4253 4258 color: #fff; 4254 background-color: #0 962D5;4259 background-color: #0A1F43; 4255 4260 } 4256 4261 a#wp-dxp .badge-primary:hover, a#wp-dxp .badge-primary:focus { 4257 4262 color: #fff; 4258 background-color: #0 74ba4;4263 background-color: #030a17; 4259 4264 } 4260 4265 a#wp-dxp .badge-primary:focus, a#wp-dxp .badge-primary.focus { 4261 4266 outline: 0; 4262 box-shadow: 0 0 0 0.2rem rgba( 9, 98, 213, 0.5);4267 box-shadow: 0 0 0 0.2rem rgba(10, 31, 67, 0.5); 4263 4268 } 4264 4269 … … 4395 4400 } 4396 4401 #wp-dxp .alert-primary { 4397 color: #05 336f;4398 background-color: #ce e0f7;4399 border-color: #ba d3f3;4402 color: #051023; 4403 background-color: #ced2d9; 4404 border-color: #bac0ca; 4400 4405 } 4401 4406 #wp-dxp .alert-primary hr { 4402 border-top-color: #a 4c5ef;4407 border-top-color: #acb3bf; 4403 4408 } 4404 4409 #wp-dxp .alert-primary .alert-link { 4405 color: #031d3e;4410 color: black; 4406 4411 } 4407 4412 #wp-dxp .alert-secondary { … … 4507 4512 text-align: center; 4508 4513 white-space: nowrap; 4509 background-color: #0 962D5;4514 background-color: #0A1F43; 4510 4515 transition: width 0.6s ease; 4511 4516 } … … 4579 4584 z-index: 2; 4580 4585 color: #fff; 4581 background-color: #0 962D5;4582 border-color: #0 962D5;4586 background-color: #0A1F43; 4587 border-color: #0A1F43; 4583 4588 } 4584 4589 #wp-dxp .list-group-item + #wp-dxp .list-group-item { … … 4717 4722 } 4718 4723 #wp-dxp .list-group-item-primary { 4719 color: #05 336f;4720 background-color: #ba d3f3;4724 color: #051023; 4725 background-color: #bac0ca; 4721 4726 } 4722 4727 #wp-dxp .list-group-item-primary.list-group-item-action:hover, #wp-dxp .list-group-item-primary.list-group-item-action:focus { 4723 color: #05 336f;4724 background-color: #a 4c5ef;4728 color: #051023; 4729 background-color: #acb3bf; 4725 4730 } 4726 4731 #wp-dxp .list-group-item-primary.list-group-item-action.active { 4727 4732 color: #fff; 4728 background-color: #05 336f;4729 border-color: #05 336f;4733 background-color: #051023; 4734 border-color: #051023; 4730 4735 } 4731 4736 #wp-dxp .list-group-item-secondary { … … 5528 5533 } 5529 5534 #wp-dxp .bg-primary { 5530 background-color: #0 962D5!important;5535 background-color: #0A1F43 !important; 5531 5536 } 5532 5537 #wp-dxp a.bg-primary:hover, #wp-dxp a.bg-primary:focus, 5533 5538 #wp-dxp button.bg-primary:hover, 5534 5539 #wp-dxp button.bg-primary:focus { 5535 background-color: #0 74ba4!important;5540 background-color: #030a17 !important; 5536 5541 } 5537 5542 #wp-dxp .bg-secondary { … … 5628 5633 } 5629 5634 #wp-dxp .border-primary { 5630 border-color: #0 962D5!important;5635 border-color: #0A1F43 !important; 5631 5636 } 5632 5637 #wp-dxp .border-secondary { … … 8450 8455 } 8451 8456 #wp-dxp .text-primary { 8452 color: #0 962D5!important;8457 color: #0A1F43 !important; 8453 8458 } 8454 8459 #wp-dxp a.text-primary:hover, #wp-dxp a.text-primary:focus { 8455 color: #06408c!important;8460 color: black !important; 8456 8461 } 8457 8462 #wp-dxp .text-secondary { … … 8608 8613 border-color: #dee2e6; 8609 8614 } 8615 } 8616 #wp-dxp a:where(.back, .contextual-link):not(.wp-dxp-delete-rule, :hover, :focus-within) { 8617 color: var(--purple); 8610 8618 } 8611 8619 #wp-dxp .container-fluid, #wp-dxp .container-sm, #wp-dxp .container-md, #wp-dxp .container-lg, #wp-dxp .container-xl { … … 8642 8650 #wp-dxp .header-nav .nav-link.active { 8643 8651 color: #000000; 8644 border-bottom: 2px solid #0074E7;8652 border-bottom: 2px solid var(--purple); 8645 8653 } 8646 8654 #wp-dxp .alert { … … 8678 8686 } 8679 8687 #wp-dxp .alert.alert-info { 8680 --fill: #0074E7;8681 background-color: #F 5FAFF;8682 border-color: #0 074E7;8688 --fill: $blue; 8689 background-color: #FFF; 8690 border-color: #0A1F43; 8683 8691 color: #1A1A1A; 8684 8692 } 8685 8693 #wp-dxp .alert.alert-primary { 8686 border-color: #0 074E7;8694 border-color: #0A1F43; 8687 8695 color: #1A1A1A; 8688 8696 background: #F5FAFF; 8689 8697 } 8690 8698 #wp-dxp .alert.alert-primary i { 8691 color: #0 074E7;8699 color: #0A1F43; 8692 8700 margin-right: 10px; 8693 8701 font-size: 16px; … … 8722 8730 } 8723 8731 #wp-dxp .btn { 8724 background -color: #0074E7;8732 background: var(--purple-gradient); 8725 8733 color: #fff; 8726 8734 border-radius: 4px; 8727 border: 1px solid #0074E7;8735 border: none; 8728 8736 padding: 0.5rem 1rem; 8729 8737 min-width: 130px; 8738 line-height: normal; 8739 display: inline-grid; 8740 place-content: center; 8730 8741 } 8731 8742 #wp-dxp .btn.alt-bg { 8732 8743 background: none; 8733 color: #0074E7; 8744 border: 1px solid var(--purple); 8745 color: var(--purple); 8734 8746 margin-left: 0.5rem; 8735 8747 } 8736 #wp-dxp .btn.alt-bg:hover { 8737 background-color: #0074E7; 8738 color: #fff; 8739 } 8740 #wp-dxp .btn:hover { 8741 background-color: #fff; 8742 color: #0074E7; 8748 #wp-dxp .btn.alt-bg:hover, #wp-dxp .btn.alt-bg:focus { 8749 background: var(--purple-50); 8750 outline: 1px solid var(--purple); 8751 } 8752 #wp-dxp .btn:hover, #wp-dxp .btn:focus { 8753 background: #fff; 8754 color: var(--purple); 8755 outline: 2px solid var(--purple); 8743 8756 } 8744 8757 #wp-dxp .table-responsive-lg { … … 8885 8898 } 8886 8899 #wp-dxp .button-holder .dashboard-category-dropdown + .btn { 8887 height: 42px;8900 min-height: 42px; 8888 8901 } 8889 8902 #wp-dxp .button-holder .dashboard-status-toggle { … … 8910 8923 border-left: 0; 8911 8924 } 8912 #wp-dxp .button-holder .dashboard-status-toggle label:hover {8913 background: #F5FAFF;8925 #wp-dxp .button-holder .dashboard-status-toggle label:hover, #wp-dxp .button-holder .dashboard-status-toggle label:focus { 8926 background: var(--purple-50); 8914 8927 } 8915 8928 #wp-dxp .button-holder .dashboard-status-toggle input:checked + label { 8916 background: #F5FAFF; 8929 background: var(--purple-50); 8930 border-color: var(--purple); 8917 8931 } 8918 8932 #wp-dxp .button-holder .dashboard-status-toggle input { … … 8974 8988 } 8975 8989 #wp-dxp .table-link { 8976 color: #0074E7;8990 color: var(--purple); 8977 8991 font-weight: 500; 8978 8992 } 8979 8993 #wp-dxp .text-link { 8980 color: #0074E7;8994 color: var(--purple); 8981 8995 border-bottom: 1px solid transparent; 8982 8996 padding-bottom: 1px; … … 8984 8998 #wp-dxp .text-link:hover { 8985 8999 text-decoration: none; 8986 color: #0074E7;8987 border-bottom: 1px solid #0074E7;9000 color: var(--purple); 9001 border-bottom: 1px solid var(--purple); 8988 9002 } 8989 9003 #wp-dxp .contextual-actions-wrapper img { … … 9218 9232 } 9219 9233 #wp-dxp .add-condition { 9220 color: #0074E7;9234 color: var(--purple); 9221 9235 background: none; 9222 9236 border: none; … … 9330 9344 margin-bottom: 2rem; 9331 9345 padding: 1.625rem 1.5rem; 9332 background: #0 962D5;9346 background: #0A1F43; 9333 9347 } 9334 9348 #wp-dxp .wp-dxp-header__bg { … … 9354 9368 margin: 0; 9355 9369 } 9356 #wp-dxp .wp-dxp-header .wp-dxp-breadcrumbs__separator, #wp-dxp .wp-dxp-header .wp-dxp-breadcrumbs__page {9357 opacity: 0.5;9358 }9359 9370 #wp-dxp .wp-dxp-header .wp-dxp-breadcrumbs__separator { 9360 9371 margin: 0 1rem; 9372 font-weight: 100; 9361 9373 } 9362 9374 #wp-dxp .wp-dxp-header__links { 9363 color: #0 962D5;9375 color: #0A1F43; 9364 9376 } 9365 9377 @media (max-width: 991px) { … … 9417 9429 left: 50%; 9418 9430 transform: translateX(-50%) translateY(-50%); 9419 padding: 0. 5rem 0.75rem;9431 padding: 0.25rem 0.75rem; 9420 9432 font-size: 0.75rem; 9421 9433 text-align: center; 9422 9434 text-transform: uppercase; 9423 9435 color: #fff; 9424 background: #EA5084;9436 background: var(--blue); 9425 9437 border-radius: 3rem; 9426 9438 font-weight: bold; … … 9446 9458 min-width: 0.6rem; 9447 9459 min-height: 0.6rem; 9448 border-top: 0.15rem solid # 0962D5;9449 border-right: 0.15rem solid # 0962D5;9460 border-top: 0.15rem solid #C127A0; 9461 border-right: 0.15rem solid #C127A0; 9450 9462 transform: rotate(45deg) translateX(-0.5rem) translateY(50%); 9451 9463 transition: right 0.2s; … … 9457 9469 display: block; 9458 9470 margin-bottom: 0.25rem; 9459 color: # 0962D5;9471 color: #C127A0; 9460 9472 font-weight: bold; 9461 9473 } … … 9539 9551 font-size: 1rem; 9540 9552 } 9553 #wp-dxp .wp-dxp-input-group label a:not(:hover, :focus-within) { 9554 color: var(--purple); 9555 } 9541 9556 #wp-dxp .wp-dxp-input-group input, 9542 9557 #wp-dxp .wp-dxp-input-group textarea { … … 9563 9578 margin-right: 1rem; 9564 9579 padding: 0.5rem 1rem; 9565 background: #0962D5;9580 background: var(--purple-gradient); 9566 9581 color: #fff; 9567 9582 border-radius: 0.25rem; … … 9585 9600 #wp-dxp .wp-dxp-button--white { 9586 9601 background: #fff; 9587 color: # 0962D5;9602 color: #C127A0; 9588 9603 } 9589 9604 #wp-dxp .wp-dxp-button--white:hover { 9590 color: # 0962D5;9605 color: #C127A0; 9591 9606 } 9592 9607 -
wp-dxp/trunk/admin/img/bin.svg
r2864337 r2975253 1 1 <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 2 <rect x="0.5" y="0.5" width="39" height="39" rx="3.5" fill="white"/> 3 <path d="M20.8516 25.0625H21.5547C21.7305 25.0625 21.9062 24.916 21.9062 24.7109V18.3828C21.9062 18.207 21.7305 18.0312 21.5547 18.0312H20.8516C20.6465 18.0312 20.5 18.207 20.5 18.3828V24.7109C20.5 24.916 20.6465 25.0625 20.8516 25.0625ZM25.6562 15.2188H23.2246L22.2285 13.5781C21.9941 13.168 21.5254 12.875 21.0273 12.875H18.0684C17.5703 12.875 17.1016 13.168 16.8672 13.5781L15.8711 15.2188H13.4688C13.2051 15.2188 13 15.4531 13 15.6875V16.1562C13 16.4199 13.2051 16.625 13.4688 16.625H13.9375V26.4688C13.9375 27.2598 14.5527 27.875 15.3438 27.875H23.7812C24.543 27.875 25.1875 27.2598 25.1875 26.4688V16.625H25.6562C25.8906 16.625 26.125 16.4199 26.125 16.1562V15.6875C26.125 15.4531 25.8906 15.2188 25.6562 15.2188ZM18.0098 14.3691C18.0391 14.3398 18.0977 14.2812 18.1562 14.2812C18.1562 14.2812 18.1562 14.2812 18.1855 14.2812H20.9395C20.998 14.2812 21.0566 14.3398 21.0859 14.3691L21.584 15.2188H17.5117L18.0098 14.3691ZM23.7812 26.4688H15.3438V16.625H23.7812V26.4688ZM17.5703 25.0625H18.2734C18.4492 25.0625 18.625 24.916 18.625 24.7109V18.3828C18.625 18.207 18.4492 18.0312 18.2734 18.0312H17.5703C17.3652 18.0312 17.2188 18.207 17.2188 18.3828V24.7109C17.2188 24.916 17.3652 25.0625 17.5703 25.0625Z" fill="#0074E7"/>4 <rect x="0.5" y="0.5" width="39" height="39" rx="3.5" stroke="#0074E7"/>3 <path fill="#C127A0" d="M20.8516 25.0625H21.5547C21.7305 25.0625 21.9062 24.916 21.9062 24.7109V18.3828C21.9062 18.207 21.7305 18.0312 21.5547 18.0312H20.8516C20.6465 18.0312 20.5 18.207 20.5 18.3828V24.7109C20.5 24.916 20.6465 25.0625 20.8516 25.0625ZM25.6562 15.2188H23.2246L22.2285 13.5781C21.9941 13.168 21.5254 12.875 21.0273 12.875H18.0684C17.5703 12.875 17.1016 13.168 16.8672 13.5781L15.8711 15.2188H13.4688C13.2051 15.2188 13 15.4531 13 15.6875V16.1562C13 16.4199 13.2051 16.625 13.4688 16.625H13.9375V26.4688C13.9375 27.2598 14.5527 27.875 15.3438 27.875H23.7812C24.543 27.875 25.1875 27.2598 25.1875 26.4688V16.625H25.6562C25.8906 16.625 26.125 16.4199 26.125 16.1562V15.6875C26.125 15.4531 25.8906 15.2188 25.6562 15.2188ZM18.0098 14.3691C18.0391 14.3398 18.0977 14.2812 18.1562 14.2812C18.1562 14.2812 18.1562 14.2812 18.1855 14.2812H20.9395C20.998 14.2812 21.0566 14.3398 21.0859 14.3691L21.584 15.2188H17.5117L18.0098 14.3691ZM23.7812 26.4688H15.3438V16.625H23.7812V26.4688ZM17.5703 25.0625H18.2734C18.4492 25.0625 18.625 24.916 18.625 24.7109V18.3828C18.625 18.207 18.4492 18.0312 18.2734 18.0312H17.5703C17.3652 18.0312 17.2188 18.207 17.2188 18.3828V24.7109C17.2188 24.916 17.3652 25.0625 17.5703 25.0625Z" /> 4 <rect stroke="#C127A0" x="0.5" y="0.5" width="39" height="39" rx="3.5" /> 5 5 </svg> -
wp-dxp/trunk/admin/img/contextual.svg
r2864337 r2975253 1 1 <svg width="40" height="40" viewBox="0 0 40 40" fill="none" xmlns="http://www.w3.org/2000/svg"> 2 2 <rect x="0.5" y="0.5" width="39" height="39" rx="3.5" fill="white"/> 3 <path d="M19.875 18.9688C19.084 18.9688 18.4688 19.6133 18.4688 20.375C18.4688 21.166 19.084 21.7812 19.875 21.7812C20.6367 21.7812 21.2812 21.166 21.2812 20.375C21.2812 19.6133 20.6367 18.9688 19.875 18.9688ZM18.4688 15.9219C18.4688 16.7129 19.084 17.3281 19.875 17.3281C20.6367 17.3281 21.2812 16.7129 21.2812 15.9219C21.2812 15.1602 20.6367 14.5156 19.875 14.5156C19.084 14.5156 18.4688 15.1602 18.4688 15.9219ZM18.4688 24.8281C18.4688 25.6191 19.084 26.2344 19.875 26.2344C20.6367 26.2344 21.2812 25.6191 21.2812 24.8281C21.2812 24.0664 20.6367 23.4219 19.875 23.4219C19.084 23.4219 18.4688 24.0664 18.4688 24.8281Z" fill="#0074E7"/>4 <rect x="0.5" y="0.5" width="39" height="39" rx="3.5" stroke="#0074E7"/>3 <path fill="#C127A0" d="M19.875 18.9688C19.084 18.9688 18.4688 19.6133 18.4688 20.375C18.4688 21.166 19.084 21.7812 19.875 21.7812C20.6367 21.7812 21.2812 21.166 21.2812 20.375C21.2812 19.6133 20.6367 18.9688 19.875 18.9688ZM18.4688 15.9219C18.4688 16.7129 19.084 17.3281 19.875 17.3281C20.6367 17.3281 21.2812 16.7129 21.2812 15.9219C21.2812 15.1602 20.6367 14.5156 19.875 14.5156C19.084 14.5156 18.4688 15.1602 18.4688 15.9219ZM18.4688 24.8281C18.4688 25.6191 19.084 26.2344 19.875 26.2344C20.6367 26.2344 21.2812 25.6191 21.2812 24.8281C21.2812 24.0664 20.6367 23.4219 19.875 23.4219C19.084 23.4219 18.4688 24.0664 18.4688 24.8281Z" /> 4 <rect stroke="#C127A0" x="0.5" y="0.5" width="39" height="39" rx="3.5" /> 5 5 </svg> -
wp-dxp/trunk/admin/partials/_other/header.php
r2916348 r2975253 30 30 <div class="wp-dxp-breadcrumbs"> 31 31 <h1 class="wp-dxp-breadcrumbs__title"> 32 <img src="<?php echo plugins_url('../../img/ wp-dxp-logo.svg', __FILE__); ?>" alt="<?php echo esc_html( WP_DXP_TITLE); ?>" />32 <img src="<?php echo plugins_url('../../img/personalizewp-logo.svg', __FILE__); ?>" alt="<?php echo esc_html( 'Personalize WP', 'personalizewp' ); ?>" /> 33 33 </h1> 34 34 <span class="wp-dxp-breadcrumbs__separator">/</span> … … 41 41 <?php echo esc_html__('Help', 'wp-dxp'); ?> 42 42 </a> 43 44 <a href="<?php echo esc_url( WP_DXP_ADMIN_SUPPORT_URL ); ?>" target="_blank" class="wp-dxp-button wp-dxp-button--white">45 <i class="bi bi-chat-right-dots"></i>46 <?php echo esc_html__('Support', 'wp-dxp'); ?>47 </a>48 49 <a href="<?php echo esc_url( WP_DXP_ADMIN_REVIEWS_URL ); ?>" target="_blank" class="wp-dxp-button wp-dxp-button--white">50 <i class="bi bi-hand-thumbs-up"></i>51 <?php echo esc_html__('Leave a Review', 'wp-dxp'); ?>52 </a>53 43 </div> 54 44 </header> -
wp-dxp/trunk/admin/partials/rules/edit.php
r2916348 r2975253 24 24 <div class="row"> 25 25 <div class="col-12"> 26 <a class=" d-inline-block mb-3" href="<?php echo WP_DXP_ADMIN_RULES_INDEX_URL; ?>">26 <a class="back d-inline-block mb-3" href="<?php echo WP_DXP_ADMIN_RULES_INDEX_URL; ?>"> 27 27 <i class="bi bi-arrow-left"></i> 28 28 <?php esc_html_e( 'Back', 'wp-dxp' ); ?></a> -
wp-dxp/trunk/admin/partials/rules/index.php
r2916348 r2975253 29 29 <div class="row mb-3"> 30 30 <div class="col-12 col-xl-8"> 31 <p class="section-description"><?php esc_html_e( 'Rules that are active will be displayed to a user and are available to use. If a rule is inactive, content related to it will not currently be displayed to a user. Reasons these rules are "inactive" include dependence upon a third party plugin to function (for example WooCommerce).', 'wp-dxp' ); ?></p>31 <p class="section-description"><?php esc_html_e( 'Rules that are active will be displayed to a user and are available to use. If a rule is inactive, content related to it will not currently be displayed to a user.', 'wp-dxp' ); ?></p> 32 32 </div> 33 33 </div> -
wp-dxp/trunk/admin/partials/settings/index.php
r2916348 r2975253 46 46 /* translators: 1: %s expands to a website link to WP-DXP Terms and Conditions, 2: </a> closing tag. */ 47 47 esc_html__( 'I accept the %1$sTerms and Conditions%2$s', 'wp-dxp' ), 48 '<a href="' . esc_url( 'https:// wp-dxp.com/terms/' ) . '" target="_blank">',48 '<a href="' . esc_url( 'https://personalizewp.com/terms/' ) . '" target="_blank">', 49 49 '</a>' 50 50 ); -
wp-dxp/trunk/admin/partials/wp-dxp-admin-display.php
r2881249 r2975253 16 16 <!-- This file should primarily consist of HTML with a little bit of PHP. --> 17 17 18 <h1><?php esc_html_e( ' WP-DXP: Partial', 'wp-dxp' ); ?></h1>18 <h1><?php esc_html_e( 'PersonalizeWP: Partial', 'wp-dxp' ); ?></h1> -
wp-dxp/trunk/build/index.asset.php
r2942440 r2975253 1 <?php return array('dependencies' => array('wp-api-fetch', 'wp-element', 'wp-polyfill'), 'version' => ' 997245eebb3793f5079bdb5e02301e12');1 <?php return array('dependencies' => array('wp-api-fetch', 'wp-element', 'wp-polyfill'), 'version' => '25bd35f34ac1dd0a3618cdd674fb0789'); -
wp-dxp/trunk/build/index.js
r2942440 r2975253 1 !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=8)}([function(e,t){e.exports=window.wp.element},function(e,t){function r(t){return e.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,r(t)}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(2);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(9);e.exports=function(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(11),o=r(12), u=r(3),l=r(13);e.exports=function(e){return n(e)||o(e)||u(e)||l()},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(14),o=r(15),u=r(3),l=r(16);e.exports=function(e,t){return n(e)||o(e,t)||u(e,t)||l()},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=window.wp.apiFetch},function(e,t,r){"use strict";r.r(t),r.d(t,"addWpDxpBlockControls",(function(){return E})),r.d(t,"addAttributes",(function(){return M})),r.d(t,"addExtraProps",(function(){return P}));var n=r(4),o=r.n(n),u=r(5),l=r.n(u),p=r(6),i=r.n(p),a=r(0),c=r(7),s=r.n(c);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var x=wp.i18n.__,b=wp.element,m=b.Fragment,y=b.useEffect,w=b.useState,v=wp.hooks.addFilter,g=wp.components,h=g.PanelBody,j=g.SelectControl,O=wp.compose.createHigherOrderComponent,_=wp.blockEditor.InspectorControls,S=[];S.push({value:0,label:x("-- No rule selected --","wp-dxp")}),s()({path:"/wp-dxp/v1/rules"}).then((function(e){e.data.forEach((function(e){S.push({value:e.id,label:e.name,disabled:!e.is_usable})}))})).catch((function(e){console.log(e)}));var D=[];D.push({value:"show",label:x("Show Block","wp-dxp"),disabled:!1}),D.push({value:"hide",label:x("Hide Block","wp-dxp")});var E=O((function(e){return function(t){var r=t.attributes,n=t.setAttributes,o=r.wpDxpRule,u=r.wpDxpAction,p=r.wpDxpId,c=w(t.clientId),s=i()(c,2),f=s[0];s[1];if(y((function(){t.name,t.isSelected&&o&&n({wpDxpId:Date.now().toString()})}),[f]),"core/freeform"==t.name)return Object(a.createElement)(e,t);if(t.name,t.isSelected){var d=[0];return o&&(d=(d=o.replace(/^,+|,+(?=,)/g,"")).split(","),d=l()(new Set(d))),0===d.length&&(d=[0]),Object(a.createElement)(m,null,Object(a.createElement)(e,t),Object(a.createElement)(_,null,Object(a.createElement)(h,{title:x("WP-DXP","wp-dxp")},d.length>0&&Object(a.createElement)("div",{className:"dxp-rules"},d.map((function(e,t){return Object(a.createElement)("div",{className:"dxp-rules__rule",key:"wp-dxp-rule-"+t},Object(a.createElement)(j,{label:0==t?x("When these rules are met:","wp-dxp"):"",value:e,onChange:function(e){d[t]=e,d.slice(),n({wpDxpRule:d.join(),wpDxpId:t===d.length-1?Date.now().toString():p})},options:S}),d.length>1&&Object(a.createElement)("span",{className:"bi bi-dash-circle",onClick:function(){d.splice(t,1),n({wpDxpRule:d.join(),wpDxpId:Date.now().toString()})}}),0!=e&&t==d.length-1&&Object(a.createElement)("span",{className:"bi bi-plus-circle",onClick:function(){d.splice(t+1,0,0),n({wpDxpRule:d.join(),wpDxpId:Date.now().toString()})}}))}))),Object(a.createElement)(j,{label:x("Then take the following action:","wp-dxp"),name:"wpDxpAction",value:u,onChange:function(e){return n({wpDxpAction:e})},options:D}))))}return Object(a.createElement)(e,t)}}),"addWpDxpBlockControls");function M(e){return e.name,d(d({},e),{},{attributes:d(d({},e.attributes),{},{wpDxpRule:{type:"string",default:""},wpDxpAction:{type:"string",default:""},wpDxpId:{type:"string",default:""}})})}function P(e,t,r){return t.name,d(d({},e),{},{wpDxpRule:r.wpDxpRule,wpDxpAction:r.wpDxpAction,wpDxpId:r.wpDxpId})}v("editor.BlockEdit","wp-dxp/controls",E),v("blocks.registerBlockType","wp-dxp/add-attr",M)},function(e,t,r){var n=r(1).default,o=r(10);e.exports=function(e){var t=o(e,"string");return"symbol"===n(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(1).default;e.exports=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(2);e.exports=function(e){if(Array.isArray(e))return n(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,u,l,p=[],i=!0,a=!1;try{if(u=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;i=!1}else for(;!(i=(n=u.call(r)).done)&&(p.push(n.value),p.length!==t);i=!0);}catch(e){a=!0,o=e}finally{try{if(!i&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(a)throw o}}return p}},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports}]);1 !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=8)}([function(e,t){e.exports=window.wp.element},function(e,t){function r(t){return e.exports=r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,r(t)}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(2);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(9);e.exports=function(e,t,r){return(t=n(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(11),o=r(12),l=r(3),u=r(13);e.exports=function(e){return n(e)||o(e)||l(e)||u()},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(14),o=r(15),l=r(3),u=r(16);e.exports=function(e,t){return n(e)||o(e,t)||l(e,t)||u()},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=window.wp.apiFetch},function(e,t,r){"use strict";r.r(t),r.d(t,"addWpDxpBlockControls",(function(){return E})),r.d(t,"addAttributes",(function(){return M})),r.d(t,"addExtraProps",(function(){return P}));var n=r(4),o=r.n(n),l=r(5),u=r.n(l),p=r(6),i=r.n(p),a=r(0),c=r(7),s=r.n(c);function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var x=wp.i18n.__,b=wp.element,m=b.Fragment,y=b.useEffect,w=b.useState,v=wp.hooks.addFilter,g=wp.components,h=g.PanelBody,j=g.SelectControl,O=wp.compose.createHigherOrderComponent,_=wp.blockEditor.InspectorControls,S=[];S.push({value:0,label:x("-- No rule selected --","wp-dxp")}),s()({path:"/wp-dxp/v1/rules"}).then((function(e){e.data.forEach((function(e){S.push({value:e.id,label:e.name,disabled:!e.is_usable})}))})).catch((function(e){console.log(e)}));var D=[];D.push({value:"show",label:x("Show Block","wp-dxp"),disabled:!1}),D.push({value:"hide",label:x("Hide Block","wp-dxp")});var E=O((function(e){return function(t){var r=t.attributes,n=t.setAttributes,o=r.wpDxpRule,l=r.wpDxpAction,p=r.wpDxpId,c=w(t.clientId),s=i()(c,2),f=s[0];s[1];if(y((function(){t.name,t.isSelected&&o&&n({wpDxpId:Date.now().toString()})}),[f]),"core/freeform"==t.name)return Object(a.createElement)(e,t);if(t.name,t.isSelected){var d=[0];return o&&(d=(d=o.replace(/^,+|,+(?=,)/g,"")).split(","),d=u()(new Set(d))),0===d.length&&(d=[0]),Object(a.createElement)(m,null,Object(a.createElement)(e,t),Object(a.createElement)(_,null,Object(a.createElement)(h,{title:x("Personalize","wp-dxp")},d.length>0&&Object(a.createElement)("div",{className:"dxp-rules"},d.map((function(e,t){return Object(a.createElement)("div",{className:"dxp-rules__rule",key:"wp-dxp-rule-"+t},Object(a.createElement)(j,{label:0==t?x("When these rules are met:","wp-dxp"):"",value:e,onChange:function(e){d[t]=e,d.slice(),n({wpDxpRule:d.join(),wpDxpId:t===d.length-1?Date.now().toString():p})},options:S}),d.length>1&&Object(a.createElement)("span",{className:"bi bi-dash-circle",onClick:function(){d.splice(t,1),n({wpDxpRule:d.join(),wpDxpId:Date.now().toString()})}}),0!=e&&t==d.length-1&&Object(a.createElement)("span",{className:"bi bi-plus-circle",onClick:function(){d.splice(t+1,0,0),n({wpDxpRule:d.join(),wpDxpId:Date.now().toString()})}}))}))),Object(a.createElement)(j,{label:x("Then take the following action:","wp-dxp"),name:"wpDxpAction",value:l,onChange:function(e){return n({wpDxpAction:e})},options:D}))))}return Object(a.createElement)(e,t)}}),"addWpDxpBlockControls");function M(e){return e.name,d(d({},e),{},{attributes:d(d({},e.attributes),{},{wpDxpRule:{type:"string",default:""},wpDxpAction:{type:"string",default:""},wpDxpId:{type:"string",default:""}})})}function P(e,t,r){return t.name,d(d({},e),{},{wpDxpRule:r.wpDxpRule,wpDxpAction:r.wpDxpAction,wpDxpId:r.wpDxpId})}v("editor.BlockEdit","wp-dxp/controls",E),v("blocks.registerBlockType","wp-dxp/add-attr",M)},function(e,t,r){var n=r(1).default,o=r(10);e.exports=function(e){var t=o(e,"string");return"symbol"===n(t)?t:String(t)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(1).default;e.exports=function(e,t){if("object"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!==n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t,r){var n=r(2);e.exports=function(e){if(Array.isArray(e))return n(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e){if(Array.isArray(e))return e},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,l,u,p=[],i=!0,a=!1;try{if(l=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;i=!1}else for(;!(i=(n=l.call(r)).done)&&(p.push(n.value),p.length!==t);i=!0);}catch(e){a=!0,o=e}finally{try{if(!i&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(a)throw o}}return p}},e.exports.__esModule=!0,e.exports.default=e.exports},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},e.exports.__esModule=!0,e.exports.default=e.exports}]); -
wp-dxp/trunk/includes/class-wp-dxp-conditions.php
r2881249 r2975253 6 6 'core_is_logged_in_user', 7 7 'core_time_elapsed', 8 'gravityforms_completed_form_submission',9 'ninja_forms_completed_form_submission',10 'woocommerce_completed_purchase',11 8 'core_new_visitor', 12 9 'core_users_last_visit', … … 35 32 case 'core_time_elapsed': 36 33 return Wp_Dxp_Condition_Core_Time_Elapsed::getInstance(); 37 case 'gravityforms_completed_form_submission':38 return Wp_Dxp_Condition_GravityForms_Completed_Form_Submission::getInstance();39 case 'ninja_forms_completed_form_submission':40 return Wp_Dxp_Condition_NinjaForms_Completed_Form_Submission::getInstance();41 case 'woocommerce_completed_purchase':42 return Wp_Dxp_Condition_WooCommerce_Completed_Purchase::getInstance();43 34 case 'core_new_visitor': 44 35 return Wp_Dxp_Condition_Core_New_Visitor::getInstance(); -
wp-dxp/trunk/includes/class-wp-dxp.php
r2942440 r2975253 140 140 141 141 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/dependencies/base.php'; 142 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/dependencies/gravityforms-activated.php';143 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/dependencies/ninja-forms-activated.php';144 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/dependencies/woocommerce-activated.php';145 142 146 143 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/conditions/base.php'; … … 148 145 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/conditions/core-is-logged-in-user.php'; 149 146 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/conditions/core-time-elapsed.php'; 150 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/conditions/gravityforms-completed-form-submission.php';151 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/conditions/ninja-forms-completed-form-submission.php';152 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/conditions/woocommerce-completed-purchase.php';153 147 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/conditions/core-new-visitor.php'; 154 148 require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/conditions/core-users-last-visit.php'; -
wp-dxp/trunk/includes/models/rule.php
r2916348 r2975253 190 190 public function getIsUsableAttribute() 191 191 { 192 $dependencies = $this->getConditionDependencies();192 // $dependencies = $this->getConditionDependencies(); 193 193 194 194 foreach ($this->conditions as $condition) { 195 $isUsable = Wp_Dxp_Conditions::getClass($condition->measure) 196 ->isUsable(); 197 198 if (!$isUsable) { 199 return false; 195 $classInstance = Wp_Dxp_Conditions::getClass($condition->measure); 196 if ( $classInstance ) { 197 $isUsable = $classInstance->isUsable(); 198 199 if (!$isUsable) { 200 return false; 201 } 200 202 } 201 203 } … … 212 214 $return = []; 213 215 foreach ($this->conditions as $condition) { 214 $dependencies = Wp_Dxp_Conditions::getClass($condition->measure) 215 ->dependencies(); 216 217 $return = array_merge($return, $dependencies); 216 $classInstance = Wp_Dxp_Conditions::getClass($condition->measure); 217 if ( $classInstance ) { 218 $dependencies = $classInstance->dependencies(); 219 220 return array_merge($return, $dependencies); 221 } 218 222 } 219 223 … … 256 260 { 257 261 foreach ($this->conditions as $condition) { 258 $criteriaMatched = Wp_Dxp_Conditions::getClass($condition->measure) 259 ->matchesCriteria($condition->comparator, $condition->value, $action, $condition->meta); 260 261 if (!$criteriaMatched) { 262 return false; 262 $classInstance = Wp_Dxp_Conditions::getClass($condition->measure); 263 if ( $classInstance ) { 264 $criteriaMatched = $classInstance->matchesCriteria($condition->comparator, $condition->value, $action, $condition->meta); 265 266 if (!$criteriaMatched) { 267 return false; 268 } 263 269 } 264 270 } … … 290 296 if (!empty($metaValue)) : 291 297 $conditionClass = Wp_Dxp_Conditions::getClass($measure); 292 $measureKey = $conditionClass->measure_key; 293 294 $metaArray[$measureKey] = $metaValue; 298 if ( $conditionClass ) : 299 $measureKey = $conditionClass->measure_key; 300 301 $metaArray[$measureKey] = $metaValue; 302 endif; 295 303 endif; 296 304 … … 317 325 318 326 foreach ($this->conditions as $condition) { 319 $attributes = Wp_Dxp_Conditions::getClass($condition->measure) 320 ->tagAttributes($condition, $action) + $attributes; 327 $classInstance = Wp_Dxp_Conditions::getClass($condition->measure); 328 if ( $classInstance ) { 329 $attributes = $classInstance->tagAttributes($condition, $action) + $attributes; 330 } 321 331 } 322 332 -
wp-dxp/trunk/includes/wp-dxp-constants.php
r2916348 r2975253 1 1 <?php 2 // Title3 define('WP_DXP_TITLE', 'WP-DXP');4 2 5 3 define('WP_DXP_TAG','wp-dxp'); 6 4 7 5 // Newsletter API 8 define('WP_DXP_API', 'https:// wp-dxp.com/wp-json/wp-dxp/v1/submission');6 define('WP_DXP_API', 'https://personalizewp.com/wp-json/personalizewp/v1/submission'); 9 7 10 8 // Slugs … … 35 33 define('WP_DXP_ADMIN_SETTINGS_INDEX_URL', WP_DXP_ADMIN_URL . 'admin.php?page=' . WP_DXP_ADMIN_SETTINGS_SLUG); 36 34 37 define('WP_DXP_ADMIN_KNOWLEDGE_BASE_URL', 'https:// wp-dxp.com/knowledge-base/');35 define('WP_DXP_ADMIN_KNOWLEDGE_BASE_URL', 'https://personalizewp.com/knowledge-base/'); 38 36 define('WP_DXP_ADMIN_SUPPORT_URL', 'https://wordpress.org/support/plugin/wp-dxp/'); 39 37 define('WP_DXP_ADMIN_REVIEWS_URL', 'https://en-gb.wordpress.org/plugins/wp-dxp/#reviews'); -
wp-dxp/trunk/includes/wp-dxp-db-migrations.php
r2881249 r2975253 44 44 (NULL, 'User is currently logged in', 3, 'standard', '[{\"measure\":\"core_is_logged_in_user\",\"comparator\":\"equals\",\"value\":\"true\"}]', 0, NOW(), NOW()), 45 45 (NULL, 'User is not logged in', 3, 'standard', '[{\"measure\":\"core_is_logged_in_user\",\"comparator\":\"equals\",\"value\":\"false\"}]', 0, NOW(), NOW()), 46 (NULL, 'UK-based visitor', 1, 'standard', '[{\"measure\":\"core_visitor_country\",\"comparator\":\"equals\",\"value\":\"GB\"}]', 0, NOW(), NOW()), 47 (NULL, 'Woocommerce: User has purchased a product', 2, 'standard', '[{\"measure\":\"woocommerce_completed_purchase\",\"comparator\":\"equals\",\"value\":\"true\"}]', 0, NOW(), NOW()), 48 (NULL, 'Woocommerce: Has not purchased a product', 2, 'standard', '[{\"measure\":\"woocommerce_completed_purchase\",\"comparator\":\"equals\",\"value\":\"false\"}]', 0, NOW(), NOW()), 49 (NULL, 'Ninja Forms: User has submitted at least one form', 3, 'standard', '[{\"measure\":\"ninja_forms_completed_form_submission\",\"comparator\":\"equals\",\"value\":\"true\"}]', 0, NOW(), NOW()), 50 (NULL, 'Gravity Forms: User has submitted at least one form', 3, 'standard', '[{\"measure\":\"gravityforms_completed_form_submission\",\"comparator\":\"equals\",\"value\":\"true\"}]', 0, NOW(), NOW()); 46 (NULL, 'UK-based visitor', 1, 'standard', '[{\"measure\":\"core_visitor_country\",\"comparator\":\"equals\",\"value\":\"GB\"}]', 0, NOW(), NOW()); 51 47 "); 52 48 }, -
wp-dxp/trunk/wp-dxp.php
r2942440 r2975253 2 2 3 3 /** 4 * The plugin bootstrap file 5 * 6 * This file is read by WordPress to generate the plugin information in the plugin 7 * admin area. This file also includes all of the dependencies used by the plugin, 8 * registers the activation and deactivation functions, and defines a function 9 * that starts the plugin. 10 * 11 * @link https://filter.agency 12 * @since 1.0.0 13 * @package Wp_Dxp 14 * 15 * @wordpress-plugin 16 * Plugin Name: WP-DXP 17 * Plugin URI: https://filter.agency/about/wp-dxp/ 4 * Plugin Name: PersonalizeWP 5 * Plugin URI: https://filter.agency/about/personalizewp/ 18 6 * Description: Use WordPress as a digital experience platform, adding personalization and conditional rules to the content that your users see and can interact with. Compete with commercial enterprise platforms and add your own rules to match user behavior on, then show or hide blocks based on if your conditions are met. 19 * Version: 1.6. 27 * Version: 1.6.3 20 8 * Author: Filter 21 9 * Author URI: https://filter.agency 22 10 * Requires at least: 6.0.0 23 * Tested up to: 6. 2.211 * Tested up to: 6.3.2 24 12 * Requires PHP: 7.3 25 13 * License: GPL-2.0+ … … 39 27 * Rename this for your plugin and update it as you release new versions. 40 28 */ 41 define( 'WP_DXP_VERSION', '1.6. 2' );29 define( 'WP_DXP_VERSION', '1.6.3' ); 42 30 43 31 /**
Note: See TracChangeset
for help on using the changeset viewer.