Version Description
- 2017-12-28
Download this release
Release Info
Developer | codeinwp |
Plugin | Contact Form & SMTP Plugin for WordPress by PirateForms |
Version | 2.3.1 |
Comparing to | |
See all releases |
Code changes from version 2.3.0 to 2.3.1
- CHANGELOG.md +6 -0
- admin/class-pirateforms-admin.php +8 -8
- admin/css/wp-admin.css +0 -41
- admin/js/scripts-admin.js +9 -0
- includes/class-pirateforms-html.php +9 -2
- includes/class-pirateforms-util.php +6 -4
- includes/class-pirateforms.php +1 -1
- languages/pirate-forms.pot +684 -1
- pirate-forms.php +2 -2
- public/class-pirateforms-public.php +9 -7
- public/css/front.css +41 -51
- readme.md +7 -0
- readme.txt +17 -0
- vendor/autoload.php +1 -1
- vendor/autoload_52.php +1 -1
- vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-endpoints.php +312 -0
- vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-licenser.php +1 -0
- vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-loader.php +3 -0
- vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-logger.php +13 -4
- vendor/codeinwp/themeisle-sdk/load.php +1 -1
- vendor/codeinwp/themeisle-sdk/start.php +1 -0
- vendor/composer/autoload_real.php +5 -5
- vendor/composer/autoload_real_52.php +3 -3
- vendor/composer/installed.json +4 -4
CHANGELOG.md
CHANGED
@@ -1,4 +1,10 @@
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
### v2.3.0 - 2017-11-27
|
3 |
**Changes:**
|
4 |
* Adds email content wysiwyg editor.
|
1 |
|
2 |
+
### v2.3.1 - 2017-12-28
|
3 |
+
**Changes:**
|
4 |
+
* Improves layout and compatibility with various themes.
|
5 |
+
* Improves form default email format.
|
6 |
+
* Fix issues with various special characters in the magic tag fields.
|
7 |
+
|
8 |
### v2.3.0 - 2017-11-27
|
9 |
**Changes:**
|
10 |
* Adds email content wysiwyg editor.
|
admin/class-pirateforms-admin.php
CHANGED
@@ -67,7 +67,7 @@ class PirateForms_Admin {
|
|
67 |
&& isset( $_GET['page'] ) && $_GET['page'] == 'pirateforms-admin'
|
68 |
) {
|
69 |
wp_enqueue_style( 'pirateforms_admin_styles', PIRATEFORMS_URL . 'admin/css/wp-admin.css', array(), $this->version );
|
70 |
-
wp_enqueue_script( 'pirateforms_scripts_admin', PIRATEFORMS_URL . 'admin/js/scripts-admin.js', array( 'jquery' ), $this->version );
|
71 |
wp_localize_script(
|
72 |
'pirateforms_scripts_admin', 'cwp_top_ajaxload', array(
|
73 |
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
@@ -251,10 +251,10 @@ class PirateForms_Admin {
|
|
251 |
}
|
252 |
|
253 |
// the key(s) will be added to the div as class names
|
254 |
-
// to enable tooltip popup add '
|
255 |
return apply_filters(
|
256 |
'pirate_forms_admin_controls', array(
|
257 |
-
'pirate_options
|
258 |
'heading' => __( 'Form processing options', 'pirate-forms' ),
|
259 |
'controls' => apply_filters(
|
260 |
'pirate_forms_admin_controls_for_options', array(
|
@@ -395,7 +395,7 @@ class PirateForms_Admin {
|
|
395 |
)
|
396 |
),
|
397 |
),
|
398 |
-
'pirate_fields
|
399 |
'heading' => __( 'Fields Settings', 'pirate-forms' ),
|
400 |
'controls' => apply_filters(
|
401 |
'pirate_forms_admin_controls_for_fields', array(
|
@@ -546,7 +546,7 @@ class PirateForms_Admin {
|
|
546 |
)
|
547 |
),
|
548 |
),
|
549 |
-
'pirate_labels
|
550 |
'heading' => __( 'Fields Labels', 'pirate-forms' ),
|
551 |
'controls' => apply_filters(
|
552 |
'pirate_forms_admin_controls_for_field_labels', array(
|
@@ -622,7 +622,7 @@ class PirateForms_Admin {
|
|
622 |
'value' => __( 'Email content', 'pirate-forms' ),
|
623 |
'html' => '<br/><br/>' . esc_attr( __( 'You can use the next magic tags:', 'pirate-forms' ) ) . '<br/>' . PirateForms_Util::get_magic_tags(),
|
624 |
),
|
625 |
-
'default' => PirateForms_Util::get_default_email_content(),
|
626 |
'value' => PirateForms_Util::get_option( 'pirateformsopt_email_content' ),
|
627 |
'wrap' => array(
|
628 |
'type' => 'div',
|
@@ -637,7 +637,7 @@ class PirateForms_Admin {
|
|
637 |
)
|
638 |
),
|
639 |
),
|
640 |
-
'pirate_alerts
|
641 |
'heading' => __( 'Alert Messages', 'pirate-forms' ),
|
642 |
'controls' => apply_filters(
|
643 |
'pirate_forms_admin_controls_for_alerts', array(
|
@@ -727,7 +727,7 @@ class PirateForms_Admin {
|
|
727 |
)
|
728 |
),
|
729 |
),
|
730 |
-
'pirate_smtp
|
731 |
'heading' => __( 'SMTP Options', 'pirate-forms' ),
|
732 |
'controls' => apply_filters(
|
733 |
'pirate_forms_admin_controls_for_smtp', array(
|
67 |
&& isset( $_GET['page'] ) && $_GET['page'] == 'pirateforms-admin'
|
68 |
) {
|
69 |
wp_enqueue_style( 'pirateforms_admin_styles', PIRATEFORMS_URL . 'admin/css/wp-admin.css', array(), $this->version );
|
70 |
+
wp_enqueue_script( 'pirateforms_scripts_admin', PIRATEFORMS_URL . 'admin/js/scripts-admin.js', array( 'jquery', 'jquery-ui-tooltip' ), $this->version );
|
71 |
wp_localize_script(
|
72 |
'pirateforms_scripts_admin', 'cwp_top_ajaxload', array(
|
73 |
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
251 |
}
|
252 |
|
253 |
// the key(s) will be added to the div as class names
|
254 |
+
// to enable tooltip popup add 'pirate_tooltip'
|
255 |
return apply_filters(
|
256 |
'pirate_forms_admin_controls', array(
|
257 |
+
'pirate_options pirate_tooltip' => array(
|
258 |
'heading' => __( 'Form processing options', 'pirate-forms' ),
|
259 |
'controls' => apply_filters(
|
260 |
'pirate_forms_admin_controls_for_options', array(
|
395 |
)
|
396 |
),
|
397 |
),
|
398 |
+
'pirate_fields pirate_tooltip' => array(
|
399 |
'heading' => __( 'Fields Settings', 'pirate-forms' ),
|
400 |
'controls' => apply_filters(
|
401 |
'pirate_forms_admin_controls_for_fields', array(
|
546 |
)
|
547 |
),
|
548 |
),
|
549 |
+
'pirate_labels pirate_tooltip' => array(
|
550 |
'heading' => __( 'Fields Labels', 'pirate-forms' ),
|
551 |
'controls' => apply_filters(
|
552 |
'pirate_forms_admin_controls_for_field_labels', array(
|
622 |
'value' => __( 'Email content', 'pirate-forms' ),
|
623 |
'html' => '<br/><br/>' . esc_attr( __( 'You can use the next magic tags:', 'pirate-forms' ) ) . '<br/>' . PirateForms_Util::get_magic_tags(),
|
624 |
),
|
625 |
+
'default' => PirateForms_Util::get_default_email_content( true, null, true ),
|
626 |
'value' => PirateForms_Util::get_option( 'pirateformsopt_email_content' ),
|
627 |
'wrap' => array(
|
628 |
'type' => 'div',
|
637 |
)
|
638 |
),
|
639 |
),
|
640 |
+
'pirate_alerts pirate_tooltip' => array(
|
641 |
'heading' => __( 'Alert Messages', 'pirate-forms' ),
|
642 |
'controls' => apply_filters(
|
643 |
'pirate_forms_admin_controls_for_alerts', array(
|
727 |
)
|
728 |
),
|
729 |
),
|
730 |
+
'pirate_smtp pirate_tooltip' => array(
|
731 |
'heading' => __( 'SMTP Options', 'pirate-forms' ),
|
732 |
'controls' => apply_filters(
|
733 |
'pirate_forms_admin_controls_for_smtp', array(
|
admin/css/wp-admin.css
CHANGED
@@ -170,47 +170,6 @@
|
|
170 |
margin-right: 0;
|
171 |
}
|
172 |
|
173 |
-
div.pirate_dashicons > form > div > label > span.dashicons {
|
174 |
-
margin-left: 10px;
|
175 |
-
color: #888;
|
176 |
-
}
|
177 |
-
|
178 |
-
div.pirate_dashicons > form > div > label > span.dashicons:after {
|
179 |
-
display: none;
|
180 |
-
position: absolute;
|
181 |
-
margin-left: 5px;
|
182 |
-
border-right: 5px solid transparent;
|
183 |
-
border-bottom: 5px solid black;
|
184 |
-
border-left: 5px solid transparent;
|
185 |
-
content: "";
|
186 |
-
}
|
187 |
-
|
188 |
-
div.pirate_dashicons > form > div > label > .pirate_forms_option_description {
|
189 |
-
display: none;
|
190 |
-
position: absolute;
|
191 |
-
z-index: 999;
|
192 |
-
width: 200px;
|
193 |
-
margin-top: 4px;
|
194 |
-
margin-left: 190px;
|
195 |
-
padding: 15px;
|
196 |
-
border-radius: 5px;
|
197 |
-
color: #fff;
|
198 |
-
background: rgba(0, 0, 0, 0.8);
|
199 |
-
font-size: 11px;
|
200 |
-
line-height: 16px;
|
201 |
-
text-align: left;
|
202 |
-
}
|
203 |
-
|
204 |
-
div.pirate_dashicons > form > div > label > span.dashicons:hover + .pirate_forms_option_description,
|
205 |
-
div.pirate_dashicons > form > div > label > span.dashicons:hover::after {
|
206 |
-
display: block;
|
207 |
-
}
|
208 |
-
|
209 |
-
div.pirate_dashicons > form > div > label {
|
210 |
-
width: 400px;
|
211 |
-
font-weight: normal;
|
212 |
-
}
|
213 |
-
|
214 |
.pirate_forms_contact_settings h3.title,
|
215 |
.pirate_forms_welcome_text {
|
216 |
margin: 10px 0 30px;
|
170 |
margin-right: 0;
|
171 |
}
|
172 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
.pirate_forms_contact_settings h3.title,
|
174 |
.pirate_forms_welcome_text {
|
175 |
margin: 10px 0 30px;
|
admin/js/scripts-admin.js
CHANGED
@@ -125,4 +125,13 @@ function initAll(){
|
|
125 |
span.removeClass('dashicons-hidden').addClass('dashicons-visibility');
|
126 |
}
|
127 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
}
|
125 |
span.removeClass('dashicons-hidden').addClass('dashicons-visibility');
|
126 |
}
|
127 |
});
|
128 |
+
|
129 |
+
// tootips in settings.
|
130 |
+
jQuery( document ).tooltip({
|
131 |
+
items: '.dashicons-editor-help',
|
132 |
+
hide: 2000,
|
133 |
+
content: function(){
|
134 |
+
return jQuery(this).find('div').html();
|
135 |
+
}
|
136 |
+
});
|
137 |
}
|
includes/class-pirateforms-html.php
CHANGED
@@ -78,7 +78,14 @@ class PirateForms_HTML {
|
|
78 |
$html .= esc_html( $args['label']['value'] );
|
79 |
}
|
80 |
if ( isset( $args['label']['html'] ) ) {
|
81 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
}
|
83 |
if ( isset( $args['label']['desc'] ) ) {
|
84 |
$html .= '<div';
|
@@ -197,7 +204,7 @@ class PirateForms_HTML {
|
|
197 |
unset( $args['required_msg'] );
|
198 |
}
|
199 |
|
200 |
-
$html = '<div class="pirate-forms-file-upload-wrapper"><input type="file" ' . $this->get_common( $args, array( 'value' ) ) . '
|
201 |
|
202 |
return $this->get_wrap( $args, $html );
|
203 |
}
|
78 |
$html .= esc_html( $args['label']['value'] );
|
79 |
}
|
80 |
if ( isset( $args['label']['html'] ) ) {
|
81 |
+
$span = $args['label']['html'];
|
82 |
+
if ( strpos( $span, 'dashicons-editor-help' ) !== false && isset( $args['label']['desc'] ) && isset( $args['label']['desc']['value'] ) ) {
|
83 |
+
$class = isset( $args['label']['desc']['class'] ) ? $args['label']['desc']['class'] : '';
|
84 |
+
$span = str_replace( '></', '><div style="display: none" class="' . $class . '">' . $args['label']['desc']['value'] . '</div></', $span );
|
85 |
+
unset( $args['label']['desc'] );
|
86 |
+
unset( $args['label']['desc']['value'] );
|
87 |
+
}
|
88 |
+
$html .= $span;
|
89 |
}
|
90 |
if ( isset( $args['label']['desc'] ) ) {
|
91 |
$html .= '<div';
|
204 |
unset( $args['required_msg'] );
|
205 |
}
|
206 |
|
207 |
+
$html = '<div class="pirate-forms-file-upload-wrapper"><input type="file" ' . $this->get_common( $args, array( 'value' ) ) . ' tabindex="-1"></div>';
|
208 |
|
209 |
return $this->get_wrap( $args, $html );
|
210 |
}
|
includes/class-pirateforms-util.php
CHANGED
@@ -235,7 +235,7 @@ class PirateForms_Util {
|
|
235 |
/**
|
236 |
* The default email content.
|
237 |
*/
|
238 |
-
public static function get_default_email_content( $html = true, $id = null ) {
|
239 |
$body = array();
|
240 |
$body['heading'] = sprintf( __( 'Contact form submission from %s', 'pirate-forms' ), get_bloginfo( 'name' ) . ' (' . site_url() . ')' );
|
241 |
$body['body'] = array();
|
@@ -244,7 +244,7 @@ class PirateForms_Util {
|
|
244 |
$elements = array( 'name', 'email', 'subject', 'message' );
|
245 |
foreach ( $elements as $k ) {
|
246 |
$display = $pirate_forms_options[ 'pirateformsopt_' . $k . '_field' ];
|
247 |
-
if ( empty( $display ) ) {
|
248 |
continue;
|
249 |
}
|
250 |
$val = $pirate_forms_options[ 'pirateformsopt_label_' . $k ];
|
@@ -267,7 +267,7 @@ class PirateForms_Util {
|
|
267 |
}
|
268 |
// replace . and space with _ (PHP does not like dots in variable names so it automatically converts them to _).
|
269 |
$field = strtolower( str_replace( array( ' ', '.' ), '_', stripslashes( sanitize_text_field( $custom['label'] ) ) ) );
|
270 |
-
$body['body'][ stripslashes( $custom['label'] ) ] = self::MAGIC_TAG_PREFIX .
|
271 |
}
|
272 |
}
|
273 |
}
|
@@ -327,7 +327,9 @@ class PirateForms_Util {
|
|
327 |
public static function replace_magic_tags( $content, $body ) {
|
328 |
$html = $content;
|
329 |
foreach ( $body['magic_tags'] as $tag => $value ) {
|
330 |
-
$
|
|
|
|
|
331 |
}
|
332 |
|
333 |
$html = apply_filters( 'pirate_forms_replace_magic_tags', $html, $body['magic_tags'] );
|
235 |
/**
|
236 |
* The default email content.
|
237 |
*/
|
238 |
+
public static function get_default_email_content( $html = true, $id = null, $first_time = false ) {
|
239 |
$body = array();
|
240 |
$body['heading'] = sprintf( __( 'Contact form submission from %s', 'pirate-forms' ), get_bloginfo( 'name' ) . ' (' . site_url() . ')' );
|
241 |
$body['body'] = array();
|
244 |
$elements = array( 'name', 'email', 'subject', 'message' );
|
245 |
foreach ( $elements as $k ) {
|
246 |
$display = $pirate_forms_options[ 'pirateformsopt_' . $k . '_field' ];
|
247 |
+
if ( ! $first_time && empty( $display ) ) {
|
248 |
continue;
|
249 |
}
|
250 |
$val = $pirate_forms_options[ 'pirateformsopt_label_' . $k ];
|
267 |
}
|
268 |
// replace . and space with _ (PHP does not like dots in variable names so it automatically converts them to _).
|
269 |
$field = strtolower( str_replace( array( ' ', '.' ), '_', stripslashes( sanitize_text_field( $custom['label'] ) ) ) );
|
270 |
+
$body['body'][ stripslashes( $custom['label'] ) ] = self::MAGIC_TAG_PREFIX . $field . self::MAGIC_TAG_POSTFIX;
|
271 |
}
|
272 |
}
|
273 |
}
|
327 |
public static function replace_magic_tags( $content, $body ) {
|
328 |
$html = $content;
|
329 |
foreach ( $body['magic_tags'] as $tag => $value ) {
|
330 |
+
$from = htmlspecialchars( self::MAGIC_TAG_PREFIX . $tag . self::MAGIC_TAG_POSTFIX );
|
331 |
+
do_action( 'themeisle_log_event', PIRATEFORMS_NAME, "replacing $from with $value", 'debug', __FILE__, __LINE__ );
|
332 |
+
$html = str_replace( $from, $value, $html );
|
333 |
}
|
334 |
|
335 |
$html = apply_filters( 'pirate_forms_replace_magic_tags', $html, $body['magic_tags'] );
|
includes/class-pirateforms.php
CHANGED
@@ -69,7 +69,7 @@ class PirateForms {
|
|
69 |
public function __construct() {
|
70 |
|
71 |
$this->plugin_name = 'pirateforms';
|
72 |
-
$this->version = '2.3.
|
73 |
|
74 |
$this->load_dependencies();
|
75 |
$this->set_locale();
|
69 |
public function __construct() {
|
70 |
|
71 |
$this->plugin_name = 'pirateforms';
|
72 |
+
$this->version = '2.3.1';
|
73 |
|
74 |
$this->load_dependencies();
|
75 |
$this->set_locale();
|
languages/pirate-forms.pot
CHANGED
@@ -1 +1,684 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Copyright (C) 2017 Themeisle
|
2 |
+
# This file is distributed under the GPLv2.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: Free & Simple Contact Form Plugin - Pirateforms 2.3.0\n"
|
6 |
+
"Report-Msgid-Bugs-To: https://github.com/Codeinwp/pirate-forms/issues\n"
|
7 |
+
"POT-Creation-Date: 2017-12-28 13:28:25+00:00\n"
|
8 |
+
"MIME-Version: 1.0\n"
|
9 |
+
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
+
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
|
12 |
+
"Last-Translator: Themeisle Translate Team <friends@themeisle.com>\n"
|
13 |
+
"Language-Team: Themeisle Translate <friends@themeisle.com>\n"
|
14 |
+
"X-Generator: grunt-wp-i18n 0.5.4\n"
|
15 |
+
"X-Poedit-KeywordsList: "
|
16 |
+
"__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
|
17 |
+
"attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
|
18 |
+
"Language: en\n"
|
19 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
20 |
+
"X-Poedit-Country: United States\n"
|
21 |
+
"X-Poedit-SourceCharset: UTF-8\n"
|
22 |
+
"X-Poedit-Basepath: ../\n"
|
23 |
+
"X-Poedit-SearchPath-0: .\n"
|
24 |
+
"X-Poedit-Bookmarks: \n"
|
25 |
+
"X-Textdomain-Support: yes\n"
|
26 |
+
|
27 |
+
#: admin/class-pirateforms-admin.php:76
|
28 |
+
msgid "Please specify the Site Key and Secret Key."
|
29 |
+
msgstr ""
|
30 |
+
|
31 |
+
#: admin/class-pirateforms-admin.php:123 admin/class-pirateforms-admin.php:147
|
32 |
+
msgid "Settings"
|
33 |
+
msgstr ""
|
34 |
+
|
35 |
+
#: admin/class-pirateforms-admin.php:154
|
36 |
+
msgid "More Features"
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
#: admin/class-pirateforms-admin.php:189 admin/class-pirateforms-admin.php:203
|
40 |
+
msgid "Send Message"
|
41 |
+
msgstr ""
|
42 |
+
|
43 |
+
#: admin/class-pirateforms-admin.php:250
|
44 |
+
msgid "To use this option, please ensure Akismet is activated with a valid key."
|
45 |
+
msgstr ""
|
46 |
+
|
47 |
+
#: admin/class-pirateforms-admin.php:258
|
48 |
+
msgid "Form processing options"
|
49 |
+
msgstr ""
|
50 |
+
|
51 |
+
#: admin/class-pirateforms-admin.php:265
|
52 |
+
msgid "Contact notification email address"
|
53 |
+
msgstr ""
|
54 |
+
|
55 |
+
#: admin/class-pirateforms-admin.php:268
|
56 |
+
msgid "Insert [email] to use the contact form submitter's email."
|
57 |
+
msgstr ""
|
58 |
+
|
59 |
+
#: admin/class-pirateforms-admin.php:268
|
60 |
+
msgid ""
|
61 |
+
"The notification email will be sent from this address both to the "
|
62 |
+
"recipients below and the contact form submitter (if this is activated below "
|
63 |
+
"in email confirmation, in which case the domain for this email address "
|
64 |
+
"should match your site's domain)."
|
65 |
+
msgstr ""
|
66 |
+
|
67 |
+
#: admin/class-pirateforms-admin.php:284
|
68 |
+
msgid "Contact submission recipients"
|
69 |
+
msgstr ""
|
70 |
+
|
71 |
+
#: admin/class-pirateforms-admin.php:287
|
72 |
+
msgid ""
|
73 |
+
"Email address(es) to receive contact submission notifications. You can "
|
74 |
+
"separate multiple emails with a comma."
|
75 |
+
msgstr ""
|
76 |
+
|
77 |
+
#: admin/class-pirateforms-admin.php:303
|
78 |
+
msgid "Store submissions in the database"
|
79 |
+
msgstr ""
|
80 |
+
|
81 |
+
#: admin/class-pirateforms-admin.php:306
|
82 |
+
msgid ""
|
83 |
+
"Should the submissions be stored in the admin area? If chosen, contact form "
|
84 |
+
"submissions will be saved under \"All Entries\" on the left (appears after "
|
85 |
+
"this option is activated)."
|
86 |
+
msgstr ""
|
87 |
+
|
88 |
+
#: admin/class-pirateforms-admin.php:316 admin/class-pirateforms-admin.php:335
|
89 |
+
#: admin/class-pirateforms-admin.php:391 admin/class-pirateforms-admin.php:750
|
90 |
+
#: admin/class-pirateforms-admin.php:793
|
91 |
+
msgid "Yes"
|
92 |
+
msgstr ""
|
93 |
+
|
94 |
+
#: admin/class-pirateforms-admin.php:322
|
95 |
+
msgid "Add a nonce to the contact form:"
|
96 |
+
msgstr ""
|
97 |
+
|
98 |
+
#: admin/class-pirateforms-admin.php:325
|
99 |
+
msgid ""
|
100 |
+
"Should the form use a WordPress nonce? This helps reduce spam by ensuring "
|
101 |
+
"that the form submittor is on the site when submitting the form rather than "
|
102 |
+
"submitting remotely. This could, however, cause problems with sites using a "
|
103 |
+
"page caching plugin. Turn this off if you are getting complaints about "
|
104 |
+
"forms not being able to be submitted with an error of \"Nonce failed!\""
|
105 |
+
msgstr ""
|
106 |
+
|
107 |
+
#: admin/class-pirateforms-admin.php:341
|
108 |
+
msgid "Send email confirmation to form submitter"
|
109 |
+
msgstr ""
|
110 |
+
|
111 |
+
#: admin/class-pirateforms-admin.php:344
|
112 |
+
msgid ""
|
113 |
+
"Adding text here will send an email to the form submitter. The email uses "
|
114 |
+
"the \"Successful form submission text\" field from the \"Alert Messages\" "
|
115 |
+
"tab as the subject line. Plain text only here, no HTML."
|
116 |
+
msgstr ""
|
117 |
+
|
118 |
+
#: admin/class-pirateforms-admin.php:360
|
119 |
+
msgid "Success Page"
|
120 |
+
msgstr ""
|
121 |
+
|
122 |
+
#: admin/class-pirateforms-admin.php:363
|
123 |
+
msgid ""
|
124 |
+
"Select the page that displays after a successful form submission. The page "
|
125 |
+
"will be displayed without pausing on the email form, so please be sure to "
|
126 |
+
"configure a relevant thank you message in this page."
|
127 |
+
msgstr ""
|
128 |
+
|
129 |
+
#: admin/class-pirateforms-admin.php:378
|
130 |
+
msgid "Integrate with Akismet?"
|
131 |
+
msgstr ""
|
132 |
+
|
133 |
+
#: admin/class-pirateforms-admin.php:381
|
134 |
+
msgid ""
|
135 |
+
"Checking this option will verify the content of the message with Akismet to "
|
136 |
+
"check if it's spam. If it is determined to be spam, the message will be "
|
137 |
+
"blocked. %s"
|
138 |
+
msgstr ""
|
139 |
+
|
140 |
+
#: admin/class-pirateforms-admin.php:399
|
141 |
+
#: admin/partials/pirateforms-settings-display.php:31
|
142 |
+
msgid "Fields Settings"
|
143 |
+
msgstr ""
|
144 |
+
|
145 |
+
#: admin/class-pirateforms-admin.php:407 admin/class-pirateforms-admin.php:557
|
146 |
+
msgid "Name"
|
147 |
+
msgstr ""
|
148 |
+
|
149 |
+
#: admin/class-pirateforms-admin.php:416 admin/class-pirateforms-admin.php:435
|
150 |
+
#: admin/class-pirateforms-admin.php:454 admin/class-pirateforms-admin.php:473
|
151 |
+
#: admin/class-pirateforms-admin.php:491
|
152 |
+
msgid "Do not display"
|
153 |
+
msgstr ""
|
154 |
+
|
155 |
+
#: admin/class-pirateforms-admin.php:417 admin/class-pirateforms-admin.php:436
|
156 |
+
#: admin/class-pirateforms-admin.php:455 admin/class-pirateforms-admin.php:474
|
157 |
+
#: admin/class-pirateforms-admin.php:492
|
158 |
+
msgid "Display but not required"
|
159 |
+
msgstr ""
|
160 |
+
|
161 |
+
#: admin/class-pirateforms-admin.php:418 admin/class-pirateforms-admin.php:437
|
162 |
+
#: admin/class-pirateforms-admin.php:456 admin/class-pirateforms-admin.php:475
|
163 |
+
#: admin/class-pirateforms-admin.php:493
|
164 |
+
msgid "Required"
|
165 |
+
msgstr ""
|
166 |
+
|
167 |
+
#: admin/class-pirateforms-admin.php:426
|
168 |
+
msgid "Email address"
|
169 |
+
msgstr ""
|
170 |
+
|
171 |
+
#: admin/class-pirateforms-admin.php:445 admin/class-pirateforms-admin.php:583
|
172 |
+
#: admin/class-pirateforms-admin.php:585
|
173 |
+
msgid "Subject"
|
174 |
+
msgstr ""
|
175 |
+
|
176 |
+
#: admin/class-pirateforms-admin.php:464 admin/class-pirateforms-admin.php:596
|
177 |
+
msgid "Message"
|
178 |
+
msgstr ""
|
179 |
+
|
180 |
+
#: admin/class-pirateforms-admin.php:483
|
181 |
+
#: public/class-pirateforms-public.php:993
|
182 |
+
msgid "Attachment"
|
183 |
+
msgstr ""
|
184 |
+
|
185 |
+
#: admin/class-pirateforms-admin.php:501
|
186 |
+
msgid "Add a spam trap"
|
187 |
+
msgstr ""
|
188 |
+
|
189 |
+
#: admin/class-pirateforms-admin.php:510 admin/class-pirateforms-admin.php:812
|
190 |
+
msgid "No"
|
191 |
+
msgstr ""
|
192 |
+
|
193 |
+
#: admin/class-pirateforms-admin.php:511
|
194 |
+
msgid "Custom"
|
195 |
+
msgstr ""
|
196 |
+
|
197 |
+
#: admin/class-pirateforms-admin.php:512
|
198 |
+
msgid "Google reCAPTCHA"
|
199 |
+
msgstr ""
|
200 |
+
|
201 |
+
#: admin/class-pirateforms-admin.php:520
|
202 |
+
msgid "Site key"
|
203 |
+
msgstr ""
|
204 |
+
|
205 |
+
#: admin/class-pirateforms-admin.php:523
|
206 |
+
msgid "Create an account here "
|
207 |
+
msgstr ""
|
208 |
+
|
209 |
+
#: admin/class-pirateforms-admin.php:523
|
210 |
+
msgid "to get the Site key and the Secret key for the reCaptcha."
|
211 |
+
msgstr ""
|
212 |
+
|
213 |
+
#: admin/class-pirateforms-admin.php:538
|
214 |
+
msgid "Secret key"
|
215 |
+
msgstr ""
|
216 |
+
|
217 |
+
#: admin/class-pirateforms-admin.php:550
|
218 |
+
#: admin/partials/pirateforms-settings-display.php:34
|
219 |
+
msgid "Fields Labels"
|
220 |
+
msgstr ""
|
221 |
+
|
222 |
+
#: admin/class-pirateforms-admin.php:559
|
223 |
+
msgid "Your Name"
|
224 |
+
msgstr ""
|
225 |
+
|
226 |
+
#: admin/class-pirateforms-admin.php:570
|
227 |
+
msgid "Email"
|
228 |
+
msgstr ""
|
229 |
+
|
230 |
+
#: admin/class-pirateforms-admin.php:572
|
231 |
+
msgid "Your Email"
|
232 |
+
msgstr ""
|
233 |
+
|
234 |
+
#: admin/class-pirateforms-admin.php:598
|
235 |
+
msgid "Your message"
|
236 |
+
msgstr ""
|
237 |
+
|
238 |
+
#: admin/class-pirateforms-admin.php:609
|
239 |
+
msgid "Submit button"
|
240 |
+
msgstr ""
|
241 |
+
|
242 |
+
#: admin/class-pirateforms-admin.php:622
|
243 |
+
msgid "Email content"
|
244 |
+
msgstr ""
|
245 |
+
|
246 |
+
#: admin/class-pirateforms-admin.php:623
|
247 |
+
msgid "You can use the next magic tags:"
|
248 |
+
msgstr ""
|
249 |
+
|
250 |
+
#: admin/class-pirateforms-admin.php:641
|
251 |
+
#: admin/partials/pirateforms-settings-display.php:37
|
252 |
+
msgid "Alert Messages"
|
253 |
+
msgstr ""
|
254 |
+
|
255 |
+
#: admin/class-pirateforms-admin.php:648
|
256 |
+
msgid "Name required and missing"
|
257 |
+
msgstr ""
|
258 |
+
|
259 |
+
#: admin/class-pirateforms-admin.php:650
|
260 |
+
msgid "Enter your name"
|
261 |
+
msgstr ""
|
262 |
+
|
263 |
+
#: admin/class-pirateforms-admin.php:661
|
264 |
+
msgid "E-mail required and missing"
|
265 |
+
msgstr ""
|
266 |
+
|
267 |
+
#: admin/class-pirateforms-admin.php:663
|
268 |
+
msgid "Enter valid email"
|
269 |
+
msgstr ""
|
270 |
+
|
271 |
+
#: admin/class-pirateforms-admin.php:674
|
272 |
+
msgid "Subject required and missing"
|
273 |
+
msgstr ""
|
274 |
+
|
275 |
+
#: admin/class-pirateforms-admin.php:676
|
276 |
+
msgid "Please enter a subject"
|
277 |
+
msgstr ""
|
278 |
+
|
279 |
+
#: admin/class-pirateforms-admin.php:687
|
280 |
+
msgid "Question/comment is missing"
|
281 |
+
msgstr ""
|
282 |
+
|
283 |
+
#: admin/class-pirateforms-admin.php:689
|
284 |
+
msgid "Enter your question or comment"
|
285 |
+
msgstr ""
|
286 |
+
|
287 |
+
#: admin/class-pirateforms-admin.php:700
|
288 |
+
msgid "Attachment is missing"
|
289 |
+
msgstr ""
|
290 |
+
|
291 |
+
#: admin/class-pirateforms-admin.php:702
|
292 |
+
msgid "Please add an attachment"
|
293 |
+
msgstr ""
|
294 |
+
|
295 |
+
#: admin/class-pirateforms-admin.php:713
|
296 |
+
msgid "Successful form submission text"
|
297 |
+
msgstr ""
|
298 |
+
|
299 |
+
#: admin/class-pirateforms-admin.php:716
|
300 |
+
msgid ""
|
301 |
+
"This text is used on the page if no Success Page is chosen above. This is "
|
302 |
+
"also used as the confirmation email title, if one is set to send out."
|
303 |
+
msgstr ""
|
304 |
+
|
305 |
+
#: admin/class-pirateforms-admin.php:720
|
306 |
+
msgid "Thanks, your email was sent successfully!"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
#: admin/class-pirateforms-admin.php:731
|
310 |
+
msgid "SMTP Options"
|
311 |
+
msgstr ""
|
312 |
+
|
313 |
+
#: admin/class-pirateforms-admin.php:738
|
314 |
+
msgid "Use SMTP to send emails?"
|
315 |
+
msgstr ""
|
316 |
+
|
317 |
+
#: admin/class-pirateforms-admin.php:741
|
318 |
+
msgid "Instead of PHP mail function"
|
319 |
+
msgstr ""
|
320 |
+
|
321 |
+
#: admin/class-pirateforms-admin.php:756
|
322 |
+
msgid "SMTP Host"
|
323 |
+
msgstr ""
|
324 |
+
|
325 |
+
#: admin/class-pirateforms-admin.php:768
|
326 |
+
msgid "SMTP Port"
|
327 |
+
msgstr ""
|
328 |
+
|
329 |
+
#: admin/class-pirateforms-admin.php:780
|
330 |
+
msgid "Use SMTP Authentication?"
|
331 |
+
msgstr ""
|
332 |
+
|
333 |
+
#: admin/class-pirateforms-admin.php:783 admin/class-pirateforms-admin.php:802
|
334 |
+
msgid ""
|
335 |
+
"If you check this box, make sure the SMTP Username and SMTP Password are "
|
336 |
+
"completed."
|
337 |
+
msgstr ""
|
338 |
+
|
339 |
+
#: admin/class-pirateforms-admin.php:799
|
340 |
+
msgid "Security?"
|
341 |
+
msgstr ""
|
342 |
+
|
343 |
+
#: admin/class-pirateforms-admin.php:813
|
344 |
+
msgid "SSL"
|
345 |
+
msgstr ""
|
346 |
+
|
347 |
+
#: admin/class-pirateforms-admin.php:814
|
348 |
+
msgid "TLS"
|
349 |
+
msgstr ""
|
350 |
+
|
351 |
+
#: admin/class-pirateforms-admin.php:821
|
352 |
+
msgid "SMTP Username"
|
353 |
+
msgstr ""
|
354 |
+
|
355 |
+
#: admin/class-pirateforms-admin.php:833
|
356 |
+
msgid "SMTP Password"
|
357 |
+
msgstr ""
|
358 |
+
|
359 |
+
#: admin/class-pirateforms-admin.php:946
|
360 |
+
msgid "Mail Status"
|
361 |
+
msgstr ""
|
362 |
+
|
363 |
+
#: admin/class-pirateforms-admin.php:969
|
364 |
+
msgid "Status not captured"
|
365 |
+
msgstr ""
|
366 |
+
|
367 |
+
#: admin/class-pirateforms-admin.php:969
|
368 |
+
msgid "Mail sending failed!"
|
369 |
+
msgstr ""
|
370 |
+
|
371 |
+
#: admin/class-pirateforms-admin.php:969
|
372 |
+
msgid "Mail sent successfully!"
|
373 |
+
msgstr ""
|
374 |
+
|
375 |
+
#: admin/class-pirateforms-admin.php:1019
|
376 |
+
msgid "Sent email successfully!"
|
377 |
+
msgstr ""
|
378 |
+
|
379 |
+
#: admin/class-pirateforms-admin.php:1019
|
380 |
+
msgid "Sent email failed!"
|
381 |
+
msgstr ""
|
382 |
+
|
383 |
+
#: admin/partials/pirateforms-settings-display.php:20
|
384 |
+
#: includes/class-pirateforms-widget.php:18
|
385 |
+
#: includes/class-pirateforms-widget.php:21
|
386 |
+
msgid "Pirate Forms"
|
387 |
+
msgstr ""
|
388 |
+
|
389 |
+
#: admin/partials/pirateforms-settings-display.php:25
|
390 |
+
msgid "How to use"
|
391 |
+
msgstr ""
|
392 |
+
|
393 |
+
#: admin/partials/pirateforms-settings-display.php:28
|
394 |
+
msgid "Options"
|
395 |
+
msgstr ""
|
396 |
+
|
397 |
+
#: admin/partials/pirateforms-settings-display.php:40
|
398 |
+
msgid "SMTP"
|
399 |
+
msgstr ""
|
400 |
+
|
401 |
+
#: admin/partials/pirateforms-settings-display.php:47
|
402 |
+
msgid "Welcome to Pirate Forms!"
|
403 |
+
msgstr ""
|
404 |
+
|
405 |
+
#: admin/partials/pirateforms-settings-display.php:48
|
406 |
+
msgid "To get started, just "
|
407 |
+
msgstr ""
|
408 |
+
|
409 |
+
#: admin/partials/pirateforms-settings-display.php:49
|
410 |
+
msgid "configure all the options "
|
411 |
+
msgstr ""
|
412 |
+
|
413 |
+
#: admin/partials/pirateforms-settings-display.php:49
|
414 |
+
msgid "you need, hit save and start using the created form."
|
415 |
+
msgstr ""
|
416 |
+
|
417 |
+
#: admin/partials/pirateforms-settings-display.php:54
|
418 |
+
msgid "There are 3 ways of using the newly created form:"
|
419 |
+
msgstr ""
|
420 |
+
|
421 |
+
#: admin/partials/pirateforms-settings-display.php:56
|
422 |
+
msgid "Add a "
|
423 |
+
msgstr ""
|
424 |
+
|
425 |
+
#: admin/partials/pirateforms-settings-display.php:57
|
426 |
+
msgid "widget"
|
427 |
+
msgstr ""
|
428 |
+
|
429 |
+
#: admin/partials/pirateforms-settings-display.php:59
|
430 |
+
#: admin/partials/pirateforms-settings-display.php:62
|
431 |
+
msgid "Use the shortcode "
|
432 |
+
msgstr ""
|
433 |
+
|
434 |
+
#: admin/partials/pirateforms-settings-display.php:60
|
435 |
+
msgid " in any page or post."
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: admin/partials/pirateforms-settings-display.php:64
|
439 |
+
msgid " in the theme's files."
|
440 |
+
msgstr ""
|
441 |
+
|
442 |
+
#: admin/partials/pirateforms-settings-display.php:71
|
443 |
+
msgid ""
|
444 |
+
"If you are using the default (non-SMTP) configuration which uses the WP/PHP "
|
445 |
+
"mail, mails might either land in the spam/junk folders or they might get "
|
446 |
+
"lost. So, you might not receive the email even if the status against an "
|
447 |
+
"entry reads the mail has been sent successfully. If you face this, please "
|
448 |
+
"contact your system administrator. If you continue to face this problem, "
|
449 |
+
"you can switch to the SMTP configuration to ensure email deliverability."
|
450 |
+
msgstr ""
|
451 |
+
|
452 |
+
#: admin/partials/pirateforms-settings-display.php:76
|
453 |
+
msgid "Are you enjoying Pirate Forms?"
|
454 |
+
msgstr ""
|
455 |
+
|
456 |
+
#: admin/partials/pirateforms-settings-display.php:81
|
457 |
+
#. translators: link to WordPress.org repo for PirateForms
|
458 |
+
msgid "Rate our plugin on %1$s WordPress.org %2$s. We'd really appreciate it!"
|
459 |
+
msgstr ""
|
460 |
+
|
461 |
+
#: admin/partials/pirateforms-settings-display.php:95
|
462 |
+
#. translators: link to blog article about contact form plugins
|
463 |
+
msgid ""
|
464 |
+
"If you want a more complex Contact Form Plugin please check %1$s this link "
|
465 |
+
"%2$s."
|
466 |
+
msgstr ""
|
467 |
+
|
468 |
+
#: admin/partials/pirateforms-settings-display.php:129
|
469 |
+
msgid "Save changes"
|
470 |
+
msgstr ""
|
471 |
+
|
472 |
+
#: admin/partials/pirateforms-settings-display.php:138
|
473 |
+
msgid "Send Test Email"
|
474 |
+
msgstr ""
|
475 |
+
|
476 |
+
#: admin/partials/pirateforms-settings-sidebar-subscribe.php:5
|
477 |
+
msgid "Extend to FULL version"
|
478 |
+
msgstr ""
|
479 |
+
|
480 |
+
#: admin/partials/pirateforms-settings-sidebar-subscribe.php:18
|
481 |
+
#: admin/partials/pirateforms-settings-sidebar-subscribe.php:19
|
482 |
+
msgid "View more features"
|
483 |
+
msgstr ""
|
484 |
+
|
485 |
+
#: admin/partials/pirateforms-settings-sidebar-subscribe.php:25
|
486 |
+
msgid "Get Our Free Email Course"
|
487 |
+
msgstr ""
|
488 |
+
|
489 |
+
#: admin/partials/pirateforms-settings-sidebar-subscribe.php:49
|
490 |
+
msgid ""
|
491 |
+
"Ready to learn how to reduce your website loading times by half? Come and "
|
492 |
+
"join the 1st lesson here!"
|
493 |
+
msgstr ""
|
494 |
+
|
495 |
+
#: admin/partials/pirateforms-settings-sidebar-subscribe.php:51
|
496 |
+
msgid ""
|
497 |
+
"Thank you for subscribing! You have been added to the mailing list and will "
|
498 |
+
"receive the next email information in the coming weeks. If you ever wish to "
|
499 |
+
"unsubscribe, simply use the \"Unsubscribe\" link included in each "
|
500 |
+
"newsletter."
|
501 |
+
msgstr ""
|
502 |
+
|
503 |
+
#: includes/class-pirateforms-html.php:190
|
504 |
+
msgid "Upload file"
|
505 |
+
msgstr ""
|
506 |
+
|
507 |
+
#: includes/class-pirateforms-util.php:153
|
508 |
+
msgid "Form submission blocked!"
|
509 |
+
msgstr ""
|
510 |
+
|
511 |
+
#: includes/class-pirateforms-util.php:169
|
512 |
+
msgid "None"
|
513 |
+
msgstr ""
|
514 |
+
|
515 |
+
#: includes/class-pirateforms-util.php:240
|
516 |
+
#: public/class-pirateforms-public.php:547
|
517 |
+
msgid "Contact form submission from %s"
|
518 |
+
msgstr ""
|
519 |
+
|
520 |
+
#: includes/class-pirateforms-util.php:256
|
521 |
+
#: includes/class-pirateforms-util.php:298
|
522 |
+
#: public/class-pirateforms-public.php:574
|
523 |
+
msgid "IP address"
|
524 |
+
msgstr ""
|
525 |
+
|
526 |
+
#: includes/class-pirateforms-util.php:257
|
527 |
+
#: public/class-pirateforms-public.php:575
|
528 |
+
msgid "IP search"
|
529 |
+
msgstr ""
|
530 |
+
|
531 |
+
#: includes/class-pirateforms-util.php:258
|
532 |
+
#: includes/class-pirateforms-util.php:299
|
533 |
+
#: public/class-pirateforms-public.php:582
|
534 |
+
msgid "Came from"
|
535 |
+
msgstr ""
|
536 |
+
|
537 |
+
#: includes/class-pirateforms-util.php:259
|
538 |
+
#: includes/class-pirateforms-util.php:300
|
539 |
+
#: public/class-pirateforms-public.php:588
|
540 |
+
msgid "Sent from page"
|
541 |
+
msgstr ""
|
542 |
+
|
543 |
+
#: includes/class-pirateforms-widget.php:97
|
544 |
+
msgid "Title"
|
545 |
+
msgstr ""
|
546 |
+
|
547 |
+
#: includes/class-pirateforms-widget.php:98
|
548 |
+
msgid "Text above form"
|
549 |
+
msgstr ""
|
550 |
+
|
551 |
+
#: includes/class-pirateforms-widget.php:101
|
552 |
+
msgid "Title:"
|
553 |
+
msgstr ""
|
554 |
+
|
555 |
+
#: includes/class-pirateforms-widget.php:107
|
556 |
+
msgid "Subtext:"
|
557 |
+
msgstr ""
|
558 |
+
|
559 |
+
#: includes/class-pirateforms-widget.php:112
|
560 |
+
msgid ""
|
561 |
+
"Need more forms ? Check our <a href=\"%s\" target=\"_blank\">extended</a> "
|
562 |
+
"version for more features"
|
563 |
+
msgstr ""
|
564 |
+
|
565 |
+
#: includes/class-pirateforms.php:251
|
566 |
+
msgid "Edit Entry"
|
567 |
+
msgstr ""
|
568 |
+
|
569 |
+
#: includes/class-pirateforms.php:252
|
570 |
+
msgid "View Entry"
|
571 |
+
msgstr ""
|
572 |
+
|
573 |
+
#: includes/class-pirateforms.php:253
|
574 |
+
msgid "All Entries"
|
575 |
+
msgstr ""
|
576 |
+
|
577 |
+
#: includes/class-pirateforms.php:254
|
578 |
+
msgid "Search Entries"
|
579 |
+
msgstr ""
|
580 |
+
|
581 |
+
#: includes/class-pirateforms.php:255
|
582 |
+
msgid "Parent Entries:"
|
583 |
+
msgstr ""
|
584 |
+
|
585 |
+
#: includes/class-pirateforms.php:256
|
586 |
+
msgid "No entries found."
|
587 |
+
msgstr ""
|
588 |
+
|
589 |
+
#: includes/class-pirateforms.php:257
|
590 |
+
msgid "No entries found in Trash."
|
591 |
+
msgstr ""
|
592 |
+
|
593 |
+
#: includes/class-pirateforms.php:261
|
594 |
+
msgid "Entries from Pirate Forms"
|
595 |
+
msgstr ""
|
596 |
+
|
597 |
+
#: public/class-pirateforms-public.php:104
|
598 |
+
msgid "I'm human!"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
+
#: public/class-pirateforms-public.php:362
|
602 |
+
msgid "Submit"
|
603 |
+
msgstr ""
|
604 |
+
|
605 |
+
#: public/class-pirateforms-public.php:464
|
606 |
+
msgid "Sorry, an error occured."
|
607 |
+
msgstr ""
|
608 |
+
|
609 |
+
#: public/class-pirateforms-public.php:526
|
610 |
+
msgid "Nonce failed!"
|
611 |
+
msgstr ""
|
612 |
+
|
613 |
+
#: public/class-pirateforms-public.php:534
|
614 |
+
#: public/class-pirateforms-public.php:599
|
615 |
+
msgid "Form submission failed!"
|
616 |
+
msgstr ""
|
617 |
+
|
618 |
+
#: public/class-pirateforms-public.php:559
|
619 |
+
msgid "Please enter one or more Contact submission recipients"
|
620 |
+
msgstr ""
|
621 |
+
|
622 |
+
#: public/class-pirateforms-public.php:805
|
623 |
+
msgid "Invalid CAPTCHA"
|
624 |
+
msgstr ""
|
625 |
+
|
626 |
+
#: public/class-pirateforms-public.php:817
|
627 |
+
msgid "Incorrect CAPTCHA"
|
628 |
+
msgstr ""
|
629 |
+
|
630 |
+
#: public/class-pirateforms-public.php:826
|
631 |
+
msgid "Submission blocked!"
|
632 |
+
msgstr ""
|
633 |
+
|
634 |
+
#: public/class-pirateforms-public.php:955
|
635 |
+
msgid "Uploaded file type is not allowed for %s"
|
636 |
+
msgstr ""
|
637 |
+
|
638 |
+
#: public/class-pirateforms-public.php:963
|
639 |
+
msgid "Uploaded file is too large %s"
|
640 |
+
msgstr ""
|
641 |
+
|
642 |
+
#: public/class-pirateforms-public.php:977
|
643 |
+
msgid "There was an unknown error uploading the file %s"
|
644 |
+
msgstr ""
|
645 |
+
|
646 |
+
#. Plugin Name of the plugin/theme
|
647 |
+
msgid "Free & Simple Contact Form Plugin - Pirateforms"
|
648 |
+
msgstr ""
|
649 |
+
|
650 |
+
#. Plugin URI of the plugin/theme
|
651 |
+
msgid "http://themeisle.com/plugins/pirate-forms/"
|
652 |
+
msgstr ""
|
653 |
+
|
654 |
+
#. Description of the plugin/theme
|
655 |
+
msgid "Easily creates a nice looking, simple contact form on your WP site."
|
656 |
+
msgstr ""
|
657 |
+
|
658 |
+
#. Author of the plugin/theme
|
659 |
+
msgid "Themeisle"
|
660 |
+
msgstr ""
|
661 |
+
|
662 |
+
#. Author URI of the plugin/theme
|
663 |
+
msgid "http://themeisle.com"
|
664 |
+
msgstr ""
|
665 |
+
|
666 |
+
#: includes/class-pirateforms.php:247
|
667 |
+
msgctxt "post type general name"
|
668 |
+
msgid "Entries"
|
669 |
+
msgstr ""
|
670 |
+
|
671 |
+
#: includes/class-pirateforms.php:248
|
672 |
+
msgctxt "post type singular name"
|
673 |
+
msgid "Entry"
|
674 |
+
msgstr ""
|
675 |
+
|
676 |
+
#: includes/class-pirateforms.php:249
|
677 |
+
msgctxt "admin menu"
|
678 |
+
msgid "Entries"
|
679 |
+
msgstr ""
|
680 |
+
|
681 |
+
#: includes/class-pirateforms.php:250
|
682 |
+
msgctxt "add new on admin bar"
|
683 |
+
msgid "Entry"
|
684 |
+
msgstr ""
|
pirate-forms.php
CHANGED
@@ -16,7 +16,7 @@
|
|
16 |
* Plugin Name: Free & Simple Contact Form Plugin - Pirateforms
|
17 |
* Plugin URI: http://themeisle.com/plugins/pirate-forms/
|
18 |
* Description: Easily creates a nice looking, simple contact form on your WP site.
|
19 |
-
* Version: 2.3.
|
20 |
* Author: Themeisle
|
21 |
* Author URI: http://themeisle.com
|
22 |
* Text Domain: pirate-forms
|
@@ -36,7 +36,7 @@ if ( ! defined( 'WPINC' ) ) {
|
|
36 |
define( 'PIRATEFORMS_NAME', 'Pirate Forms' );
|
37 |
define( 'PIRATEFORMS_SLUG', 'pirate-forms' );
|
38 |
define( 'PIRATEFORMS_USELL_LINK', 'https://themeisle.com/plugins/pirate-forms-extended/' );
|
39 |
-
define( 'PIRATE_FORMS_VERSION', '2.3.
|
40 |
define( 'PIRATEFORMS_DIR', trailingslashit( plugin_dir_path( __FILE__ ) ) );
|
41 |
define( 'PIRATEFORMS_URL', plugin_dir_url( __FILE__ ) );
|
42 |
define( 'PIRATEFORMS_BASENAME', plugin_basename( __FILE__ ) );
|
16 |
* Plugin Name: Free & Simple Contact Form Plugin - Pirateforms
|
17 |
* Plugin URI: http://themeisle.com/plugins/pirate-forms/
|
18 |
* Description: Easily creates a nice looking, simple contact form on your WP site.
|
19 |
+
* Version: 2.3.1
|
20 |
* Author: Themeisle
|
21 |
* Author URI: http://themeisle.com
|
22 |
* Text Domain: pirate-forms
|
36 |
define( 'PIRATEFORMS_NAME', 'Pirate Forms' );
|
37 |
define( 'PIRATEFORMS_SLUG', 'pirate-forms' );
|
38 |
define( 'PIRATEFORMS_USELL_LINK', 'https://themeisle.com/plugins/pirate-forms-extended/' );
|
39 |
+
define( 'PIRATE_FORMS_VERSION', '2.3.1' );
|
40 |
define( 'PIRATEFORMS_DIR', trailingslashit( plugin_dir_path( __FILE__ ) ) );
|
41 |
define( 'PIRATEFORMS_URL', plugin_dir_url( __FILE__ ) );
|
42 |
define( 'PIRATEFORMS_BASENAME', plugin_basename( __FILE__ ) );
|
public/class-pirateforms-public.php
CHANGED
@@ -193,7 +193,7 @@ class PirateForms_Public {
|
|
193 |
if ( ! empty( $field ) && ! empty( $label ) ) :
|
194 |
$required = $field === 'req' ? true : false;
|
195 |
$wrap_classes = array(
|
196 |
-
( ! empty( $subjectField ) ? 'col-xs-12 col-sm-
|
197 |
);
|
198 |
// If this field was submitted with invalid data
|
199 |
if ( isset( $_SESSION[ $error_key ]['contact-name'] ) ) {
|
@@ -222,7 +222,7 @@ class PirateForms_Public {
|
|
222 |
if ( ! empty( $field ) && ! empty( $label ) ) :
|
223 |
$required = $field === 'req' ? true : false;
|
224 |
$wrap_classes = array(
|
225 |
-
( ! empty( $subjectField ) ? 'col-xs-12 col-sm-
|
226 |
);
|
227 |
// If this field was submitted with invalid data
|
228 |
if ( isset( $_SESSION[ $error_key ]['contact-email'] ) ) {
|
@@ -251,7 +251,7 @@ class PirateForms_Public {
|
|
251 |
if ( ! empty( $field ) && ! empty( $label ) ) :
|
252 |
$required = $field === 'req' ? true : false;
|
253 |
$wrap_classes = array(
|
254 |
-
'col-xs-12
|
255 |
);
|
256 |
// If this field was submitted with invalid data
|
257 |
if ( isset( $_SESSION[ $error_key ]['contact-subject'] ) ) {
|
@@ -335,7 +335,7 @@ class PirateForms_Public {
|
|
335 |
'id' => 'pirate-forms-captcha',
|
336 |
'wrap' => array(
|
337 |
'type' => 'div',
|
338 |
-
'class' => implode( ' ', apply_filters( 'pirateform_wrap_classes_captcha', array( 'col-xs-12 col-sm-6 form_field_wrap form_captcha_wrap' ) ) ),
|
339 |
),
|
340 |
);
|
341 |
endif;
|
@@ -367,7 +367,7 @@ class PirateForms_Public {
|
|
367 |
'class' => 'pirate-forms-submit-button btn btn-primary',
|
368 |
'wrap' => array(
|
369 |
'type' => 'div',
|
370 |
-
'class' => implode( ' ', apply_filters( 'pirateform_wrap_classes_submit', array( 'col-xs-12 col-sm-6 form_field_wrap contact_submit_wrap' ) ) ),
|
371 |
),
|
372 |
'value' => $pirateformsopt_label_submit_btn,
|
373 |
);
|
@@ -415,7 +415,7 @@ class PirateForms_Public {
|
|
415 |
* @param PirateForms_PhpFormBuilder $form_builder The form builder object.
|
416 |
*/
|
417 |
public function render_fields( $form_builder ) {
|
418 |
-
echo '<div class="pirate_forms_three_inputs_wrap">';
|
419 |
|
420 |
if ( isset( $form_builder->contact_name ) ) {
|
421 |
echo $form_builder->contact_name;
|
@@ -448,6 +448,8 @@ class PirateForms_Public {
|
|
448 |
}
|
449 |
|
450 |
echo $form_builder->contact_submit;
|
|
|
|
|
451 |
}
|
452 |
|
453 |
/**
|
@@ -644,7 +646,7 @@ class PirateForms_Public {
|
|
644 |
$subject = $pirate_forms_contact_subject;
|
645 |
}
|
646 |
|
647 |
-
$mail_body = ! empty( $pirate_forms_options['pirateformsopt_email_content'] ) ? $pirate_forms_options['pirateformsopt_email_content'] : PirateForms_Util::get_default_email_content( true, $form_id );
|
648 |
$mail_body = PirateForms_Util::replace_magic_tags( $mail_body, $body );
|
649 |
|
650 |
do_action( 'pirate_forms_before_sending', $pirate_forms_contact_email, $site_recipients, $subject, $mail_body, $headers, $attachments );
|
193 |
if ( ! empty( $field ) && ! empty( $label ) ) :
|
194 |
$required = $field === 'req' ? true : false;
|
195 |
$wrap_classes = array(
|
196 |
+
( ! empty( $subjectField ) ? 'col-xs-12 col-sm-6' : 'col-xs-12' ) . ' contact_name_wrap pirate_forms_three_inputs form_field_wrap',
|
197 |
);
|
198 |
// If this field was submitted with invalid data
|
199 |
if ( isset( $_SESSION[ $error_key ]['contact-name'] ) ) {
|
222 |
if ( ! empty( $field ) && ! empty( $label ) ) :
|
223 |
$required = $field === 'req' ? true : false;
|
224 |
$wrap_classes = array(
|
225 |
+
( ! empty( $subjectField ) ? 'col-xs-12 col-sm-6' : 'col-xs-12' ) . ' contact_email_wrap pirate_forms_three_inputs form_field_wrap',
|
226 |
);
|
227 |
// If this field was submitted with invalid data
|
228 |
if ( isset( $_SESSION[ $error_key ]['contact-email'] ) ) {
|
251 |
if ( ! empty( $field ) && ! empty( $label ) ) :
|
252 |
$required = $field === 'req' ? true : false;
|
253 |
$wrap_classes = array(
|
254 |
+
'col-xs-12 contact_subject_wrap pirate_forms_three_inputs form_field_wrap',
|
255 |
);
|
256 |
// If this field was submitted with invalid data
|
257 |
if ( isset( $_SESSION[ $error_key ]['contact-subject'] ) ) {
|
335 |
'id' => 'pirate-forms-captcha',
|
336 |
'wrap' => array(
|
337 |
'type' => 'div',
|
338 |
+
'class' => implode( ' ', apply_filters( 'pirateform_wrap_classes_captcha', array( 'col-xs-12 ' . ( $pirate_forms_options['pirateformsopt_recaptcha_field'] !== 'yes' ? 'col-sm-6 ' : '' ) . 'form_field_wrap form_captcha_wrap' ) ) ),
|
339 |
),
|
340 |
);
|
341 |
endif;
|
367 |
'class' => 'pirate-forms-submit-button btn btn-primary',
|
368 |
'wrap' => array(
|
369 |
'type' => 'div',
|
370 |
+
'class' => implode( ' ', apply_filters( 'pirateform_wrap_classes_submit', array( 'col-xs-12 ' . ( ( ! empty( $pirate_forms_options['pirateformsopt_recaptcha_field'] ) && ( $pirate_forms_options['pirateformsopt_recaptcha_field'] !== 'yes' ) ) ? 'col-sm-6 ' : '' ) . 'form_field_wrap contact_submit_wrap' ) ) ),
|
371 |
),
|
372 |
'value' => $pirateformsopt_label_submit_btn,
|
373 |
);
|
415 |
* @param PirateForms_PhpFormBuilder $form_builder The form builder object.
|
416 |
*/
|
417 |
public function render_fields( $form_builder ) {
|
418 |
+
echo '<div class="pirate-forms-fields-container"><div class="pirate_forms_three_inputs_wrap">';
|
419 |
|
420 |
if ( isset( $form_builder->contact_name ) ) {
|
421 |
echo $form_builder->contact_name;
|
448 |
}
|
449 |
|
450 |
echo $form_builder->contact_submit;
|
451 |
+
|
452 |
+
echo '</div>';
|
453 |
}
|
454 |
|
455 |
/**
|
646 |
$subject = $pirate_forms_contact_subject;
|
647 |
}
|
648 |
|
649 |
+
$mail_body = ! empty( $pirate_forms_options['pirateformsopt_email_content'] ) ? $pirate_forms_options['pirateformsopt_email_content'] : PirateForms_Util::get_default_email_content( true, $form_id, true );
|
650 |
$mail_body = PirateForms_Util::replace_magic_tags( $mail_body, $body );
|
651 |
|
652 |
do_action( 'pirate_forms_before_sending', $pirate_forms_contact_email, $site_recipients, $subject, $mail_body, $headers, $attachments );
|
public/css/front.css
CHANGED
@@ -1,7 +1,8 @@
|
|
1 |
/*
|
2 |
-
Version: 2.3.
|
3 |
*/
|
4 |
-
.pirate_forms_wrap .form_field_wrap
|
|
|
5 |
margin-bottom: 20px;
|
6 |
}
|
7 |
|
@@ -15,81 +16,70 @@ Version: 2.3.0
|
|
15 |
margin-bottom: 20px;
|
16 |
}
|
17 |
|
|
|
18 |
.sidebar .form_field_wrap,
|
19 |
.sidebar-wrap .form_field_wrap,
|
20 |
#sidebar-secondary .form_field_wrap {
|
21 |
width: 100%;
|
|
|
22 |
}
|
23 |
|
24 |
-
.
|
25 |
-
.
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
margin-left: 0;
|
30 |
-
}
|
31 |
-
|
32 |
-
.sidebar .pirate_forms_wrap label,
|
33 |
-
.sidebar-wrap .pirate_forms_wrap label,
|
34 |
-
#sidebar-secondary .pirate_forms_wrap label {
|
35 |
-
display: none;
|
36 |
-
}
|
37 |
-
|
38 |
-
.pirate_forms_clearfix {
|
39 |
clear: both;
|
|
|
|
|
|
|
40 |
}
|
41 |
|
42 |
.contact_submit_wrap {
|
43 |
text-align: right;
|
44 |
}
|
45 |
|
46 |
-
.pirate-forms-
|
47 |
-
display:
|
48 |
-
|
49 |
-
position: absolute;
|
50 |
-
left: -9999px;
|
51 |
}
|
52 |
|
53 |
-
.pirate-forms-
|
54 |
-
|
55 |
-
width: auto;
|
56 |
}
|
57 |
|
58 |
-
.pirate-forms-
|
59 |
-
|
60 |
-
margin-
|
61 |
}
|
62 |
|
63 |
-
.pirate-forms-
|
64 |
-
|
65 |
-
|
|
|
66 |
}
|
67 |
|
68 |
-
.
|
69 |
-
|
70 |
-
width:
|
71 |
-
|
72 |
-
|
73 |
-
-webkit-transition: all 0.2s ease-in;
|
74 |
-
transition: all 0.2s ease-in;
|
75 |
-
/* IE 9 Fix */
|
76 |
}
|
77 |
|
78 |
-
.pirate-forms-
|
79 |
-
|
80 |
-
|
|
|
81 |
}
|
82 |
|
83 |
-
.pirate-forms-
|
84 |
display: inline-block;
|
85 |
-
|
86 |
-
|
87 |
-
cursor: pointer;
|
88 |
-
/* IE 9 Fix */
|
89 |
-
-webkit-transition: all 0.2s ease-in;
|
90 |
-
transition: all 0.2s ease-in;
|
91 |
}
|
92 |
|
93 |
-
|
94 |
-
|
|
|
|
|
95 |
}
|
1 |
/*
|
2 |
+
Version: 2.3.1
|
3 |
*/
|
4 |
+
.pirate_forms_wrap .form_field_wrap,
|
5 |
+
.widget .pirate_forms_wrap .form_field_wrap {
|
6 |
margin-bottom: 20px;
|
7 |
}
|
8 |
|
16 |
margin-bottom: 20px;
|
17 |
}
|
18 |
|
19 |
+
.widget .form_field_wrap,
|
20 |
.sidebar .form_field_wrap,
|
21 |
.sidebar-wrap .form_field_wrap,
|
22 |
#sidebar-secondary .form_field_wrap {
|
23 |
width: 100%;
|
24 |
+
max-width: 100%;
|
25 |
}
|
26 |
|
27 |
+
.pirate_forms_clearfix,
|
28 |
+
.pirate-forms-fields-container:after,
|
29 |
+
.pirate-forms-file-upload-wrapper:after {
|
30 |
+
display: block;
|
31 |
+
visibility: hidden;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
clear: both;
|
33 |
+
height: 0;
|
34 |
+
font-size: 0;
|
35 |
+
content: " ";
|
36 |
}
|
37 |
|
38 |
.contact_submit_wrap {
|
39 |
text-align: right;
|
40 |
}
|
41 |
|
42 |
+
.pirate-forms-maps-custom label {
|
43 |
+
display: inline-block;
|
44 |
+
cursor: pointer;
|
|
|
|
|
45 |
}
|
46 |
|
47 |
+
.pirate-forms-maps-custom span {
|
48 |
+
margin-left: 5px;
|
|
|
49 |
}
|
50 |
|
51 |
+
.pirate-forms-fields-container {
|
52 |
+
margin-right: -15px;
|
53 |
+
margin-left: -15px;
|
54 |
}
|
55 |
|
56 |
+
.pirate-forms-fields-container .form_field_wrap {
|
57 |
+
box-sizing: border-box;
|
58 |
+
padding-right: 15px;
|
59 |
+
padding-left: 15px;
|
60 |
}
|
61 |
|
62 |
+
.pirate_forms_three_inputs_wrap .form_field_wrap input {
|
63 |
+
box-sizing: border-box;
|
64 |
+
width: 100%;
|
65 |
+
max-width: 100%;
|
66 |
+
margin: 0;
|
|
|
|
|
|
|
67 |
}
|
68 |
|
69 |
+
.pirate-forms-fields-container .form_field_wrap textarea {
|
70 |
+
width: 100%;
|
71 |
+
max-width: 100%;
|
72 |
+
margin: 0;
|
73 |
}
|
74 |
|
75 |
+
.pirate_forms_wrap .form_field_wrap .pirate-forms-submit-button {
|
76 |
display: inline-block;
|
77 |
+
width: auto;
|
78 |
+
max-width: 100%;
|
|
|
|
|
|
|
|
|
79 |
}
|
80 |
|
81 |
+
@media (max-width: 480px) {
|
82 |
+
.pirate_forms_wrap .form_field_wrap .pirate-forms-submit-button {
|
83 |
+
width: 100%;
|
84 |
+
}
|
85 |
}
|
readme.md
CHANGED
@@ -177,6 +177,13 @@ Activating the Pirate Contact Form plugin is just like any other plugin. If you'
|
|
177 |
4. Screenshot 4. Enabling SMTP
|
178 |
|
179 |
## Changelog ##
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
### 2.3.0 - 2017-11-27 ###
|
181 |
|
182 |
* Adds email content wysiwyg editor.
|
177 |
4. Screenshot 4. Enabling SMTP
|
178 |
|
179 |
## Changelog ##
|
180 |
+
### 2.3.1 - 2017-12-28 ###
|
181 |
+
|
182 |
+
* Improves layout and compatibility with various themes.
|
183 |
+
* Improves form default email format.
|
184 |
+
* Fix issues with various special characters in the magic tag fields.
|
185 |
+
|
186 |
+
|
187 |
### 2.3.0 - 2017-11-27 ###
|
188 |
|
189 |
* Adds email content wysiwyg editor.
|
readme.txt
CHANGED
@@ -87,6 +87,7 @@ This plugin started as a fork of https://wordpress.org/plugins/proper-contact-fo
|
|
87 |
== Frequently Asked Questions ==
|
88 |
|
89 |
|
|
|
90 |
= How I can get support for this contact form plugin ? =
|
91 |
|
92 |
You can learn more about PirateForms and ask for help by <a href="https://themeisle.com/contact/" >visiting ThemeIsle website</a>.
|
@@ -156,6 +157,15 @@ You can follow the full documentation [here](http://docs.themeisle.com/article/4
|
|
156 |
= How to add attributes to form in Pirate Forms =
|
157 |
[http://docs.themeisle.com/article/752-how-to-add-attributes-to-form-in-pirate-forms](http://docs.themeisle.com/article/752-how-to-add-attributes-to-form-in-pirate-forms)
|
158 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
== Installation ==
|
160 |
|
161 |
Activating the Pirate Contact Form plugin is just like any other plugin. If you've uploaded the plugin package to your server already, skip to step 5 below:
|
@@ -177,6 +187,13 @@ Activating the Pirate Contact Form plugin is just like any other plugin. If you'
|
|
177 |
4. Screenshot 4. Enabling SMTP
|
178 |
|
179 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
180 |
= 2.3.0 - 2017-11-27 =
|
181 |
|
182 |
* Adds email content wysiwyg editor.
|
87 |
== Frequently Asked Questions ==
|
88 |
|
89 |
|
90 |
+
|
91 |
= How I can get support for this contact form plugin ? =
|
92 |
|
93 |
You can learn more about PirateForms and ask for help by <a href="https://themeisle.com/contact/" >visiting ThemeIsle website</a>.
|
157 |
= How to add attributes to form in Pirate Forms =
|
158 |
[http://docs.themeisle.com/article/752-how-to-add-attributes-to-form-in-pirate-forms](http://docs.themeisle.com/article/752-how-to-add-attributes-to-form-in-pirate-forms)
|
159 |
|
160 |
+
= How to change default email content in Pirate forms =
|
161 |
+
[http://docs.themeisle.com/article/779-how-to-change-default-email-content-in-pirate-forms](http://docs.themeisle.com/article/779-how-to-change-default-email-content-in-pirate-forms)
|
162 |
+
|
163 |
+
= How to change default email content per form in Pirate forms =
|
164 |
+
[http://docs.themeisle.com/article/780-how-to-change-default-email-content-per-form-in-pirate-forms](http://docs.themeisle.com/article/780-how-to-change-default-email-content-per-form-in-pirate-forms)
|
165 |
+
|
166 |
+
= How to install and use extended version of Pirate Forms =
|
167 |
+
[http://docs.themeisle.com/article/787-how-to-install-and-use-extended-version-of-pirate-forms](http://docs.themeisle.com/article/787-how-to-install-and-use-extended-version-of-pirate-forms)
|
168 |
+
|
169 |
== Installation ==
|
170 |
|
171 |
Activating the Pirate Contact Form plugin is just like any other plugin. If you've uploaded the plugin package to your server already, skip to step 5 below:
|
187 |
4. Screenshot 4. Enabling SMTP
|
188 |
|
189 |
== Changelog ==
|
190 |
+
= 2.3.1 - 2017-12-28 =
|
191 |
+
|
192 |
+
* Improves layout and compatibility with various themes.
|
193 |
+
* Improves form default email format.
|
194 |
+
* Fix issues with various special characters in the magic tag fields.
|
195 |
+
|
196 |
+
|
197 |
= 2.3.0 - 2017-11-27 =
|
198 |
|
199 |
* Adds email content wysiwyg editor.
|
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 ComposerAutoloaderInit1fb09e2a03b8b1f08b8c28e6eb4a37c2::getLoader();
|
vendor/autoload_52.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once dirname(__FILE__) . '/composer'.'/autoload_real_52.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit9220f162d29535efe69cbfc410dc6bcd::getLoader();
|
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-endpoints.php
ADDED
@@ -0,0 +1,312 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* The class that exposes endpoints.
|
4 |
+
*
|
5 |
+
* @package ThemeIsleSDK
|
6 |
+
* @subpackage Endpoints
|
7 |
+
* @copyright Copyright (c) 2017, Marius Cristea
|
8 |
+
* @license http://opensource.org/licenses/gpl-3.0.php GNU Public License
|
9 |
+
* @since 1.0.0
|
10 |
+
*/
|
11 |
+
// Exit if accessed directly.
|
12 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
13 |
+
exit;
|
14 |
+
}
|
15 |
+
if ( ! class_exists( 'ThemeIsle_SDK_Endpoints' ) ) :
|
16 |
+
/**
|
17 |
+
* Expose endpoints for ThemeIsle SDK.
|
18 |
+
*/
|
19 |
+
final class ThemeIsle_SDK_Endpoints {
|
20 |
+
|
21 |
+
const SDK_ENDPOINT = 'themeisle-sdk';
|
22 |
+
const SDK_ENDPOINT_VERSION = 1;
|
23 |
+
|
24 |
+
const HASH_FILE = 'themeisle-hash.json';
|
25 |
+
|
26 |
+
// if true, the endpoint will expect a product slug and will return the value only for that.
|
27 |
+
const PRODUCT_SPECIFIC = false;
|
28 |
+
|
29 |
+
/**
|
30 |
+
* @var ThemeIsle_SDK_Product $products Array of Themeisle Product.
|
31 |
+
*/
|
32 |
+
static protected $products = array();
|
33 |
+
|
34 |
+
/**
|
35 |
+
* ThemeIsle_SDK_Endpoints constructor.
|
36 |
+
*
|
37 |
+
* @param ThemeIsle_SDK_Product $product_object Product Object.
|
38 |
+
*/
|
39 |
+
public function __construct( $product_object ) {
|
40 |
+
if ( $product_object instanceof ThemeIsle_SDK_Product ) {
|
41 |
+
self::$products[] = $product_object;
|
42 |
+
}
|
43 |
+
$this->setup_endpoints();
|
44 |
+
}
|
45 |
+
|
46 |
+
/**
|
47 |
+
* Setup endpoints.
|
48 |
+
*/
|
49 |
+
private function setup_endpoints() {
|
50 |
+
global $wp_version;
|
51 |
+
if ( version_compare( $wp_version, '4.4', '<' ) ) {
|
52 |
+
// no REST support.
|
53 |
+
return;
|
54 |
+
}
|
55 |
+
|
56 |
+
$this->setup_rest();
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* Setup REST endpoints.
|
61 |
+
*/
|
62 |
+
private function setup_rest() {
|
63 |
+
add_action( 'rest_api_init', array( $this, 'rest_register' ) );
|
64 |
+
}
|
65 |
+
|
66 |
+
/**
|
67 |
+
* Registers the endpoints
|
68 |
+
*/
|
69 |
+
function rest_register() {
|
70 |
+
register_rest_route(
|
71 |
+
self::SDK_ENDPOINT . '/v' . self::SDK_ENDPOINT_VERSION,
|
72 |
+
'/checksum/' . ( self::PRODUCT_SPECIFIC ? '(?P<slug>.*)/' : '' ),
|
73 |
+
array(
|
74 |
+
'methods' => 'GET',
|
75 |
+
'callback' => array( $this, 'checksum' ),
|
76 |
+
)
|
77 |
+
);
|
78 |
+
}
|
79 |
+
|
80 |
+
/**
|
81 |
+
* The checksum endpoint.
|
82 |
+
*
|
83 |
+
* @param WP_REST_Request $data the request.
|
84 |
+
*
|
85 |
+
* @return WP_REST_Response Response or the error
|
86 |
+
*/
|
87 |
+
function checksum( WP_REST_Request $data ) {
|
88 |
+
$products = self::$products;
|
89 |
+
if ( self::PRODUCT_SPECIFIC ) {
|
90 |
+
$params = $this->validate_params( $data, array( 'slug' ) );
|
91 |
+
foreach ( self::$products as $product ) {
|
92 |
+
if ( $params['slug'] === $product->get_slug() ) {
|
93 |
+
$products = array( $product );
|
94 |
+
break;
|
95 |
+
}
|
96 |
+
}
|
97 |
+
}
|
98 |
+
$response = array();
|
99 |
+
$custom_css = $this->has_custom_css();
|
100 |
+
if ( is_bool( $custom_css ) ) {
|
101 |
+
$response['custom_css'] = $custom_css;
|
102 |
+
}
|
103 |
+
|
104 |
+
$response['child_theme'] = $this->get_theme_properties();
|
105 |
+
|
106 |
+
foreach ( $products as $product ) {
|
107 |
+
$files = array();
|
108 |
+
switch ( $product->get_type() ) {
|
109 |
+
case 'plugin':
|
110 |
+
$files = array();
|
111 |
+
break;
|
112 |
+
case 'theme':
|
113 |
+
$files = array( 'style.css', 'functions.php' );
|
114 |
+
break;
|
115 |
+
}
|
116 |
+
|
117 |
+
$error = '';
|
118 |
+
|
119 |
+
// if any element in the $files array contains a '/', this would imply recursion is required.
|
120 |
+
$diff = $this->generate_diff( $product, $files, array_reduce( $files, array( $this, 'is_recursion_required' ), false ) );
|
121 |
+
if ( is_wp_error( $diff ) ) {
|
122 |
+
$error = $diff->get_error_message();
|
123 |
+
$diff = array();
|
124 |
+
}
|
125 |
+
|
126 |
+
$response['products'][] = array(
|
127 |
+
'slug' => $product->get_slug(),
|
128 |
+
'version' => $product->get_version(),
|
129 |
+
'diffs' => $diff,
|
130 |
+
'error' => $error,
|
131 |
+
);
|
132 |
+
}
|
133 |
+
|
134 |
+
return new WP_REST_Response( array( 'checksum' => $response ) );
|
135 |
+
}
|
136 |
+
|
137 |
+
/**
|
138 |
+
* Get the current theme properties.
|
139 |
+
*
|
140 |
+
* @return array Properties of the current theme.
|
141 |
+
*/
|
142 |
+
function get_theme_properties() {
|
143 |
+
if ( ! is_child_theme() ) {
|
144 |
+
return false;
|
145 |
+
}
|
146 |
+
|
147 |
+
$properties = array();
|
148 |
+
$theme = wp_get_theme();
|
149 |
+
// @codingStandardsIgnoreStart
|
150 |
+
$properties['name'] = $theme->Name;
|
151 |
+
// @codingStandardsIgnoreEnd
|
152 |
+
|
153 |
+
// get the files in the child theme.
|
154 |
+
require_once( ABSPATH . 'wp-admin/includes/file.php' );
|
155 |
+
WP_Filesystem();
|
156 |
+
global $wp_filesystem;
|
157 |
+
$path = str_replace( ABSPATH, $wp_filesystem->abspath(), get_stylesheet_directory() );
|
158 |
+
$list = $wp_filesystem->dirlist( $path, false, false );
|
159 |
+
if ( $list ) {
|
160 |
+
$list = array_keys( self::flatten_dirlist( $list ) );
|
161 |
+
$properties['files'] = $list;
|
162 |
+
}
|
163 |
+
return $properties;
|
164 |
+
}
|
165 |
+
|
166 |
+
/**
|
167 |
+
* Check if custom css has been added to the theme.
|
168 |
+
*
|
169 |
+
* @return bool Whether custom css has been added to the theme.
|
170 |
+
*/
|
171 |
+
private function has_custom_css() {
|
172 |
+
$query = new WP_Query(
|
173 |
+
array(
|
174 |
+
'post_type' => 'custom_css',
|
175 |
+
'post_status' => 'publish',
|
176 |
+
'numberposts' => 1,
|
177 |
+
'update_post_meta_cache' => false,
|
178 |
+
'update_post_term_cache' => false,
|
179 |
+
)
|
180 |
+
);
|
181 |
+
|
182 |
+
if ( $query->have_posts() ) {
|
183 |
+
$query->the_post();
|
184 |
+
$content = get_the_content();
|
185 |
+
// if the content contains a colon, a CSS rule has been added.
|
186 |
+
return strpos( $content, ':' ) === false ? false : true;
|
187 |
+
}
|
188 |
+
return false;
|
189 |
+
}
|
190 |
+
|
191 |
+
/**
|
192 |
+
* Check if recursion needs to be enabled on the WP_Filesystem by reducing the array of files to a boolean.
|
193 |
+
*
|
194 |
+
* @param string $carry Value of the previous iteration.
|
195 |
+
* @param string $item Value of the current iteration.
|
196 |
+
*
|
197 |
+
* @return bool Whether to recurse or not.
|
198 |
+
*/
|
199 |
+
function is_recursion_required( $carry, $item ) {
|
200 |
+
if ( ! $carry ) {
|
201 |
+
return ( strpos( $item, '/' ) !== false );
|
202 |
+
}
|
203 |
+
return $carry;
|
204 |
+
}
|
205 |
+
|
206 |
+
/**
|
207 |
+
* Generate the diff of the files.
|
208 |
+
*
|
209 |
+
* @param ThemeIsle_SDK_Product $product Themeisle Product.
|
210 |
+
* @param array $files Array of files.
|
211 |
+
* @param bool $recurse Whether to recurse or not.
|
212 |
+
*
|
213 |
+
* @return string
|
214 |
+
*/
|
215 |
+
private function generate_diff( $product, $files, $recurse = false ) {
|
216 |
+
require_once( ABSPATH . 'wp-admin/includes/file.php' );
|
217 |
+
WP_Filesystem();
|
218 |
+
global $wp_filesystem;
|
219 |
+
|
220 |
+
$diff = array();
|
221 |
+
$path = str_replace( ABSPATH, $wp_filesystem->abspath(), plugin_dir_path( $product->get_basefile() ) );
|
222 |
+
$list = $wp_filesystem->dirlist( $path, false, $recurse );
|
223 |
+
// nothing found.
|
224 |
+
if ( ! $list ) {
|
225 |
+
return $diff;
|
226 |
+
}
|
227 |
+
$list = array_keys( self::flatten_dirlist( $list ) );
|
228 |
+
|
229 |
+
// now let's get the valid files that actually exist.
|
230 |
+
if ( empty( $files ) ) {
|
231 |
+
$files = $list;
|
232 |
+
} else {
|
233 |
+
$files = array_intersect( $files, $list );
|
234 |
+
}
|
235 |
+
|
236 |
+
// fetch the calculated hashes.
|
237 |
+
if ( ! $wp_filesystem->is_readable( $path . '/' . self::HASH_FILE ) ) {
|
238 |
+
return new WP_Error( 'themeisle_sdk_hash_not_found', sprintf( __( '%s not found', 'themeisle-sdk' ), self::HASH_FILE ) );
|
239 |
+
}
|
240 |
+
|
241 |
+
$hashes = json_decode( $wp_filesystem->get_contents( $path . '/' . self::HASH_FILE ), true );
|
242 |
+
ksort( $hashes );
|
243 |
+
|
244 |
+
$diff = array();
|
245 |
+
foreach ( $files as $file ) {
|
246 |
+
// file does not exist in the hashes.
|
247 |
+
if ( ! array_key_exists( $file, $hashes ) ) {
|
248 |
+
continue;
|
249 |
+
}
|
250 |
+
$new = md5( $wp_filesystem->get_contents( $path . $file ) );
|
251 |
+
$old = $hashes[ $file ];
|
252 |
+
|
253 |
+
// same hash, bail.
|
254 |
+
if ( $new === $old ) {
|
255 |
+
continue;
|
256 |
+
}
|
257 |
+
$diff[] = $file;
|
258 |
+
}
|
259 |
+
return $diff;
|
260 |
+
}
|
261 |
+
|
262 |
+
/**
|
263 |
+
* Flatten the results of WP_Filesystem::dirlist() for iterating over.
|
264 |
+
*
|
265 |
+
* @access private
|
266 |
+
*
|
267 |
+
* @param array $nested_files Array of files as returned by WP_Filesystem::dirlist().
|
268 |
+
* @param string $path Relative path to prepend to child nodes. Optional.
|
269 |
+
* @return array $files A flattened array of the $nested_files specified.
|
270 |
+
*/
|
271 |
+
private static function flatten_dirlist( $nested_files, $path = '' ) {
|
272 |
+
$files = array();
|
273 |
+
foreach ( $nested_files as $name => $details ) {
|
274 |
+
$files[ $path . $name ] = $details;
|
275 |
+
// Append children recursively
|
276 |
+
if ( ! empty( $details['files'] ) ) {
|
277 |
+
$children = self::flatten_dirlist( $details['files'], $path . $name . '/' );
|
278 |
+
// Merge keeping possible numeric keys, which array_merge() will reindex from 0..n
|
279 |
+
$files = $files + $children;
|
280 |
+
}
|
281 |
+
}
|
282 |
+
return $files;
|
283 |
+
}
|
284 |
+
|
285 |
+
/**
|
286 |
+
* Validates the parameters to the API
|
287 |
+
*
|
288 |
+
* @param WP_REST_Request $data the request.
|
289 |
+
* @param array $params the parameters to validate.
|
290 |
+
*
|
291 |
+
* @return array of parameter name=>value
|
292 |
+
*/
|
293 |
+
private function validate_params( WP_REST_Request $data, $params ) {
|
294 |
+
$collect = array();
|
295 |
+
foreach ( $params as $param ) {
|
296 |
+
$value = sanitize_text_field( $data[ $param ] );
|
297 |
+
if ( empty( $value ) ) {
|
298 |
+
return new WP_Error(
|
299 |
+
'themeisle_' . $param . '_invalid', sprintf( __( 'Invalid %', 'themeisle-sdk' ), $param ), array(
|
300 |
+
'status' => 403,
|
301 |
+
)
|
302 |
+
);
|
303 |
+
} else {
|
304 |
+
$collect[ $param ] = $value;
|
305 |
+
}
|
306 |
+
}
|
307 |
+
|
308 |
+
return $collect;
|
309 |
+
}
|
310 |
+
|
311 |
+
}
|
312 |
+
endif;
|
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-licenser.php
CHANGED
@@ -73,6 +73,7 @@ if ( ! class_exists( 'ThemeIsle_SDK_Licenser' ) ) :
|
|
73 |
add_action( 'admin_init', array( $this, 'activate_license' ) );
|
74 |
add_action( 'admin_init', array( $this, 'product_valid' ), 99999999 );
|
75 |
add_action( 'admin_notices', array( $this, 'show_notice' ) );
|
|
|
76 |
}
|
77 |
|
78 |
/**
|
73 |
add_action( 'admin_init', array( $this, 'activate_license' ) );
|
74 |
add_action( 'admin_init', array( $this, 'product_valid' ), 99999999 );
|
75 |
add_action( 'admin_notices', array( $this, 'show_notice' ) );
|
76 |
+
add_filter( $this->product->get_key() . '_license_status', array( $this, 'get_license_status' ) );
|
77 |
}
|
78 |
|
79 |
/**
|
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-loader.php
CHANGED
@@ -76,6 +76,9 @@ if ( ! class_exists( 'ThemeIsle_SDK_Loader' ) ) :
|
|
76 |
if ( ! $product_object->is_external_author() ) {
|
77 |
new ThemeIsle_SDK_Rollback( $product_object );
|
78 |
}
|
|
|
|
|
|
|
79 |
return self::$instance;
|
80 |
}
|
81 |
|
76 |
if ( ! $product_object->is_external_author() ) {
|
77 |
new ThemeIsle_SDK_Rollback( $product_object );
|
78 |
}
|
79 |
+
|
80 |
+
new ThemeIsle_SDK_Endpoints( $product_object );
|
81 |
+
|
82 |
return self::$instance;
|
83 |
}
|
84 |
|
vendor/codeinwp/themeisle-sdk/class-themeisle-sdk-logger.php
CHANGED
@@ -77,6 +77,13 @@ if ( ! class_exists( 'ThemeIsle_SDK_Logger' ) ) :
|
|
77 |
* Send the statistics to the api endpoint
|
78 |
*/
|
79 |
public function send_log() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
wp_remote_post(
|
81 |
$this->logging_url, array(
|
82 |
'method' => 'POST',
|
@@ -86,10 +93,12 @@ if ( ! class_exists( 'ThemeIsle_SDK_Logger' ) ) :
|
|
86 |
'X-ThemeIsle-Event' => 'log_site',
|
87 |
),
|
88 |
'body' => array(
|
89 |
-
'site'
|
90 |
-
'slug'
|
91 |
-
'version'
|
92 |
-
'data'
|
|
|
|
|
93 |
),
|
94 |
)
|
95 |
);
|
77 |
* Send the statistics to the api endpoint
|
78 |
*/
|
79 |
public function send_log() {
|
80 |
+
$environment = array();
|
81 |
+
$theme = wp_get_theme();
|
82 |
+
$environment['theme'] = array();
|
83 |
+
$environment['theme']['name'] = $theme->get( 'Name' );
|
84 |
+
$environment['theme']['author'] = $theme->get( 'Author' );
|
85 |
+
$environment['plugins'] = get_option( 'active_plugins' );
|
86 |
+
|
87 |
wp_remote_post(
|
88 |
$this->logging_url, array(
|
89 |
'method' => 'POST',
|
93 |
'X-ThemeIsle-Event' => 'log_site',
|
94 |
),
|
95 |
'body' => array(
|
96 |
+
'site' => get_site_url(),
|
97 |
+
'slug' => $this->product->get_slug(),
|
98 |
+
'version' => $this->product->get_version(),
|
99 |
+
'data' => apply_filters( $this->product->get_key() . '_logger_data', array() ),
|
100 |
+
'environment' => $environment,
|
101 |
+
'license' => apply_filters( $this->product->get_key() . '_license_status', '' ),
|
102 |
),
|
103 |
)
|
104 |
);
|
vendor/codeinwp/themeisle-sdk/load.php
CHANGED
@@ -11,7 +11,7 @@
|
|
11 |
*/
|
12 |
|
13 |
// Current SDK version and path.
|
14 |
-
$themeisle_sdk_version = '
|
15 |
$themeisle_sdk_path = dirname( __FILE__ );
|
16 |
|
17 |
global $themeisle_sdk_max_version;
|
11 |
*/
|
12 |
|
13 |
// Current SDK version and path.
|
14 |
+
$themeisle_sdk_version = '2.0.0';
|
15 |
$themeisle_sdk_path = dirname( __FILE__ );
|
16 |
|
17 |
global $themeisle_sdk_max_version;
|
vendor/codeinwp/themeisle-sdk/start.php
CHANGED
@@ -24,6 +24,7 @@ $files_to_load = array(
|
|
24 |
'class-themeisle-sdk-widget.php',
|
25 |
'class-themeisle-sdk-widget-dashboard-blog.php',
|
26 |
'class-themeisle-sdk-widgets-factory.php',
|
|
|
27 |
);
|
28 |
|
29 |
foreach ( $files_to_load as $file ) {
|
24 |
'class-themeisle-sdk-widget.php',
|
25 |
'class-themeisle-sdk-widget-dashboard-blog.php',
|
26 |
'class-themeisle-sdk-widgets-factory.php',
|
27 |
+
'class-themeisle-sdk-endpoints.php',
|
28 |
);
|
29 |
|
30 |
foreach ( $files_to_load as $file ) {
|
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 |
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitee8868fb85498203ce6a1cdc3be4909f
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
foreach ($map as $namespace => $path) {
|
@@ -42,14 +42,14 @@ class ComposerAutoloaderInitee8868fb85498203ce6a1cdc3be4909f
|
|
42 |
|
43 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
44 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
45 |
-
|
46 |
}
|
47 |
|
48 |
return $loader;
|
49 |
}
|
50 |
}
|
51 |
|
52 |
-
function
|
53 |
{
|
54 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
55 |
require $file;
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit1fb09e2a03b8b1f08b8c28e6eb4a37c2
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit1fb09e2a03b8b1f08b8c28e6eb4a37c2', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit1fb09e2a03b8b1f08b8c28e6eb4a37c2', 'loadClassLoader'));
|
25 |
|
26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
foreach ($map as $namespace => $path) {
|
42 |
|
43 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
44 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
45 |
+
composerRequire1fb09e2a03b8b1f08b8c28e6eb4a37c2($fileIdentifier, $file);
|
46 |
}
|
47 |
|
48 |
return $loader;
|
49 |
}
|
50 |
}
|
51 |
|
52 |
+
function composerRequire1fb09e2a03b8b1f08b8c28e6eb4a37c2($fileIdentifier, $file)
|
53 |
{
|
54 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
55 |
require $file;
|
vendor/composer/autoload_real_52.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
4 |
|
5 |
-
class
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit30e0d35d9f2c7d783fb1a973f446e13b {
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
2 |
|
3 |
// autoload_real_52.php generated by xrstf/composer-php52
|
4 |
|
5 |
+
class ComposerAutoloaderInit9220f162d29535efe69cbfc410dc6bcd {
|
6 |
private static $loader;
|
7 |
|
8 |
public static function loadClassLoader($class) {
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit9220f162d29535efe69cbfc410dc6bcd', 'loadClassLoader'), true /*, true */);
|
23 |
self::$loader = $loader = new xrstf_Composer52_ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit9220f162d29535efe69cbfc410dc6bcd', 'loadClassLoader'));
|
25 |
|
26 |
$vendorDir = dirname(dirname(__FILE__));
|
27 |
$baseDir = dirname($vendorDir);
|
vendor/composer/installed.json
CHANGED
@@ -6,15 +6,15 @@
|
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/Codeinwp/themeisle-sdk.git",
|
9 |
-
"reference": "
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/
|
14 |
-
"reference": "
|
15 |
"shasum": ""
|
16 |
},
|
17 |
-
"time": "2017-
|
18 |
"type": "library",
|
19 |
"installation-source": "dist",
|
20 |
"autoload": {
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/Codeinwp/themeisle-sdk.git",
|
9 |
+
"reference": "3a40b987f7852134bd29bb8a1ecfaca6b7c1f236"
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/Codeinwp/themeisle-sdk/zipball/3a40b987f7852134bd29bb8a1ecfaca6b7c1f236",
|
14 |
+
"reference": "3a40b987f7852134bd29bb8a1ecfaca6b7c1f236",
|
15 |
"shasum": ""
|
16 |
},
|
17 |
+
"time": "2017-12-28 13:15:26",
|
18 |
"type": "library",
|
19 |
"installation-source": "dist",
|
20 |
"autoload": {
|