Version Description
Download this release
Release Info
| Developer | themeisle |
| Plugin | |
| Version | 2.9.12 |
| Comparing to | |
| See all releases | |
Code changes from version 2.9.11 to 2.9.12
- CHANGELOG.md +5 -0
- core/includes/class-orbit-fox.php +1 -1
- readme.md +8 -0
- readme.txt +8 -0
- themeisle-companion.php +1 -1
- vendor/autoload.php +1 -1
- vendor/codeinwp/themeisle-content-forms/assets/content-forms.css +13 -1
- vendor/codeinwp/themeisle-content-forms/includes/widgets-admin/beaver/beaver_widget_base.php +21 -7
- vendor/codeinwp/themeisle-content-forms/includes/widgets-admin/beaver/class-themeisle-content-forms-beaver-contact.php +3 -2
- vendor/codeinwp/themeisle-content-forms/includes/widgets-admin/elementor/contact_admin.php +3 -2
- vendor/codeinwp/themeisle-content-forms/includes/widgets-admin/elementor/elementor_widget_base.php +19 -10
- vendor/codeinwp/themeisle-content-forms/includes/widgets-public/contact_public.php +1 -1
- vendor/codeinwp/themeisle-content-forms/includes/widgets-public/newsletter_public.php +36 -6
- vendor/codeinwp/themeisle-content-forms/includes/widgets-public/widget_actions_base.php +5 -6
- vendor/codeinwp/themeisle-onboarding/includes/Main.php +1 -1
- vendor/composer/autoload_real.php +7 -7
- vendor/composer/autoload_static.php +4 -4
- vendor/composer/installed.json +17 -17
- vendor/php-http/discovery/CHANGELOG.md +6 -0
CHANGELOG.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
##### [Version 2.9.11](https://github.com/Codeinwp/themeisle-companion/compare/v2.9.10...v2.9.11) (2020-07-10)
|
| 2 |
|
| 3 |
- Starter Sites library and import process from the Neve theme
|
| 1 |
+
##### [Version 2.9.12](https://github.com/Codeinwp/themeisle-companion/compare/v2.9.11...v2.9.12) (2020-07-20)
|
| 2 |
+
|
| 3 |
+
- New checkbox field in the Contact widget for both Elementor and Beaver Builder
|
| 4 |
+
- [Fix] Newsletter widget not taking into account the double opt-in option from Mailchimp
|
| 5 |
+
|
| 6 |
##### [Version 2.9.11](https://github.com/Codeinwp/themeisle-companion/compare/v2.9.10...v2.9.11) (2020-07-10)
|
| 7 |
|
| 8 |
- Starter Sites library and import process from the Neve theme
|
core/includes/class-orbit-fox.php
CHANGED
|
@@ -69,7 +69,7 @@ class Orbit_Fox {
|
|
| 69 |
|
| 70 |
$this->plugin_name = 'orbit-fox';
|
| 71 |
|
| 72 |
-
$this->version = '2.9.
|
| 73 |
|
| 74 |
$this->load_dependencies();
|
| 75 |
$this->set_locale();
|
| 69 |
|
| 70 |
$this->plugin_name = 'orbit-fox';
|
| 71 |
|
| 72 |
+
$this->version = '2.9.12';
|
| 73 |
|
| 74 |
$this->load_dependencies();
|
| 75 |
$this->set_locale();
|
readme.md
CHANGED
|
@@ -109,6 +109,14 @@ Activating the Orbit Fox plugin is just like any other plugin. If you've uploade
|
|
| 109 |
|
| 110 |
## Changelog ##
|
| 111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 112 |
##### [Version 2.9.11](https://github.com/Codeinwp/themeisle-companion/compare/v2.9.10...v2.9.11) (2020-07-10)
|
| 113 |
|
| 114 |
- Starter Sites library and import process from the Neve theme
|
| 109 |
|
| 110 |
## Changelog ##
|
| 111 |
|
| 112 |
+
##### [Version 2.9.12](https://github.com/Codeinwp/themeisle-companion/compare/v2.9.11...v2.9.12) (2020-07-20)
|
| 113 |
+
|
| 114 |
+
- New checkbox field in the Contact widget for both Elementor and Beaver Builder
|
| 115 |
+
- [Fix] Newsletter widget not taking into account the double opt-in option from Mailchimp
|
| 116 |
+
|
| 117 |
+
|
| 118 |
+
|
| 119 |
+
|
| 120 |
##### [Version 2.9.11](https://github.com/Codeinwp/themeisle-companion/compare/v2.9.10...v2.9.11) (2020-07-10)
|
| 121 |
|
| 122 |
- Starter Sites library and import process from the Neve theme
|
readme.txt
CHANGED
|
@@ -109,6 +109,14 @@ Activating the Orbit Fox plugin is just like any other plugin. If you've uploade
|
|
| 109 |
|
| 110 |
== Changelog ==
|
| 111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 112 |
##### [Version 2.9.11](https://github.com/Codeinwp/themeisle-companion/compare/v2.9.10...v2.9.11) (2020-07-10)
|
| 113 |
|
| 114 |
- Starter Sites library and import process from the Neve theme
|
| 109 |
|
| 110 |
== Changelog ==
|
| 111 |
|
| 112 |
+
##### [Version 2.9.12](https://github.com/Codeinwp/themeisle-companion/compare/v2.9.11...v2.9.12) (2020-07-20)
|
| 113 |
+
|
| 114 |
+
- New checkbox field in the Contact widget for both Elementor and Beaver Builder
|
| 115 |
+
- [Fix] Newsletter widget not taking into account the double opt-in option from Mailchimp
|
| 116 |
+
|
| 117 |
+
|
| 118 |
+
|
| 119 |
+
|
| 120 |
##### [Version 2.9.11](https://github.com/Codeinwp/themeisle-companion/compare/v2.9.10...v2.9.11) (2020-07-10)
|
| 121 |
|
| 122 |
- Starter Sites library and import process from the Neve theme
|
themeisle-companion.php
CHANGED
|
@@ -15,7 +15,7 @@
|
|
| 15 |
* Plugin Name: Orbit Fox Companion
|
| 16 |
* Plugin URI: https://orbitfox.com/
|
| 17 |
* Description: This swiss-knife plugin comes with a quality template library, menu/sharing icons modules, Gutenberg blocks, and newly added Elementor/BeaverBuilder page builder widgets on each release.
|
| 18 |
-
* Version: 2.9.
|
| 19 |
* Author: Themeisle
|
| 20 |
* Author URI: https://orbitfox.com/
|
| 21 |
* License: GPL-2.0+
|
| 15 |
* Plugin Name: Orbit Fox Companion
|
| 16 |
* Plugin URI: https://orbitfox.com/
|
| 17 |
* Description: This swiss-knife plugin comes with a quality template library, menu/sharing icons modules, Gutenberg blocks, and newly added Elementor/BeaverBuilder page builder widgets on each release.
|
| 18 |
+
* Version: 2.9.12
|
| 19 |
* Author: Themeisle
|
| 20 |
* Author URI: https://orbitfox.com/
|
| 21 |
* License: GPL-2.0+
|
vendor/autoload.php
CHANGED
|
@@ -4,4 +4,4 @@
|
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
-
return
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInit1e269f633082fed79b894754c7016454::getLoader();
|
vendor/codeinwp/themeisle-content-forms/assets/content-forms.css
CHANGED
|
@@ -5,13 +5,25 @@
|
|
| 5 |
.ti-cf-module .content-form-field-hidden{
|
| 6 |
display: none;
|
| 7 |
}
|
| 8 |
-
.ti-cf-module input,
|
| 9 |
.ti-cf-module textarea {
|
| 10 |
width: 100%;
|
| 11 |
display: block;
|
| 12 |
border: 1px solid #cccccc;
|
| 13 |
border-radius: 3px;
|
| 14 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
.ti-cf-module select{
|
| 16 |
height: auto;
|
| 17 |
-webkit-appearance: none;
|
| 5 |
.ti-cf-module .content-form-field-hidden{
|
| 6 |
display: none;
|
| 7 |
}
|
| 8 |
+
.ti-cf-module input:not([type="checkbox"]),
|
| 9 |
.ti-cf-module textarea {
|
| 10 |
width: 100%;
|
| 11 |
display: block;
|
| 12 |
border: 1px solid #cccccc;
|
| 13 |
border-radius: 3px;
|
| 14 |
}
|
| 15 |
+
.ti-cf-module label.checkbox-input{
|
| 16 |
+
position: relative;
|
| 17 |
+
padding-left: 20px;
|
| 18 |
+
}
|
| 19 |
+
|
| 20 |
+
.ti-cf-module label.checkbox-input input[type="checkbox"]{
|
| 21 |
+
position: absolute;
|
| 22 |
+
left: 0;
|
| 23 |
+
top: 50%;
|
| 24 |
+
transform: translateY( -50% );
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
.ti-cf-module select{
|
| 28 |
height: auto;
|
| 29 |
-webkit-appearance: none;
|
vendor/codeinwp/themeisle-content-forms/includes/widgets-admin/beaver/beaver_widget_base.php
CHANGED
|
@@ -501,7 +501,7 @@ abstract class Beaver_Widget_Base extends \FLBuilderModule {
|
|
| 501 |
),
|
| 502 |
);
|
| 503 |
|
| 504 |
-
$fields_type
|
| 505 |
$repeater_fields = array(
|
| 506 |
'label' => array(
|
| 507 |
'type' => 'text',
|
|
@@ -522,15 +522,18 @@ abstract class Beaver_Widget_Base extends \FLBuilderModule {
|
|
| 522 |
'textarea' => array(
|
| 523 |
'fields' => array( 'placeholder', 'field_width', 'required', 'label' ),
|
| 524 |
),
|
| 525 |
-
'email'
|
| 526 |
'fields' => array( 'placeholder', 'field_width', 'required', 'label' ),
|
| 527 |
),
|
| 528 |
-
'text'
|
| 529 |
'fields' => array( 'placeholder', 'field_width', 'required', 'label' ),
|
| 530 |
),
|
| 531 |
-
'hidden'
|
| 532 |
'fields' => array( 'hidden_value', 'label' ),
|
| 533 |
-
)
|
|
|
|
|
|
|
|
|
|
| 534 |
),
|
| 535 |
),
|
| 536 |
'field_width' => array(
|
|
@@ -797,6 +800,18 @@ abstract class Beaver_Widget_Base extends \FLBuilderModule {
|
|
| 797 |
case 'hidden':
|
| 798 |
echo '<input type="hidden" value="' . esc_attr( $field['hidden_value'] ) . '" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_name ) . '">';
|
| 799 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 800 |
default:
|
| 801 |
echo '<input type="text" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_name ) . '" ' . $required . ' ' . $placeholder . '">';
|
| 802 |
break;
|
|
@@ -870,10 +885,9 @@ abstract class Beaver_Widget_Base extends \FLBuilderModule {
|
|
| 870 |
* @return bool
|
| 871 |
*/
|
| 872 |
private function maybe_render_field_label( $field_name, $field ) {
|
| 873 |
-
if ( $field['type'] === 'hidden' ){
|
| 874 |
return false;
|
| 875 |
}
|
| 876 |
-
|
| 877 |
$label = $field['label'];
|
| 878 |
if ( empty( $label ) ) {
|
| 879 |
return false;
|
| 501 |
),
|
| 502 |
);
|
| 503 |
|
| 504 |
+
$fields_type = $this->get_specific_field_types();
|
| 505 |
$repeater_fields = array(
|
| 506 |
'label' => array(
|
| 507 |
'type' => 'text',
|
| 522 |
'textarea' => array(
|
| 523 |
'fields' => array( 'placeholder', 'field_width', 'required', 'label' ),
|
| 524 |
),
|
| 525 |
+
'email' => array(
|
| 526 |
'fields' => array( 'placeholder', 'field_width', 'required', 'label' ),
|
| 527 |
),
|
| 528 |
+
'text' => array(
|
| 529 |
'fields' => array( 'placeholder', 'field_width', 'required', 'label' ),
|
| 530 |
),
|
| 531 |
+
'hidden' => array(
|
| 532 |
'fields' => array( 'hidden_value', 'label' ),
|
| 533 |
+
),
|
| 534 |
+
'checkbox' => array(
|
| 535 |
+
'fields' => array( 'field_width', 'required', 'label' ),
|
| 536 |
+
),
|
| 537 |
),
|
| 538 |
),
|
| 539 |
'field_width' => array(
|
| 800 |
case 'hidden':
|
| 801 |
echo '<input type="hidden" value="' . esc_attr( $field['hidden_value'] ) . '" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_name ) . '">';
|
| 802 |
break;
|
| 803 |
+
case 'checkbox':
|
| 804 |
+
$label = $field['label'];
|
| 805 |
+
if ( ! empty( $label ) ) {
|
| 806 |
+
echo '<label class="checkbox-input" for="' . esc_attr( $field_name ) . ' ">';
|
| 807 |
+
echo $field['label'];
|
| 808 |
+
if ( $field['required'] === 'required' ) {
|
| 809 |
+
echo '<span class="required-mark"> *</span>';
|
| 810 |
+
}
|
| 811 |
+
echo '<input type="checkbox" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_name ) . '" ' . $required . '>';
|
| 812 |
+
echo '</label>';
|
| 813 |
+
}
|
| 814 |
+
break;
|
| 815 |
default:
|
| 816 |
echo '<input type="text" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_name ) . '" ' . $required . ' ' . $placeholder . '">';
|
| 817 |
break;
|
| 885 |
* @return bool
|
| 886 |
*/
|
| 887 |
private function maybe_render_field_label( $field_name, $field ) {
|
| 888 |
+
if ( $field['type'] === 'hidden' || $field['type'] === 'checkbox' ) {
|
| 889 |
return false;
|
| 890 |
}
|
|
|
|
| 891 |
$label = $field['label'];
|
| 892 |
if ( empty( $label ) ) {
|
| 893 |
return false;
|
vendor/codeinwp/themeisle-content-forms/includes/widgets-admin/beaver/class-themeisle-content-forms-beaver-contact.php
CHANGED
|
@@ -143,8 +143,9 @@ class Contact_Admin extends Beaver_Widget_Base {
|
|
| 143 |
* @return array
|
| 144 |
*/
|
| 145 |
function get_specific_field_types() {
|
| 146 |
-
$field_types
|
| 147 |
-
$field_types['
|
|
|
|
| 148 |
return $field_types;
|
| 149 |
}
|
| 150 |
}
|
| 143 |
* @return array
|
| 144 |
*/
|
| 145 |
function get_specific_field_types() {
|
| 146 |
+
$field_types = $this->field_types;
|
| 147 |
+
$field_types['checkbox'] = esc_html__( 'Checkbox', 'textdomain' );
|
| 148 |
+
$field_types['hidden'] = esc_html__( 'Hidden', 'textdomain' );
|
| 149 |
return $field_types;
|
| 150 |
}
|
| 151 |
}
|
vendor/codeinwp/themeisle-content-forms/includes/widgets-admin/elementor/contact_admin.php
CHANGED
|
@@ -197,8 +197,9 @@ class Contact_Admin extends Elementor_Widget_Base {
|
|
| 197 |
* @return array
|
| 198 |
*/
|
| 199 |
function get_specific_field_types() {
|
| 200 |
-
$field_types
|
| 201 |
-
$field_types['
|
|
|
|
| 202 |
return $field_types;
|
| 203 |
}
|
| 204 |
}
|
| 197 |
* @return array
|
| 198 |
*/
|
| 199 |
function get_specific_field_types() {
|
| 200 |
+
$field_types = $this->field_types;
|
| 201 |
+
$field_types['checkbox'] = esc_html__( 'Checkbox', 'textdomain' );
|
| 202 |
+
$field_types['hidden'] = esc_html__( 'Hidden', 'textdomain' );
|
| 203 |
return $field_types;
|
| 204 |
}
|
| 205 |
}
|
vendor/codeinwp/themeisle-content-forms/includes/widgets-admin/elementor/elementor_widget_base.php
CHANGED
|
@@ -90,7 +90,7 @@ abstract class Elementor_Widget_Base extends Widget_Base {
|
|
| 90 |
'type' => Controls_Manager::SWITCHER,
|
| 91 |
'return_value' => 'required',
|
| 92 |
'default' => '',
|
| 93 |
-
'condition'
|
| 94 |
'type!' => 'hidden',
|
| 95 |
),
|
| 96 |
)
|
|
@@ -118,9 +118,9 @@ abstract class Elementor_Widget_Base extends Widget_Base {
|
|
| 118 |
$repeater->add_responsive_control(
|
| 119 |
'field_width',
|
| 120 |
array(
|
| 121 |
-
'label'
|
| 122 |
-
'type'
|
| 123 |
-
'options'
|
| 124 |
'100' => '100%',
|
| 125 |
'75' => '75%',
|
| 126 |
'66' => '66%',
|
|
@@ -128,7 +128,7 @@ abstract class Elementor_Widget_Base extends Widget_Base {
|
|
| 128 |
'33' => '33%',
|
| 129 |
'25' => '25%',
|
| 130 |
),
|
| 131 |
-
'default'
|
| 132 |
'condition' => array(
|
| 133 |
'type!' => 'hidden',
|
| 134 |
),
|
|
@@ -147,11 +147,11 @@ abstract class Elementor_Widget_Base extends Widget_Base {
|
|
| 147 |
$repeater->add_control(
|
| 148 |
'placeholder',
|
| 149 |
array(
|
| 150 |
-
'label'
|
| 151 |
-
'type'
|
| 152 |
-
'default'
|
| 153 |
'condition' => array(
|
| 154 |
-
'type!' => 'hidden',
|
| 155 |
),
|
| 156 |
)
|
| 157 |
);
|
|
@@ -1172,6 +1172,15 @@ abstract class Elementor_Widget_Base extends Widget_Base {
|
|
| 1172 |
$hidden_field_value = $field['hidden_value'];
|
| 1173 |
echo '<input type="hidden" value="' . esc_attr( $hidden_field_value ) . '" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_name ) . '" ' . $disabled . '>';
|
| 1174 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1175 |
default:
|
| 1176 |
echo '<input type="text" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_name ) . '" ' . $required . ' ' . $disabled . ' placeholder="' . esc_attr( $placeholder ) . '">';
|
| 1177 |
break;
|
|
@@ -1238,7 +1247,7 @@ abstract class Elementor_Widget_Base extends Widget_Base {
|
|
| 1238 |
*/
|
| 1239 |
private function render_field_label( $field ) {
|
| 1240 |
|
| 1241 |
-
if ( $field['type'] === 'hidden' ) {
|
| 1242 |
return false;
|
| 1243 |
}
|
| 1244 |
$settings = $this->get_settings();
|
| 90 |
'type' => Controls_Manager::SWITCHER,
|
| 91 |
'return_value' => 'required',
|
| 92 |
'default' => '',
|
| 93 |
+
'condition' => array(
|
| 94 |
'type!' => 'hidden',
|
| 95 |
),
|
| 96 |
)
|
| 118 |
$repeater->add_responsive_control(
|
| 119 |
'field_width',
|
| 120 |
array(
|
| 121 |
+
'label' => __( 'Field Width', 'textdomain' ),
|
| 122 |
+
'type' => Controls_Manager::SELECT,
|
| 123 |
+
'options' => array(
|
| 124 |
'100' => '100%',
|
| 125 |
'75' => '75%',
|
| 126 |
'66' => '66%',
|
| 128 |
'33' => '33%',
|
| 129 |
'25' => '25%',
|
| 130 |
),
|
| 131 |
+
'default' => '100',
|
| 132 |
'condition' => array(
|
| 133 |
'type!' => 'hidden',
|
| 134 |
),
|
| 147 |
$repeater->add_control(
|
| 148 |
'placeholder',
|
| 149 |
array(
|
| 150 |
+
'label' => __( 'Placeholder', 'textdomain' ),
|
| 151 |
+
'type' => Controls_Manager::TEXT,
|
| 152 |
+
'default' => '',
|
| 153 |
'condition' => array(
|
| 154 |
+
'type!' => array( 'hidden', 'checkbox' ),
|
| 155 |
),
|
| 156 |
)
|
| 157 |
);
|
| 1172 |
$hidden_field_value = $field['hidden_value'];
|
| 1173 |
echo '<input type="hidden" value="' . esc_attr( $hidden_field_value ) . '" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_name ) . '" ' . $disabled . '>';
|
| 1174 |
break;
|
| 1175 |
+
case 'checkbox':
|
| 1176 |
+
echo '<label class="checkbox-input" for="' . esc_attr( $field_name ) . '" ' . $this->get_render_attribute_string( 'label' . $field_id ) . '>';
|
| 1177 |
+
echo wp_kses_post( $field['label'] );
|
| 1178 |
+
if ( $field['requirement'] === 'required' ) {
|
| 1179 |
+
echo '<span class="required-mark"> *</span>';
|
| 1180 |
+
}
|
| 1181 |
+
echo '<input type="checkbox" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_name ) . '" ' . $required . ' ' . $disabled . '>';
|
| 1182 |
+
echo '</label>';
|
| 1183 |
+
break;
|
| 1184 |
default:
|
| 1185 |
echo '<input type="text" name="' . esc_attr( $field_name ) . '" id="' . esc_attr( $field_name ) . '" ' . $required . ' ' . $disabled . ' placeholder="' . esc_attr( $placeholder ) . '">';
|
| 1186 |
break;
|
| 1247 |
*/
|
| 1248 |
private function render_field_label( $field ) {
|
| 1249 |
|
| 1250 |
+
if ( $field['type'] === 'hidden' || $field['type'] === 'checkbox' ) {
|
| 1251 |
return false;
|
| 1252 |
}
|
| 1253 |
$settings = $this->get_settings();
|
vendor/codeinwp/themeisle-content-forms/includes/widgets-public/contact_public.php
CHANGED
|
@@ -75,7 +75,7 @@ class Contact_Public extends Widget_Actions_Base {
|
|
| 75 |
return $return;
|
| 76 |
}
|
| 77 |
|
| 78 |
-
if( 'hidden' === $field['type'] ){
|
| 79 |
$data[ $key ] = $this->parse_hidden_text( $data[ $key ], $post_id );
|
| 80 |
}
|
| 81 |
}
|
| 75 |
return $return;
|
| 76 |
}
|
| 77 |
|
| 78 |
+
if ( 'hidden' === $field['type'] ) {
|
| 79 |
$data[ $key ] = $this->parse_hidden_text( $data[ $key ], $post_id );
|
| 80 |
}
|
| 81 |
}
|
vendor/codeinwp/themeisle-content-forms/includes/widgets-public/newsletter_public.php
CHANGED
|
@@ -125,16 +125,18 @@ class Newsletter_Public extends Widget_Actions_Base {
|
|
| 125 |
*/
|
| 126 |
private function mailchimp_subscribe( $form_settings, $result ) {
|
| 127 |
|
| 128 |
-
$api_key
|
| 129 |
-
$list_id
|
| 130 |
-
$data
|
| 131 |
-
$
|
|
|
|
| 132 |
unset( $data['EMAIL'] );
|
| 133 |
|
| 134 |
$form_data = array(
|
| 135 |
'email_address' => $email,
|
| 136 |
-
'status' =>
|
| 137 |
);
|
|
|
|
| 138 |
if ( ! empty( $data ) ) {
|
| 139 |
$form_data['merge_fields'] = $data;
|
| 140 |
}
|
|
@@ -158,7 +160,7 @@ class Newsletter_Public extends Widget_Actions_Base {
|
|
| 158 |
return $result;
|
| 159 |
}
|
| 160 |
|
| 161 |
-
if ( $body['status'] === 'pending' ) {
|
| 162 |
$result['message'] = $form_settings['strings']['success_message'];
|
| 163 |
$result['success'] = true;
|
| 164 |
return $result;
|
|
@@ -167,6 +169,34 @@ class Newsletter_Public extends Widget_Actions_Base {
|
|
| 167 |
return $result;
|
| 168 |
}
|
| 169 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 170 |
/**
|
| 171 |
* Handle the request for sendinblue.
|
| 172 |
* https://developers.sendinblue.com/reference#createcontact
|
| 125 |
*/
|
| 126 |
private function mailchimp_subscribe( $form_settings, $result ) {
|
| 127 |
|
| 128 |
+
$api_key = $form_settings['provider_settings']['access_key'];
|
| 129 |
+
$list_id = $form_settings['provider_settings']['list_id'];
|
| 130 |
+
$data = $form_settings['data'];
|
| 131 |
+
$user_status = $this->get_new_user_status( $api_key, $list_id );
|
| 132 |
+
$email = $data['EMAIL'];
|
| 133 |
unset( $data['EMAIL'] );
|
| 134 |
|
| 135 |
$form_data = array(
|
| 136 |
'email_address' => $email,
|
| 137 |
+
'status' => $user_status,
|
| 138 |
);
|
| 139 |
+
|
| 140 |
if ( ! empty( $data ) ) {
|
| 141 |
$form_data['merge_fields'] = $data;
|
| 142 |
}
|
| 160 |
return $result;
|
| 161 |
}
|
| 162 |
|
| 163 |
+
if ( $body['status'] === 'pending' || $body['status'] === 'subscribed' ) {
|
| 164 |
$result['message'] = $form_settings['strings']['success_message'];
|
| 165 |
$result['success'] = true;
|
| 166 |
return $result;
|
| 169 |
return $result;
|
| 170 |
}
|
| 171 |
|
| 172 |
+
/**
|
| 173 |
+
* Check if the subscribing list has double opt-in.
|
| 174 |
+
* If the option is activated, return pending status for new users, else return subscribed.
|
| 175 |
+
*
|
| 176 |
+
* @param string $api_key Api key.
|
| 177 |
+
* @param string $list_id List id.
|
| 178 |
+
*
|
| 179 |
+
* @return string
|
| 180 |
+
*/
|
| 181 |
+
private function get_new_user_status( $api_key, $list_id ) {
|
| 182 |
+
$url = 'https://' . substr( $api_key, strpos( $api_key, '-' ) + 1 ) . '.api.mailchimp.com/3.0/lists/' . $list_id;
|
| 183 |
+
$args = array(
|
| 184 |
+
'method' => 'GET',
|
| 185 |
+
'headers' => array(
|
| 186 |
+
'Authorization' => 'Basic ' . base64_encode( 'user:' . $api_key ),
|
| 187 |
+
),
|
| 188 |
+
);
|
| 189 |
+
|
| 190 |
+
$response = wp_remote_post( $url, $args );
|
| 191 |
+
|
| 192 |
+
$body = json_decode( wp_remote_retrieve_body( $response ), true );
|
| 193 |
+
if ( is_wp_error( $response ) || 200 !== wp_remote_retrieve_response_code( $response ) ) {
|
| 194 |
+
return 'pending';
|
| 195 |
+
}
|
| 196 |
+
|
| 197 |
+
return array_key_exists( 'double_optin', $body ) && $body['double_optin'] === true ? 'pending' : 'subscribed';
|
| 198 |
+
}
|
| 199 |
+
|
| 200 |
/**
|
| 201 |
* Handle the request for sendinblue.
|
| 202 |
* https://developers.sendinblue.com/reference#createcontact
|
vendor/codeinwp/themeisle-content-forms/includes/widgets-public/widget_actions_base.php
CHANGED
|
@@ -151,24 +151,23 @@ abstract class Widget_Actions_Base {
|
|
| 151 |
*/
|
| 152 |
protected function parse_hidden_text( $hidden_value, $post_id ) {
|
| 153 |
|
| 154 |
-
|
| 155 |
$current_url = get_the_permalink( $post_id );
|
| 156 |
|
| 157 |
$hidden_value = str_replace( '{current_url}', $current_url, $hidden_value );
|
| 158 |
|
| 159 |
$user_id = get_current_user_id();
|
| 160 |
-
if ( $user_id !== 0 ){
|
| 161 |
$user_info = get_userdata( $user_id );
|
| 162 |
$hidden_value = str_replace( '{username}', $user_info->user_login, $hidden_value );
|
| 163 |
$hidden_value = str_replace( '{user_nice_name}', $user_info->first_name . ' ' . $user_info->last_name, $hidden_value );
|
| 164 |
-
$hidden_value = str_replace( '{user_type}', implode(', ', $user_info->roles), $hidden_value );
|
| 165 |
-
$hidden_value = str_replace( '{user_email}',
|
| 166 |
} else {
|
| 167 |
-
$replacement
|
| 168 |
$hidden_value = str_replace( '{username}', $replacement, $hidden_value );
|
| 169 |
$hidden_value = str_replace( '{user_nice_name}', $replacement, $hidden_value );
|
| 170 |
$hidden_value = str_replace( '{user_type}', $replacement, $hidden_value );
|
| 171 |
-
$hidden_value = str_replace( '{user_email}',
|
| 172 |
}
|
| 173 |
|
| 174 |
return $hidden_value;
|
| 151 |
*/
|
| 152 |
protected function parse_hidden_text( $hidden_value, $post_id ) {
|
| 153 |
|
|
|
|
| 154 |
$current_url = get_the_permalink( $post_id );
|
| 155 |
|
| 156 |
$hidden_value = str_replace( '{current_url}', $current_url, $hidden_value );
|
| 157 |
|
| 158 |
$user_id = get_current_user_id();
|
| 159 |
+
if ( $user_id !== 0 ) {
|
| 160 |
$user_info = get_userdata( $user_id );
|
| 161 |
$hidden_value = str_replace( '{username}', $user_info->user_login, $hidden_value );
|
| 162 |
$hidden_value = str_replace( '{user_nice_name}', $user_info->first_name . ' ' . $user_info->last_name, $hidden_value );
|
| 163 |
+
$hidden_value = str_replace( '{user_type}', implode( ', ', $user_info->roles ), $hidden_value );
|
| 164 |
+
$hidden_value = str_replace( '{user_email}', $user_info->user_email, $hidden_value );
|
| 165 |
} else {
|
| 166 |
+
$replacement = __( 'Could not retrieve the info because the user is not logged in.', 'textdomain' );
|
| 167 |
$hidden_value = str_replace( '{username}', $replacement, $hidden_value );
|
| 168 |
$hidden_value = str_replace( '{user_nice_name}', $replacement, $hidden_value );
|
| 169 |
$hidden_value = str_replace( '{user_type}', $replacement, $hidden_value );
|
| 170 |
+
$hidden_value = str_replace( '{user_email}', $replacement, $hidden_value );
|
| 171 |
}
|
| 172 |
|
| 173 |
return $hidden_value;
|
vendor/codeinwp/themeisle-onboarding/includes/Main.php
CHANGED
|
@@ -89,11 +89,11 @@ class Main {
|
|
| 89 |
* @var null
|
| 90 |
*/
|
| 91 |
private function init() {
|
|
|
|
| 92 |
|
| 93 |
if ( ! $this->should_load() ) {
|
| 94 |
return;
|
| 95 |
}
|
| 96 |
-
$this->setup_sites_listing();
|
| 97 |
$this->setup_admin();
|
| 98 |
$this->setup_api();
|
| 99 |
}
|
| 89 |
* @var null
|
| 90 |
*/
|
| 91 |
private function init() {
|
| 92 |
+
$this->setup_sites_listing();
|
| 93 |
|
| 94 |
if ( ! $this->should_load() ) {
|
| 95 |
return;
|
| 96 |
}
|
|
|
|
| 97 |
$this->setup_admin();
|
| 98 |
$this->setup_api();
|
| 99 |
}
|
vendor/composer/autoload_real.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
-
class
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
|
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit56040407e0c036181dbd57b9237b9e5f
|
|
| 22 |
return self::$loader;
|
| 23 |
}
|
| 24 |
|
| 25 |
-
spl_autoload_register(array('
|
| 26 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 27 |
-
spl_autoload_unregister(array('
|
| 28 |
|
| 29 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
| 30 |
if ($useStaticLoader) {
|
| 31 |
require_once __DIR__ . '/autoload_static.php';
|
| 32 |
|
| 33 |
-
call_user_func(\Composer\Autoload\
|
| 34 |
} else {
|
| 35 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 36 |
foreach ($map as $namespace => $path) {
|
|
@@ -51,19 +51,19 @@ class ComposerAutoloaderInit56040407e0c036181dbd57b9237b9e5f
|
|
| 51 |
$loader->register(true);
|
| 52 |
|
| 53 |
if ($useStaticLoader) {
|
| 54 |
-
$includeFiles = Composer\Autoload\
|
| 55 |
} else {
|
| 56 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
| 57 |
}
|
| 58 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
| 59 |
-
|
| 60 |
}
|
| 61 |
|
| 62 |
return $loader;
|
| 63 |
}
|
| 64 |
}
|
| 65 |
|
| 66 |
-
function
|
| 67 |
{
|
| 68 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
| 69 |
require $file;
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
+
class ComposerAutoloaderInit1e269f633082fed79b894754c7016454
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 22 |
return self::$loader;
|
| 23 |
}
|
| 24 |
|
| 25 |
+
spl_autoload_register(array('ComposerAutoloaderInit1e269f633082fed79b894754c7016454', 'loadClassLoader'), true, true);
|
| 26 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 27 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit1e269f633082fed79b894754c7016454', 'loadClassLoader'));
|
| 28 |
|
| 29 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
| 30 |
if ($useStaticLoader) {
|
| 31 |
require_once __DIR__ . '/autoload_static.php';
|
| 32 |
|
| 33 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit1e269f633082fed79b894754c7016454::getInitializer($loader));
|
| 34 |
} else {
|
| 35 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 36 |
foreach ($map as $namespace => $path) {
|
| 51 |
$loader->register(true);
|
| 52 |
|
| 53 |
if ($useStaticLoader) {
|
| 54 |
+
$includeFiles = Composer\Autoload\ComposerStaticInit1e269f633082fed79b894754c7016454::$files;
|
| 55 |
} else {
|
| 56 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
| 57 |
}
|
| 58 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
| 59 |
+
composerRequire1e269f633082fed79b894754c7016454($fileIdentifier, $file);
|
| 60 |
}
|
| 61 |
|
| 62 |
return $loader;
|
| 63 |
}
|
| 64 |
}
|
| 65 |
|
| 66 |
+
function composerRequire1e269f633082fed79b894754c7016454($fileIdentifier, $file)
|
| 67 |
{
|
| 68 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
| 69 |
require $file;
|
vendor/composer/autoload_static.php
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
-
class
|
| 8 |
{
|
| 9 |
public static $files = array (
|
| 10 |
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
|
@@ -293,9 +293,9 @@ class ComposerStaticInit56040407e0c036181dbd57b9237b9e5f
|
|
| 293 |
public static function getInitializer(ClassLoader $loader)
|
| 294 |
{
|
| 295 |
return \Closure::bind(function () use ($loader) {
|
| 296 |
-
$loader->prefixLengthsPsr4 =
|
| 297 |
-
$loader->prefixDirsPsr4 =
|
| 298 |
-
$loader->classMap =
|
| 299 |
|
| 300 |
}, null, ClassLoader::class);
|
| 301 |
}
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
+
class ComposerStaticInit1e269f633082fed79b894754c7016454
|
| 8 |
{
|
| 9 |
public static $files = array (
|
| 10 |
'7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php',
|
| 293 |
public static function getInitializer(ClassLoader $loader)
|
| 294 |
{
|
| 295 |
return \Closure::bind(function () use ($loader) {
|
| 296 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit1e269f633082fed79b894754c7016454::$prefixLengthsPsr4;
|
| 297 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit1e269f633082fed79b894754c7016454::$prefixDirsPsr4;
|
| 298 |
+
$loader->classMap = ComposerStaticInit1e269f633082fed79b894754c7016454::$classMap;
|
| 299 |
|
| 300 |
}, null, ClassLoader::class);
|
| 301 |
}
|
vendor/composer/installed.json
CHANGED
|
@@ -219,12 +219,12 @@
|
|
| 219 |
"source": {
|
| 220 |
"type": "git",
|
| 221 |
"url": "https://github.com/Codeinwp/themeisle-content-forms.git",
|
| 222 |
-
"reference": "
|
| 223 |
},
|
| 224 |
"dist": {
|
| 225 |
"type": "zip",
|
| 226 |
-
"url": "https://api.github.com/repos/Codeinwp/themeisle-content-forms/zipball/
|
| 227 |
-
"reference": "
|
| 228 |
"shasum": ""
|
| 229 |
},
|
| 230 |
"require": {
|
|
@@ -234,7 +234,7 @@
|
|
| 234 |
"dealerdirect/phpcodesniffer-composer-installer": "^0.5.0",
|
| 235 |
"wptrt/wpthemereview": "*"
|
| 236 |
},
|
| 237 |
-
"time": "2020-
|
| 238 |
"type": "library",
|
| 239 |
"installation-source": "dist",
|
| 240 |
"autoload": {
|
|
@@ -263,12 +263,12 @@
|
|
| 263 |
"source": {
|
| 264 |
"type": "git",
|
| 265 |
"url": "https://github.com/Codeinwp/themeisle-onboarding.git",
|
| 266 |
-
"reference": "
|
| 267 |
},
|
| 268 |
"dist": {
|
| 269 |
"type": "zip",
|
| 270 |
-
"url": "https://api.github.com/repos/Codeinwp/themeisle-onboarding/zipball/
|
| 271 |
-
"reference": "
|
| 272 |
"shasum": ""
|
| 273 |
},
|
| 274 |
"require-dev": {
|
|
@@ -276,7 +276,7 @@
|
|
| 276 |
"squizlabs/php_codesniffer": "^3.1",
|
| 277 |
"wp-coding-standards/wpcs": "^1.0.0 || ^2.0.0"
|
| 278 |
},
|
| 279 |
-
"time": "2020-07-
|
| 280 |
"type": "library",
|
| 281 |
"extra": {
|
| 282 |
"installer-disable": "true"
|
|
@@ -591,37 +591,37 @@
|
|
| 591 |
},
|
| 592 |
{
|
| 593 |
"name": "php-http/discovery",
|
| 594 |
-
"version": "1.9.
|
| 595 |
-
"version_normalized": "1.9.
|
| 596 |
"source": {
|
| 597 |
"type": "git",
|
| 598 |
"url": "https://github.com/php-http/discovery.git",
|
| 599 |
-
"reference": "
|
| 600 |
},
|
| 601 |
"dist": {
|
| 602 |
"type": "zip",
|
| 603 |
-
"url": "https://api.github.com/repos/php-http/discovery/zipball/
|
| 604 |
-
"reference": "
|
| 605 |
"shasum": ""
|
| 606 |
},
|
| 607 |
"require": {
|
| 608 |
-
"php": "^7.1"
|
| 609 |
},
|
| 610 |
"conflict": {
|
| 611 |
"nyholm/psr7": "<1.0"
|
| 612 |
},
|
| 613 |
"require-dev": {
|
| 614 |
-
"
|
| 615 |
"php-http/httplug": "^1.0 || ^2.0",
|
| 616 |
"php-http/message-factory": "^1.0",
|
| 617 |
-
"phpspec/phpspec": "^5.1",
|
| 618 |
"puli/composer-plugin": "1.0.0-beta10"
|
| 619 |
},
|
| 620 |
"suggest": {
|
| 621 |
"php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories",
|
| 622 |
"puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details."
|
| 623 |
},
|
| 624 |
-
"time": "2020-07-
|
| 625 |
"type": "library",
|
| 626 |
"extra": {
|
| 627 |
"branch-alias": {
|
| 219 |
"source": {
|
| 220 |
"type": "git",
|
| 221 |
"url": "https://github.com/Codeinwp/themeisle-content-forms.git",
|
| 222 |
+
"reference": "d639a0bbb24a32ae554805f4acc01eafe6b7a327"
|
| 223 |
},
|
| 224 |
"dist": {
|
| 225 |
"type": "zip",
|
| 226 |
+
"url": "https://api.github.com/repos/Codeinwp/themeisle-content-forms/zipball/d639a0bbb24a32ae554805f4acc01eafe6b7a327",
|
| 227 |
+
"reference": "d639a0bbb24a32ae554805f4acc01eafe6b7a327",
|
| 228 |
"shasum": ""
|
| 229 |
},
|
| 230 |
"require": {
|
| 234 |
"dealerdirect/phpcodesniffer-composer-installer": "^0.5.0",
|
| 235 |
"wptrt/wpthemereview": "*"
|
| 236 |
},
|
| 237 |
+
"time": "2020-07-17T08:28:46+00:00",
|
| 238 |
"type": "library",
|
| 239 |
"installation-source": "dist",
|
| 240 |
"autoload": {
|
| 263 |
"source": {
|
| 264 |
"type": "git",
|
| 265 |
"url": "https://github.com/Codeinwp/themeisle-onboarding.git",
|
| 266 |
+
"reference": "3404cc9f5880101c23f178e07bbac2bc973294f1"
|
| 267 |
},
|
| 268 |
"dist": {
|
| 269 |
"type": "zip",
|
| 270 |
+
"url": "https://api.github.com/repos/Codeinwp/themeisle-onboarding/zipball/3404cc9f5880101c23f178e07bbac2bc973294f1",
|
| 271 |
+
"reference": "3404cc9f5880101c23f178e07bbac2bc973294f1",
|
| 272 |
"shasum": ""
|
| 273 |
},
|
| 274 |
"require-dev": {
|
| 276 |
"squizlabs/php_codesniffer": "^3.1",
|
| 277 |
"wp-coding-standards/wpcs": "^1.0.0 || ^2.0.0"
|
| 278 |
},
|
| 279 |
+
"time": "2020-07-16T11:06:16+00:00",
|
| 280 |
"type": "library",
|
| 281 |
"extra": {
|
| 282 |
"installer-disable": "true"
|
| 591 |
},
|
| 592 |
{
|
| 593 |
"name": "php-http/discovery",
|
| 594 |
+
"version": "1.9.1",
|
| 595 |
+
"version_normalized": "1.9.1.0",
|
| 596 |
"source": {
|
| 597 |
"type": "git",
|
| 598 |
"url": "https://github.com/php-http/discovery.git",
|
| 599 |
+
"reference": "64a18cc891957e05d91910b3c717d6bd11fbede9"
|
| 600 |
},
|
| 601 |
"dist": {
|
| 602 |
"type": "zip",
|
| 603 |
+
"url": "https://api.github.com/repos/php-http/discovery/zipball/64a18cc891957e05d91910b3c717d6bd11fbede9",
|
| 604 |
+
"reference": "64a18cc891957e05d91910b3c717d6bd11fbede9",
|
| 605 |
"shasum": ""
|
| 606 |
},
|
| 607 |
"require": {
|
| 608 |
+
"php": "^7.1 || ^8.0"
|
| 609 |
},
|
| 610 |
"conflict": {
|
| 611 |
"nyholm/psr7": "<1.0"
|
| 612 |
},
|
| 613 |
"require-dev": {
|
| 614 |
+
"graham-campbell/phpspec-skip-example-extension": "^5.0",
|
| 615 |
"php-http/httplug": "^1.0 || ^2.0",
|
| 616 |
"php-http/message-factory": "^1.0",
|
| 617 |
+
"phpspec/phpspec": "^5.1 || ^6.1",
|
| 618 |
"puli/composer-plugin": "1.0.0-beta10"
|
| 619 |
},
|
| 620 |
"suggest": {
|
| 621 |
"php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories",
|
| 622 |
"puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details."
|
| 623 |
},
|
| 624 |
+
"time": "2020-07-13T15:44:45+00:00",
|
| 625 |
"type": "library",
|
| 626 |
"extra": {
|
| 627 |
"branch-alias": {
|
vendor/php-http/discovery/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
| 1 |
# Change Log
|
| 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
## 1.9.0 - 2020-07-02
|
| 4 |
|
| 5 |
### Added
|
| 1 |
# Change Log
|
| 2 |
|
| 3 |
+
## 1.9.1 - 2020-07-13
|
| 4 |
+
|
| 5 |
+
### Fixed
|
| 6 |
+
|
| 7 |
+
- Support PHP 7.4 and 8.0
|
| 8 |
+
|
| 9 |
## 1.9.0 - 2020-07-02
|
| 10 |
|
| 11 |
### Added
|
