Version Description
(2020-05-15) = * Bugfix: 403 error when saving changes resolved * Enhancement: Feedback form enhancements
Download this release
Release Info
Developer | jeffparker |
Plugin | Yet Another Related Posts Plugin (YARPP) |
Version | 5.1.6 |
Comparing to | |
See all releases |
Code changes from version 5.1.5 to 5.1.6
- classes/YARPP_Admin.php +4 -3
- lib/plugin-deactivation-survey/deactivate-feedback-form.css +28 -28
- lib/plugin-deactivation-survey/deactivate-feedback-form.js +37 -24
- lib/plugin-deactivation-survey/deactivate-feedback-form.php +30 -21
- lib/plugin-deactivation-survey/remodal-default-theme.css +123 -123
- readme.txt +6 -2
- yarpp.php +2 -2
classes/YARPP_Admin.php
CHANGED
@@ -782,12 +782,13 @@ class YARPP_Admin {
|
|
782 |
$api_key = '';
|
783 |
$verification_key = '';
|
784 |
}
|
785 |
-
|
786 |
-
|
787 |
$plugins[] = (object) array(
|
|
|
788 |
'basename' => plugin_basename(YARPP_MAIN_FILE),
|
789 |
'logo' => YARPP_URL . '/images/icon-256x256.png',
|
790 |
'api_server' => 'yarpp.com',
|
|
|
791 |
'bgcolor' => '#fff',
|
792 |
'send' => array(
|
793 |
'plugin_name' => 'yarpp',
|
@@ -825,7 +826,7 @@ class YARPP_Admin {
|
|
825 |
'please_wait' => esc_html__( 'Please wait...', 'yarpp' ),
|
826 |
'thank_you' => esc_html__( 'Thank you!', 'yarpp' ),
|
827 |
'ask_for_support' => sprintf(
|
828 |
-
esc_html__( '
|
829 |
'yarpp' ),
|
830 |
'<a href="https://wordpress.org/support/plugin/yet-another-related-posts-plugin/" target="_blank" >',
|
831 |
'</a>',
|
782 |
$api_key = '';
|
783 |
$verification_key = '';
|
784 |
}
|
785 |
+
$plugin_data = get_plugin_data(YARPP_MAIN_FILE, false, false);
|
|
|
786 |
$plugins[] = (object) array(
|
787 |
+
'title_slugged' => sanitize_title($plugin_data['Name']),
|
788 |
'basename' => plugin_basename(YARPP_MAIN_FILE),
|
789 |
'logo' => YARPP_URL . '/images/icon-256x256.png',
|
790 |
'api_server' => 'yarpp.com',
|
791 |
+
'script_cache_ver' => YARPP_VERSION,
|
792 |
'bgcolor' => '#fff',
|
793 |
'send' => array(
|
794 |
'plugin_name' => 'yarpp',
|
826 |
'please_wait' => esc_html__( 'Please wait...', 'yarpp' ),
|
827 |
'thank_you' => esc_html__( 'Thank you!', 'yarpp' ),
|
828 |
'ask_for_support' => sprintf(
|
829 |
+
esc_html__( 'Have you visited %1$sthe support forum%2$s and %3$sread the FAQs%2$s for help?',
|
830 |
'yarpp' ),
|
831 |
'<a href="https://wordpress.org/support/plugin/yet-another-related-posts-plugin/" target="_blank" >',
|
832 |
'</a>',
|
lib/plugin-deactivation-survey/deactivate-feedback-form.css
CHANGED
@@ -17,30 +17,30 @@
|
|
17 |
|
18 |
.shareaholic-deactivate-header {
|
19 |
background-size: contain;
|
20 |
-
|
21 |
position: absolute;
|
22 |
top: 0px;
|
23 |
left: 0px;
|
24 |
width: 100%;
|
25 |
align-items: center;
|
26 |
max-height: 65px;
|
27 |
-
|
28 |
-
|
29 |
}
|
30 |
|
31 |
.shareaholic-review-notice-text {
|
32 |
background: rgba(255, 255, 255, 0.9);
|
33 |
-
|
34 |
-
|
35 |
}
|
36 |
|
37 |
.shareaholic-deactivate-header h2 {
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
}
|
45 |
|
46 |
.shareaholic-deactivate-body {
|
@@ -48,11 +48,11 @@
|
|
48 |
}
|
49 |
|
50 |
.shareaholic-deactivate-body-foreword {
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
}
|
57 |
|
58 |
.shareaholic-deactivate-text-area {
|
@@ -65,7 +65,7 @@
|
|
65 |
}
|
66 |
|
67 |
.shareaholic-deactivate-input, .shareaholic-deactivate-input[type], .shareaholic-deactivate-text-area {
|
68 |
-
|
69 |
border-radius: 3px;
|
70 |
border: 1px solid #cbd6e2;
|
71 |
background-color: #f5f8fa;
|
@@ -75,28 +75,28 @@
|
|
75 |
}
|
76 |
|
77 |
.shareaholic-deactivate-help {
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
}
|
82 |
|
83 |
.shareaholic-deactivate-reasons li {
|
84 |
margin: 1em 0 1.2em 0;
|
85 |
-
|
86 |
}
|
87 |
|
88 |
.shareaholic-deactivate-contact {
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
}
|
93 |
|
94 |
.shareaholic-deactivate-divider {
|
95 |
-
|
96 |
-
|
97 |
}
|
98 |
|
99 |
.shareaholic-deactivate-dialog-footer {
|
100 |
-
|
101 |
-
|
102 |
}
|
17 |
|
18 |
.shareaholic-deactivate-header {
|
19 |
background-size: contain;
|
20 |
+
background-repeat: no-repeat;
|
21 |
position: absolute;
|
22 |
top: 0px;
|
23 |
left: 0px;
|
24 |
width: 100%;
|
25 |
align-items: center;
|
26 |
max-height: 65px;
|
27 |
+
box-shadow: 0 0 8px rgba(0,0,0,.1);
|
28 |
+
-webkit-box-shadow: 0 0 8px rgba(0,0,0,.1);
|
29 |
}
|
30 |
|
31 |
.shareaholic-review-notice-text {
|
32 |
background: rgba(255, 255, 255, 0.9);
|
33 |
+
text-shadow: #fff 0px 0px 10px;
|
34 |
+
margin-right: 8em !important;
|
35 |
}
|
36 |
|
37 |
.shareaholic-deactivate-header h2 {
|
38 |
+
font-size: 15px;
|
39 |
+
font-weight: 700;
|
40 |
+
line-height: 1.4;
|
41 |
+
color: #495157;
|
42 |
+
text-transform: uppercase;
|
43 |
+
margin-left: 65px;
|
44 |
}
|
45 |
|
46 |
.shareaholic-deactivate-body {
|
48 |
}
|
49 |
|
50 |
.shareaholic-deactivate-body-foreword {
|
51 |
+
font-size: 15px;
|
52 |
+
font-weight: 700;
|
53 |
+
line-height: 1.6em;
|
54 |
+
color: #495157;
|
55 |
+
margin-bottom: 1.6em;
|
56 |
}
|
57 |
|
58 |
.shareaholic-deactivate-text-area {
|
65 |
}
|
66 |
|
67 |
.shareaholic-deactivate-input, .shareaholic-deactivate-input[type], .shareaholic-deactivate-text-area {
|
68 |
+
font-size: 12px;
|
69 |
border-radius: 3px;
|
70 |
border: 1px solid #cbd6e2;
|
71 |
background-color: #f5f8fa;
|
75 |
}
|
76 |
|
77 |
.shareaholic-deactivate-help {
|
78 |
+
font-size: 0.9em;
|
79 |
+
color: #71767c;
|
80 |
+
margin: 0.6em 0 2em 0;
|
81 |
}
|
82 |
|
83 |
.shareaholic-deactivate-reasons li {
|
84 |
margin: 1em 0 1.2em 0;
|
85 |
+
color: #33475b;
|
86 |
}
|
87 |
|
88 |
.shareaholic-deactivate-contact {
|
89 |
+
font-weight: 700;
|
90 |
+
line-height: 1.6em;
|
91 |
+
margin-top: 2em;
|
92 |
}
|
93 |
|
94 |
.shareaholic-deactivate-divider {
|
95 |
+
border-top: 1px #ddd solid;
|
96 |
+
margin: 2.6em -30px 20px -30px;
|
97 |
}
|
98 |
|
99 |
.shareaholic-deactivate-dialog-footer {
|
100 |
+
text-align: right;
|
101 |
+
padding: 0 0 20px 0;
|
102 |
}
|
lib/plugin-deactivation-survey/deactivate-feedback-form.js
CHANGED
@@ -1,3 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
(function($) {
|
2 |
|
3 |
if ( ! window.shareaholic) {
|
@@ -8,38 +14,42 @@
|
|
8 |
return;
|
9 |
}
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
11 |
shareaholic.DeactivateFeedbackForm = function(plugin)
|
12 |
{
|
13 |
var self = this;
|
14 |
-
var strings = shareaholic_deactivate_feedback_form_strings;
|
15 |
-
|
16 |
this.plugin = plugin;
|
17 |
|
18 |
-
// Dialog HTML
|
19 |
var element = $(
|
20 |
'\
|
21 |
<div id="shareaholic-deactivate-dialog" class="shareaholic-deactivate-dialog" data-remodal-id="' + plugin.basename + '">\
|
22 |
-
<div class="shareaholic-deactivate-header" style="background-image: url(' + plugin.logo + '); background-color: ' + plugin.bgcolor + ';"><div class="shareaholic-deactivate-text"><h2>' +
|
23 |
<div class="shareaholic-deactivate-body">\
|
24 |
<form>\
|
25 |
<input type="hidden" name="plugin"/>\
|
26 |
<div class="shareaholic-deactivate-body-foreword">\
|
27 |
-
' +
|
28 |
</div>\
|
29 |
<ul class="shareaholic-deactivate-reasons"></ul>\
|
30 |
<div style="display:none;" id="shareaholic-deactivate-comment-area">\
|
31 |
-
<textarea class="shareaholic-deactivate-text-area" name="comment" rows="3" id="shareaholic-deactivate-comment" placeholder="' +
|
32 |
-
<p class="shareaholic-deactivate-help">' +
|
33 |
</div>\
|
34 |
<div class="shareaholic-deactivate-contact">\
|
35 |
-
' +
|
36 |
</div>\
|
37 |
-
<input type="email" name="email" class="shareaholic-deactivate-input" value="' +
|
38 |
<div class="shareaholic-deactivate-divider"></div>\
|
39 |
<div class="shareaholic-deactivate-dialog-footer">\
|
40 |
<span class="spinner" style="float: none;"></span> \
|
41 |
-
<input type="submit" class="button confirm button-secondary" id="shareaholic-deactivate-submit" value="' +
|
42 |
-
<button data-remodal-action="cancel" class="button button-secondary">' +
|
43 |
</div>\
|
44 |
</form>\
|
45 |
</div>\
|
@@ -56,15 +66,13 @@
|
|
56 |
function(event) {
|
57 |
var submit_input = $( element ).find( "input[type='submit']" );
|
58 |
var comment_textarea = $( element ).find( '#shareaholic-deactivate-comment-area' );
|
59 |
-
if (
|
60 |
comment_textarea.appendTo( $( event.target ).parent().parent() );
|
61 |
comment_textarea.show();
|
62 |
} else {
|
63 |
comment_textarea.hide();
|
64 |
}
|
65 |
-
submit_input.val(
|
66 |
-
strings.submit_and_deactivate
|
67 |
-
);
|
68 |
self.maybeDisableSubmit();
|
69 |
}
|
70 |
);
|
@@ -82,7 +90,7 @@
|
|
82 |
}
|
83 |
);
|
84 |
|
85 |
-
// Reasons list
|
86 |
var ul = $( element ).find( "ul.shareaholic-deactivate-reasons" );
|
87 |
for (var key in plugin.reasons) {
|
88 |
var li = $( "<li><label><input type='radio' name='reason'/> <span></span></label></li>" );
|
@@ -93,8 +101,14 @@
|
|
93 |
$( ul ).append( li );
|
94 |
}
|
95 |
|
96 |
-
// Listen for deactivate
|
97 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
"click",
|
99 |
function(event) {
|
100 |
self.onDeactivateClicked( event );
|
@@ -109,7 +123,7 @@
|
|
109 |
if (this.plugin.reasons_needing_comment.indexOf( reason_value ) > -1
|
110 |
&& comment_textarea.val().replace( /\s/g, '' ) === '') {
|
111 |
submit_input.prop( 'disabled',true );
|
112 |
-
submit_input.prop( 'title',
|
113 |
} else {
|
114 |
submit_input.prop( 'disabled',false );
|
115 |
submit_input.prop( 'title','' );
|
@@ -130,12 +144,11 @@
|
|
130 |
shareaholic.DeactivateFeedbackForm.prototype.onSubmit = function(event)
|
131 |
{
|
132 |
var element = this.element;
|
133 |
-
var strings = shareaholic_deactivate_feedback_form_strings;
|
134 |
var self = this;
|
135 |
var data = this.plugin.send;
|
136 |
data.survey_response = {
|
137 |
contact:{
|
138 |
-
email: $( element ).find( "input[name='email']" ).val()
|
139 |
},
|
140 |
type:'uninstall',
|
141 |
data:{
|
@@ -145,7 +158,7 @@
|
|
145 |
};
|
146 |
|
147 |
$( element ).find( "button, input[type='submit']" ).prop( "disabled", true );
|
148 |
-
$( element ).find( "input[type='submit']" ).val(
|
149 |
$( element ).find( "button, input[type='submit']" ).siblings( '.spinner' ).addClass( 'is-active' );
|
150 |
|
151 |
if ($( element ).find( "input[name='reason']:checked" ).length) {
|
@@ -173,8 +186,8 @@
|
|
173 |
|
174 |
$( document ).ready(
|
175 |
function() {
|
176 |
-
|
177 |
-
for (var i = 0; i <
|
178 |
var plugin = shareaholic_deactivate_feedback_form_plugins[i];
|
179 |
new shareaholic.DeactivateFeedbackForm( plugin );
|
180 |
}
|
1 |
+
/**
|
2 |
+
* Displays a Feedback Form when a user clicks on the "Deactivate" link on the plugin settings page.
|
3 |
+
*
|
4 |
+
* @package shareaholic
|
5 |
+
*/
|
6 |
+
|
7 |
(function($) {
|
8 |
|
9 |
if ( ! window.shareaholic) {
|
14 |
return;
|
15 |
}
|
16 |
|
17 |
+
function decodeEntities(encodedString) {
|
18 |
+
var textArea = document.createElement( 'textarea' );
|
19 |
+
textArea.innerHTML = encodedString;
|
20 |
+
return textArea.value;
|
21 |
+
}
|
22 |
+
|
23 |
shareaholic.DeactivateFeedbackForm = function(plugin)
|
24 |
{
|
25 |
var self = this;
|
|
|
|
|
26 |
this.plugin = plugin;
|
27 |
|
28 |
+
// Dialog HTML.
|
29 |
var element = $(
|
30 |
'\
|
31 |
<div id="shareaholic-deactivate-dialog" class="shareaholic-deactivate-dialog" data-remodal-id="' + plugin.basename + '">\
|
32 |
+
<div class="shareaholic-deactivate-header" style="background-image: url(' + plugin.logo + '); background-color: ' + plugin.bgcolor + ';"><div class="shareaholic-deactivate-text"><h2>' + plugin.translations.quick_feedback + '</h2></div></div>\
|
33 |
<div class="shareaholic-deactivate-body">\
|
34 |
<form>\
|
35 |
<input type="hidden" name="plugin"/>\
|
36 |
<div class="shareaholic-deactivate-body-foreword">\
|
37 |
+
' + plugin.translations.foreword + '\
|
38 |
</div>\
|
39 |
<ul class="shareaholic-deactivate-reasons"></ul>\
|
40 |
<div style="display:none;" id="shareaholic-deactivate-comment-area">\
|
41 |
+
<textarea class="shareaholic-deactivate-text-area" name="comment" rows="3" id="shareaholic-deactivate-comment" placeholder="' + plugin.translations.please_tell_us + '"/></textarea>\
|
42 |
+
<p class="shareaholic-deactivate-help">' + plugin.translations.ask_for_support + '</p>\
|
43 |
</div>\
|
44 |
<div class="shareaholic-deactivate-contact">\
|
45 |
+
' + plugin.translations.email_request + '\
|
46 |
</div>\
|
47 |
+
<input type="email" name="email" class="shareaholic-deactivate-input" value="' + plugin.email + '">\
|
48 |
<div class="shareaholic-deactivate-divider"></div>\
|
49 |
<div class="shareaholic-deactivate-dialog-footer">\
|
50 |
<span class="spinner" style="float: none;"></span> \
|
51 |
+
<input type="submit" class="button confirm button-secondary" id="shareaholic-deactivate-submit" value="' + plugin.translations.skip_and_deactivate + '"/>\
|
52 |
+
<button data-remodal-action="cancel" class="button button-secondary">' + plugin.translations.cancel + '</button>\
|
53 |
</div>\
|
54 |
</form>\
|
55 |
</div>\
|
66 |
function(event) {
|
67 |
var submit_input = $( element ).find( "input[type='submit']" );
|
68 |
var comment_textarea = $( element ).find( '#shareaholic-deactivate-comment-area' );
|
69 |
+
if (plugin.reasons_needing_comment.indexOf( event.target.value ) > -1) {
|
70 |
comment_textarea.appendTo( $( event.target ).parent().parent() );
|
71 |
comment_textarea.show();
|
72 |
} else {
|
73 |
comment_textarea.hide();
|
74 |
}
|
75 |
+
submit_input.val( decodeEntities( plugin.translations.submit_and_deactivate ) );
|
|
|
|
|
76 |
self.maybeDisableSubmit();
|
77 |
}
|
78 |
);
|
90 |
}
|
91 |
);
|
92 |
|
93 |
+
// Reasons list.
|
94 |
var ul = $( element ).find( "ul.shareaholic-deactivate-reasons" );
|
95 |
for (var key in plugin.reasons) {
|
96 |
var li = $( "<li><label><input type='radio' name='reason'/> <span></span></label></li>" );
|
101 |
$( ul ).append( li );
|
102 |
}
|
103 |
|
104 |
+
// Listen for deactivate.
|
105 |
+
// Use either the "data-plugin" attribute (introduced in WP 4.5) or the "id" attribute (removed in WP 4.5)
|
106 |
+
// to identify our plugin's deactivation link.
|
107 |
+
var click_listen_selector = "#the-list [data-plugin='" + plugin.basename + "'] .deactivate>a";
|
108 |
+
if ( typeof plugin.title_slugged !== 'undefined') {
|
109 |
+
click_listen_selector += ", #" + plugin.title_slugged + " .deactivate>a";
|
110 |
+
}
|
111 |
+
$( click_listen_selector ).on(
|
112 |
"click",
|
113 |
function(event) {
|
114 |
self.onDeactivateClicked( event );
|
123 |
if (this.plugin.reasons_needing_comment.indexOf( reason_value ) > -1
|
124 |
&& comment_textarea.val().replace( /\s/g, '' ) === '') {
|
125 |
submit_input.prop( 'disabled',true );
|
126 |
+
submit_input.prop( 'title',this.plugin.translations.please_tell_us );
|
127 |
} else {
|
128 |
submit_input.prop( 'disabled',false );
|
129 |
submit_input.prop( 'title','' );
|
144 |
shareaholic.DeactivateFeedbackForm.prototype.onSubmit = function(event)
|
145 |
{
|
146 |
var element = this.element;
|
|
|
147 |
var self = this;
|
148 |
var data = this.plugin.send;
|
149 |
data.survey_response = {
|
150 |
contact:{
|
151 |
+
email: $( element ).find( "input[name='email']" ).val().trim().toLowerCase()
|
152 |
},
|
153 |
type:'uninstall',
|
154 |
data:{
|
158 |
};
|
159 |
|
160 |
$( element ).find( "button, input[type='submit']" ).prop( "disabled", true );
|
161 |
+
$( element ).find( "input[type='submit']" ).val( decodeEntities( this.plugin.translations.please_wait ) );
|
162 |
$( element ).find( "button, input[type='submit']" ).siblings( '.spinner' ).addClass( 'is-active' );
|
163 |
|
164 |
if ($( element ).find( "input[name='reason']:checked" ).length) {
|
186 |
|
187 |
$( document ).ready(
|
188 |
function() {
|
189 |
+
var plugins = shareaholic_deactivate_feedback_form_plugins.length;
|
190 |
+
for (var i = 0; i < plugins; i++) {
|
191 |
var plugin = shareaholic_deactivate_feedback_form_plugins[i];
|
192 |
new shareaholic.DeactivateFeedbackForm( plugin );
|
193 |
}
|
lib/plugin-deactivation-survey/deactivate-feedback-form.php
CHANGED
@@ -1,20 +1,30 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
if ( ! is_admin() ) {
|
3 |
return;
|
4 |
}
|
5 |
|
6 |
global $pagenow;
|
7 |
|
8 |
-
if (
|
9 |
return;
|
10 |
}
|
11 |
|
12 |
if ( ! function_exists( 'shareaholic_deactivate_feedback' ) ) {
|
|
|
|
|
|
|
|
|
13 |
function shareaholic_deactivate_feedback() {
|
14 |
-
// Plugins
|
15 |
/**
|
16 |
* Each plugin adds an array to this filtered value in order to register itself. Please see the callback
|
17 |
-
* to see the expected structure of the array
|
18 |
*/
|
19 |
$plugins = apply_filters( 'shareaholic_deactivate_feedback_form_plugins', array() );
|
20 |
|
@@ -22,22 +32,29 @@ if ( ! function_exists( 'shareaholic_deactivate_feedback' ) ) {
|
|
22 |
return;
|
23 |
}
|
24 |
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
|
30 |
wp_enqueue_script(
|
31 |
'shareaholic-deactivate-feedback-form',
|
32 |
plugin_dir_url( __FILE__ ) . 'deactivate-feedback-form.js',
|
33 |
array(),
|
34 |
-
|
|
|
35 |
);
|
36 |
wp_enqueue_style(
|
37 |
'shareaholic-deactivate-feedback-form',
|
38 |
plugin_dir_url( __FILE__ ) . 'deactivate-feedback-form.css',
|
39 |
array(),
|
40 |
-
|
41 |
);
|
42 |
|
43 |
$current_user = wp_get_current_user();
|
@@ -47,19 +64,11 @@ if ( ! function_exists( 'shareaholic_deactivate_feedback' ) ) {
|
|
47 |
$email = '';
|
48 |
}
|
49 |
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
'shareaholic_deactivate_feedback_form_strings',
|
54 |
-
array_merge(
|
55 |
-
$plugins[0]->translations,
|
56 |
-
array(
|
57 |
-
'email' => $email,
|
58 |
-
)
|
59 |
-
)
|
60 |
-
);
|
61 |
|
62 |
-
// Send plugin data
|
63 |
wp_localize_script(
|
64 |
'shareaholic-deactivate-feedback-form',
|
65 |
'shareaholic_deactivate_feedback_form_plugins',
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Displays a Feedback Form when a user clicks on the "Deactivate" link on the plugin settings page.
|
4 |
+
*
|
5 |
+
* @package shareaholic
|
6 |
+
*/
|
7 |
+
|
8 |
if ( ! is_admin() ) {
|
9 |
return;
|
10 |
}
|
11 |
|
12 |
global $pagenow;
|
13 |
|
14 |
+
if ( 'plugins.php' !== $pagenow ) {
|
15 |
return;
|
16 |
}
|
17 |
|
18 |
if ( ! function_exists( 'shareaholic_deactivate_feedback' ) ) {
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Handles adding required code for the feedback form
|
22 |
+
*/
|
23 |
function shareaholic_deactivate_feedback() {
|
24 |
+
// Plugins.
|
25 |
/**
|
26 |
* Each plugin adds an array to this filtered value in order to register itself. Please see the callback
|
27 |
+
* to see the expected structure of the array.
|
28 |
*/
|
29 |
$plugins = apply_filters( 'shareaholic_deactivate_feedback_form_plugins', array() );
|
30 |
|
32 |
return;
|
33 |
}
|
34 |
|
35 |
+
if ( $plugins[0] && $plugins[0]->script_cache_ver ) {
|
36 |
+
$script_cache_ver = $plugins[0]->script_cache_ver;
|
37 |
+
} else {
|
38 |
+
$script_cache_ver = '1.1.1';
|
39 |
+
}
|
40 |
+
|
41 |
+
// Enqueue scripts.
|
42 |
+
wp_enqueue_script( 'remodal', plugin_dir_url( __FILE__ ) . 'remodal.min.js', array(), $script_cache_ver, false );
|
43 |
+
wp_enqueue_style( 'remodal', plugin_dir_url( __FILE__ ) . 'remodal.css', array(), $script_cache_ver );
|
44 |
+
wp_enqueue_style( 'remodal-default-theme', plugin_dir_url( __FILE__ ) . 'remodal-default-theme.css', array(), $script_cache_ver );
|
45 |
|
46 |
wp_enqueue_script(
|
47 |
'shareaholic-deactivate-feedback-form',
|
48 |
plugin_dir_url( __FILE__ ) . 'deactivate-feedback-form.js',
|
49 |
array(),
|
50 |
+
$script_cache_ver,
|
51 |
+
false
|
52 |
);
|
53 |
wp_enqueue_style(
|
54 |
'shareaholic-deactivate-feedback-form',
|
55 |
plugin_dir_url( __FILE__ ) . 'deactivate-feedback-form.css',
|
56 |
array(),
|
57 |
+
$script_cache_ver
|
58 |
);
|
59 |
|
60 |
$current_user = wp_get_current_user();
|
64 |
$email = '';
|
65 |
}
|
66 |
|
67 |
+
foreach ( $plugins as $plugin ) {
|
68 |
+
$plugin->email = $email;
|
69 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
+
// Send plugin data.
|
72 |
wp_localize_script(
|
73 |
'shareaholic-deactivate-feedback-form',
|
74 |
'shareaholic_deactivate_feedback_form_plugins',
|
lib/plugin-deactivation-survey/remodal-default-theme.css
CHANGED
@@ -1,168 +1,168 @@
|
|
1 |
/*
|
2 |
-
*
|
3 |
-
*
|
4 |
-
*
|
5 |
*
|
6 |
-
*
|
7 |
-
*
|
8 |
*/
|
9 |
|
10 |
/* ==========================================================================
|
11 |
-
|
12 |
-
|
13 |
|
14 |
/* Default theme styles of the overlay */
|
15 |
|
16 |
.remodal-overlay {
|
17 |
-
|
18 |
}
|
19 |
|
20 |
.remodal-overlay.remodal-is-opening,
|
21 |
.remodal-overlay.remodal-is-closing {
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
}
|
27 |
|
28 |
.remodal-overlay.remodal-is-opening {
|
29 |
-
|
30 |
-
|
31 |
}
|
32 |
|
33 |
.remodal-overlay.remodal-is-closing {
|
34 |
-
|
35 |
-
|
36 |
}
|
37 |
|
38 |
/* Default theme styles of the wrapper */
|
39 |
|
40 |
.remodal-wrapper {
|
41 |
-
|
42 |
}
|
43 |
|
44 |
/* Default theme styles of the modal dialog */
|
45 |
|
46 |
.remodal {
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
|
52 |
-
|
53 |
-
|
54 |
|
55 |
-
|
56 |
-
|
57 |
}
|
58 |
|
59 |
.remodal.remodal-is-opening {
|
60 |
-
|
61 |
-
|
62 |
}
|
63 |
|
64 |
.remodal.remodal-is-closing {
|
65 |
-
|
66 |
-
|
67 |
}
|
68 |
|
69 |
/* Vertical align of the modal dialog */
|
70 |
|
71 |
.remodal,
|
72 |
.remodal-wrapper:after {
|
73 |
-
|
74 |
}
|
75 |
|
76 |
/* Close button */
|
77 |
|
78 |
.remodal-close {
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
}
|
101 |
|
102 |
.remodal-close:hover,
|
103 |
.remodal-close:focus {
|
104 |
-
|
105 |
}
|
106 |
|
107 |
.remodal-close:before {
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
|
116 |
-
|
117 |
|
118 |
-
|
119 |
|
120 |
-
|
121 |
-
|
122 |
}
|
123 |
|
124 |
/* Dialog buttons */
|
125 |
|
126 |
.remodal-confirm,
|
127 |
.remodal-cancel {
|
128 |
-
|
129 |
|
130 |
-
|
131 |
-
|
132 |
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
|
144 |
-
|
145 |
-
|
146 |
}
|
147 |
|
148 |
.remodal-confirm {
|
149 |
-
|
150 |
-
|
151 |
}
|
152 |
|
153 |
.remodal-confirm:hover,
|
154 |
.remodal-confirm:focus {
|
155 |
-
|
156 |
}
|
157 |
|
158 |
.remodal-cancel {
|
159 |
-
|
160 |
-
|
161 |
}
|
162 |
|
163 |
.remodal-cancel:hover,
|
164 |
.remodal-cancel:focus {
|
165 |
-
|
166 |
}
|
167 |
|
168 |
/* Remove inner padding and border in Firefox 4+ for the button tag. */
|
@@ -170,22 +170,22 @@
|
|
170 |
.remodal-confirm::-moz-focus-inner,
|
171 |
.remodal-cancel::-moz-focus-inner,
|
172 |
.remodal-close::-moz-focus-inner {
|
173 |
-
|
174 |
|
175 |
-
|
176 |
}
|
177 |
|
178 |
/* Keyframes
|
179 |
-
|
180 |
|
181 |
@-webkit-keyframes remodal-opening-keyframes {
|
182 |
-
|
183 |
-webkit-transform: scale(1.05);
|
184 |
transform: scale(1.05);
|
185 |
|
186 |
opacity: 0;
|
187 |
-
|
188 |
-
|
189 |
-webkit-transform: none;
|
190 |
transform: none;
|
191 |
|
@@ -193,17 +193,17 @@
|
|
193 |
|
194 |
-webkit-filter: blur(0);
|
195 |
filter: blur(0);
|
196 |
-
|
197 |
}
|
198 |
|
199 |
@keyframes remodal-opening-keyframes {
|
200 |
-
|
201 |
-webkit-transform: scale(1.05);
|
202 |
transform: scale(1.05);
|
203 |
|
204 |
opacity: 0;
|
205 |
-
|
206 |
-
|
207 |
-webkit-transform: none;
|
208 |
transform: none;
|
209 |
|
@@ -211,17 +211,17 @@
|
|
211 |
|
212 |
-webkit-filter: blur(0);
|
213 |
filter: blur(0);
|
214 |
-
|
215 |
}
|
216 |
|
217 |
@-webkit-keyframes remodal-closing-keyframes {
|
218 |
-
|
219 |
-webkit-transform: scale(1);
|
220 |
transform: scale(1);
|
221 |
|
222 |
opacity: 1;
|
223 |
-
|
224 |
-
|
225 |
-webkit-transform: scale(0.95);
|
226 |
transform: scale(0.95);
|
227 |
|
@@ -229,17 +229,17 @@
|
|
229 |
|
230 |
-webkit-filter: blur(0);
|
231 |
filter: blur(0);
|
232 |
-
|
233 |
}
|
234 |
|
235 |
@keyframes remodal-closing-keyframes {
|
236 |
-
|
237 |
-webkit-transform: scale(1);
|
238 |
transform: scale(1);
|
239 |
|
240 |
opacity: 1;
|
241 |
-
|
242 |
-
|
243 |
-webkit-transform: scale(0.95);
|
244 |
transform: scale(0.95);
|
245 |
|
@@ -247,61 +247,61 @@
|
|
247 |
|
248 |
-webkit-filter: blur(0);
|
249 |
filter: blur(0);
|
250 |
-
|
251 |
}
|
252 |
|
253 |
@-webkit-keyframes remodal-overlay-opening-keyframes {
|
254 |
-
|
255 |
opacity: 0;
|
256 |
-
|
257 |
-
|
258 |
opacity: 1;
|
259 |
-
|
260 |
}
|
261 |
|
262 |
@keyframes remodal-overlay-opening-keyframes {
|
263 |
-
|
264 |
opacity: 0;
|
265 |
-
|
266 |
-
|
267 |
opacity: 1;
|
268 |
-
|
269 |
}
|
270 |
|
271 |
@-webkit-keyframes remodal-overlay-closing-keyframes {
|
272 |
-
|
273 |
opacity: 1;
|
274 |
-
|
275 |
-
|
276 |
opacity: 0;
|
277 |
-
|
278 |
}
|
279 |
|
280 |
@keyframes remodal-overlay-closing-keyframes {
|
281 |
-
|
282 |
opacity: 1;
|
283 |
-
|
284 |
-
|
285 |
opacity: 0;
|
286 |
-
|
287 |
}
|
288 |
|
289 |
/* Media queries
|
290 |
-
|
291 |
|
292 |
@media only screen and (min-width: 641px) {
|
293 |
-
|
294 |
max-width: 550px;
|
295 |
-
|
296 |
}
|
297 |
|
298 |
/* IE8
|
299 |
-
|
300 |
|
301 |
.lt-ie9 .remodal-overlay {
|
302 |
-
|
303 |
}
|
304 |
|
305 |
.lt-ie9 .remodal {
|
306 |
-
|
307 |
}
|
1 |
/*
|
2 |
+
* Remodal - v1.1.1
|
3 |
+
* Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
|
4 |
+
* http://vodkabears.github.io/remodal/
|
5 |
*
|
6 |
+
* Made by Ilya Makarov
|
7 |
+
* Under MIT License
|
8 |
*/
|
9 |
|
10 |
/* ==========================================================================
|
11 |
+
Remodal's default mobile first theme
|
12 |
+
========================================================================== */
|
13 |
|
14 |
/* Default theme styles of the overlay */
|
15 |
|
16 |
.remodal-overlay {
|
17 |
+
background: rgba(43, 46, 56, 0.7);
|
18 |
}
|
19 |
|
20 |
.remodal-overlay.remodal-is-opening,
|
21 |
.remodal-overlay.remodal-is-closing {
|
22 |
+
-webkit-animation-duration: 0.1s;
|
23 |
+
animation-duration: 0.1s;
|
24 |
+
-webkit-animation-fill-mode: forwards;
|
25 |
+
animation-fill-mode: forwards;
|
26 |
}
|
27 |
|
28 |
.remodal-overlay.remodal-is-opening {
|
29 |
+
-webkit-animation-name: remodal-overlay-opening-keyframes;
|
30 |
+
animation-name: remodal-overlay-opening-keyframes;
|
31 |
}
|
32 |
|
33 |
.remodal-overlay.remodal-is-closing {
|
34 |
+
-webkit-animation-name: remodal-overlay-closing-keyframes;
|
35 |
+
animation-name: remodal-overlay-closing-keyframes;
|
36 |
}
|
37 |
|
38 |
/* Default theme styles of the wrapper */
|
39 |
|
40 |
.remodal-wrapper {
|
41 |
+
padding: 10px 10px 0;
|
42 |
}
|
43 |
|
44 |
/* Default theme styles of the modal dialog */
|
45 |
|
46 |
.remodal {
|
47 |
+
box-sizing: border-box;
|
48 |
+
width: 100%;
|
49 |
+
margin-bottom: 10px;
|
50 |
+
padding: 30px 30px 5px 30px;
|
51 |
|
52 |
+
-webkit-transform: translate3d(0, 0, 0);
|
53 |
+
transform: translate3d(0, 0, 0);
|
54 |
|
55 |
+
color: #2b2e38;
|
56 |
+
background: #fff;
|
57 |
}
|
58 |
|
59 |
.remodal.remodal-is-opening {
|
60 |
+
-webkit-animation-name: remodal-opening-keyframes;
|
61 |
+
animation-name: remodal-opening-keyframes;
|
62 |
}
|
63 |
|
64 |
.remodal.remodal-is-closing {
|
65 |
+
-webkit-animation-name: remodal-closing-keyframes;
|
66 |
+
animation-name: remodal-closing-keyframes;
|
67 |
}
|
68 |
|
69 |
/* Vertical align of the modal dialog */
|
70 |
|
71 |
.remodal,
|
72 |
.remodal-wrapper:after {
|
73 |
+
vertical-align: middle;
|
74 |
}
|
75 |
|
76 |
/* Close button */
|
77 |
|
78 |
.remodal-close {
|
79 |
+
position: absolute;
|
80 |
+
top: 0;
|
81 |
+
left: 0;
|
82 |
+
|
83 |
+
display: block;
|
84 |
+
overflow: visible;
|
85 |
+
|
86 |
+
width: 35px;
|
87 |
+
height: 35px;
|
88 |
+
margin: 0;
|
89 |
+
padding: 0;
|
90 |
+
|
91 |
+
cursor: pointer;
|
92 |
+
-webkit-transition: color 0.2s;
|
93 |
+
transition: color 0.2s;
|
94 |
+
text-decoration: none;
|
95 |
+
|
96 |
+
color: #95979c;
|
97 |
+
border: 0;
|
98 |
+
outline: 0;
|
99 |
+
background: transparent;
|
100 |
}
|
101 |
|
102 |
.remodal-close:hover,
|
103 |
.remodal-close:focus {
|
104 |
+
color: #2b2e38;
|
105 |
}
|
106 |
|
107 |
.remodal-close:before {
|
108 |
+
font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
|
109 |
+
font-size: 25px;
|
110 |
+
line-height: 35px;
|
111 |
|
112 |
+
position: absolute;
|
113 |
+
top: 0;
|
114 |
+
left: 0;
|
115 |
|
116 |
+
display: block;
|
117 |
|
118 |
+
width: 35px;
|
119 |
|
120 |
+
content: "\00d7";
|
121 |
+
text-align: center;
|
122 |
}
|
123 |
|
124 |
/* Dialog buttons */
|
125 |
|
126 |
.remodal-confirm,
|
127 |
.remodal-cancel {
|
128 |
+
font: inherit;
|
129 |
|
130 |
+
display: inline-block;
|
131 |
+
overflow: visible;
|
132 |
|
133 |
+
min-width: 110px;
|
134 |
+
margin: 0;
|
135 |
+
padding: 12px 0;
|
136 |
|
137 |
+
cursor: pointer;
|
138 |
+
-webkit-transition: background 0.2s;
|
139 |
+
transition: background 0.2s;
|
140 |
+
text-align: center;
|
141 |
+
vertical-align: middle;
|
142 |
+
text-decoration: none;
|
143 |
|
144 |
+
border: 0;
|
145 |
+
outline: 0;
|
146 |
}
|
147 |
|
148 |
.remodal-confirm {
|
149 |
+
color: #fff;
|
150 |
+
background: #81c784;
|
151 |
}
|
152 |
|
153 |
.remodal-confirm:hover,
|
154 |
.remodal-confirm:focus {
|
155 |
+
background: #66bb6a;
|
156 |
}
|
157 |
|
158 |
.remodal-cancel {
|
159 |
+
color: #fff;
|
160 |
+
background: #e57373;
|
161 |
}
|
162 |
|
163 |
.remodal-cancel:hover,
|
164 |
.remodal-cancel:focus {
|
165 |
+
background: #ef5350;
|
166 |
}
|
167 |
|
168 |
/* Remove inner padding and border in Firefox 4+ for the button tag. */
|
170 |
.remodal-confirm::-moz-focus-inner,
|
171 |
.remodal-cancel::-moz-focus-inner,
|
172 |
.remodal-close::-moz-focus-inner {
|
173 |
+
padding: 0;
|
174 |
|
175 |
+
border: 0;
|
176 |
}
|
177 |
|
178 |
/* Keyframes
|
179 |
+
========================================================================== */
|
180 |
|
181 |
@-webkit-keyframes remodal-opening-keyframes {
|
182 |
+
from {
|
183 |
-webkit-transform: scale(1.05);
|
184 |
transform: scale(1.05);
|
185 |
|
186 |
opacity: 0;
|
187 |
+
}
|
188 |
+
to {
|
189 |
-webkit-transform: none;
|
190 |
transform: none;
|
191 |
|
193 |
|
194 |
-webkit-filter: blur(0);
|
195 |
filter: blur(0);
|
196 |
+
}
|
197 |
}
|
198 |
|
199 |
@keyframes remodal-opening-keyframes {
|
200 |
+
from {
|
201 |
-webkit-transform: scale(1.05);
|
202 |
transform: scale(1.05);
|
203 |
|
204 |
opacity: 0;
|
205 |
+
}
|
206 |
+
to {
|
207 |
-webkit-transform: none;
|
208 |
transform: none;
|
209 |
|
211 |
|
212 |
-webkit-filter: blur(0);
|
213 |
filter: blur(0);
|
214 |
+
}
|
215 |
}
|
216 |
|
217 |
@-webkit-keyframes remodal-closing-keyframes {
|
218 |
+
from {
|
219 |
-webkit-transform: scale(1);
|
220 |
transform: scale(1);
|
221 |
|
222 |
opacity: 1;
|
223 |
+
}
|
224 |
+
to {
|
225 |
-webkit-transform: scale(0.95);
|
226 |
transform: scale(0.95);
|
227 |
|
229 |
|
230 |
-webkit-filter: blur(0);
|
231 |
filter: blur(0);
|
232 |
+
}
|
233 |
}
|
234 |
|
235 |
@keyframes remodal-closing-keyframes {
|
236 |
+
from {
|
237 |
-webkit-transform: scale(1);
|
238 |
transform: scale(1);
|
239 |
|
240 |
opacity: 1;
|
241 |
+
}
|
242 |
+
to {
|
243 |
-webkit-transform: scale(0.95);
|
244 |
transform: scale(0.95);
|
245 |
|
247 |
|
248 |
-webkit-filter: blur(0);
|
249 |
filter: blur(0);
|
250 |
+
}
|
251 |
}
|
252 |
|
253 |
@-webkit-keyframes remodal-overlay-opening-keyframes {
|
254 |
+
from {
|
255 |
opacity: 0;
|
256 |
+
}
|
257 |
+
to {
|
258 |
opacity: 1;
|
259 |
+
}
|
260 |
}
|
261 |
|
262 |
@keyframes remodal-overlay-opening-keyframes {
|
263 |
+
from {
|
264 |
opacity: 0;
|
265 |
+
}
|
266 |
+
to {
|
267 |
opacity: 1;
|
268 |
+
}
|
269 |
}
|
270 |
|
271 |
@-webkit-keyframes remodal-overlay-closing-keyframes {
|
272 |
+
from {
|
273 |
opacity: 1;
|
274 |
+
}
|
275 |
+
to {
|
276 |
opacity: 0;
|
277 |
+
}
|
278 |
}
|
279 |
|
280 |
@keyframes remodal-overlay-closing-keyframes {
|
281 |
+
from {
|
282 |
opacity: 1;
|
283 |
+
}
|
284 |
+
to {
|
285 |
opacity: 0;
|
286 |
+
}
|
287 |
}
|
288 |
|
289 |
/* Media queries
|
290 |
+
========================================================================== */
|
291 |
|
292 |
@media only screen and (min-width: 641px) {
|
293 |
+
.remodal {
|
294 |
max-width: 550px;
|
295 |
+
}
|
296 |
}
|
297 |
|
298 |
/* IE8
|
299 |
+
========================================================================== */
|
300 |
|
301 |
.lt-ie9 .remodal-overlay {
|
302 |
+
background: #2b2e38;
|
303 |
}
|
304 |
|
305 |
.lt-ie9 .remodal {
|
306 |
+
width: 550px;
|
307 |
}
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Requires at least: 3.7
|
|
5 |
Requires PHP: 5.3
|
6 |
License: GPLv2 or later
|
7 |
Tested up to: 5.4
|
8 |
-
Stable tag: 5.1.
|
9 |
|
10 |
Display a list of related posts on your site based on a powerful unique algorithm. Optionally, earn money by including sponsored content.
|
11 |
|
@@ -262,6 +262,10 @@ add_action(
|
|
262 |
`
|
263 |
|
264 |
== Changelog ==
|
|
|
|
|
|
|
|
|
265 |
= 5.1.5 (2020-05-11) =
|
266 |
* Bugfix: Use correct deactivation reason code
|
267 |
|
@@ -931,6 +935,6 @@ After a break of many years, the plugin is 100% supported now that the baton has
|
|
931 |
* Initial upload
|
932 |
|
933 |
== Upgrade Notice ==
|
934 |
-
= 5.1.
|
935 |
We update this plugin regularly so we can make it better for you. Update to the latest version for all of the available features and improvements. Thank you for using YARPP!
|
936 |
|
5 |
Requires PHP: 5.3
|
6 |
License: GPLv2 or later
|
7 |
Tested up to: 5.4
|
8 |
+
Stable tag: 5.1.6
|
9 |
|
10 |
Display a list of related posts on your site based on a powerful unique algorithm. Optionally, earn money by including sponsored content.
|
11 |
|
262 |
`
|
263 |
|
264 |
== Changelog ==
|
265 |
+
= 5.1.6 (2020-05-15) =
|
266 |
+
* [Bugfix](https://wordpress.org/support/topic/403-when-saving-changes/): 403 error when saving changes resolved
|
267 |
+
* Enhancement: Feedback form enhancements
|
268 |
+
|
269 |
= 5.1.5 (2020-05-11) =
|
270 |
* Bugfix: Use correct deactivation reason code
|
271 |
|
935 |
* Initial upload
|
936 |
|
937 |
== Upgrade Notice ==
|
938 |
+
= 5.1.6 =
|
939 |
We update this plugin regularly so we can make it better for you. Update to the latest version for all of the available features and improvements. Thank you for using YARPP!
|
940 |
|
yarpp.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: Yet Another Related Posts Plugin (YARPP)
|
4 |
Description: Adds related posts to your site and in RSS feeds, based on a powerful, customizable algorithm.
|
5 |
-
Version: 5.1.
|
6 |
Author: YARPP
|
7 |
Author URI: https://yarpp.com/
|
8 |
Plugin URI: https://yarpp.com/
|
@@ -23,7 +23,7 @@ if(!defined('WP_CONTENT_DIR')){
|
|
23 |
define('WP_CONTENT_DIR', substr($tr,0,strrpos($tr,'/')));
|
24 |
}
|
25 |
|
26 |
-
define('YARPP_VERSION', '5.1.
|
27 |
|
28 |
define('YARPP_DIR', dirname(__FILE__));
|
29 |
define('YARPP_URL', plugins_url('',__FILE__));
|
2 |
/*
|
3 |
Plugin Name: Yet Another Related Posts Plugin (YARPP)
|
4 |
Description: Adds related posts to your site and in RSS feeds, based on a powerful, customizable algorithm.
|
5 |
+
Version: 5.1.6
|
6 |
Author: YARPP
|
7 |
Author URI: https://yarpp.com/
|
8 |
Plugin URI: https://yarpp.com/
|
23 |
define('WP_CONTENT_DIR', substr($tr,0,strrpos($tr,'/')));
|
24 |
}
|
25 |
|
26 |
+
define('YARPP_VERSION', '5.1.6');
|
27 |
|
28 |
define('YARPP_DIR', dirname(__FILE__));
|
29 |
define('YARPP_URL', plugins_url('',__FILE__));
|