Yet Another Related Posts Plugin (YARPP) - Version 5.1.6

Version Description

(2020-05-15) = * Bugfix: 403 error when saving changes resolved * Enhancement: Feedback form enhancements

Download this release

Release Info

Developer jeffparker
Plugin Icon 128x128 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 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__( 'Just so you know, you can visit %1$sthe support forum%2$s or %3$sread the FAQs%2$s for help.',
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
- 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,11 +48,11 @@
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,7 +65,7 @@
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,28 +75,28 @@
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
}
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>' + strings.quick_feedback + '</h2></div></div>\
23
<div class="shareaholic-deactivate-body">\
24
<form>\
25
<input type="hidden" name="plugin"/>\
26
<div class="shareaholic-deactivate-body-foreword">\
27
- ' + strings.foreword + '\
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="' + strings.please_tell_us + '"/></textarea>\
32
- <p class="shareaholic-deactivate-help">' + strings.ask_for_support + '</p>\
33
</div>\
34
<div class="shareaholic-deactivate-contact">\
35
- ' + strings.email_request + '\
36
</div>\
37
- <input type="email" name="email" class="shareaholic-deactivate-input" value="' + strings.email + '">\
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="' + strings.skip_and_deactivate + '"/>\
42
- <button data-remodal-action="cancel" class="button button-secondary">' + strings.cancel + '</button>\
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 (self.plugin.reasons_needing_comment.indexOf( event.target.value ) > -1) {
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
- $( "#the-list [data-plugin='" + plugin.basename + "'] .deactivate>a" ).on(
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',shareaholic_deactivate_feedback_form_strings.please_tell_us );
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( strings.please_wait );
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 < shareaholic_deactivate_feedback_form_plugins.length; 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 ( $pagenow != 'plugins.php' ) {
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
- // Enqueue scripts
26
- wp_enqueue_script( 'remodal', plugin_dir_url( __FILE__ ) . 'remodal.min.js', array(), '1.1.1' );
27
- wp_enqueue_style( 'remodal', plugin_dir_url( __FILE__ ) . 'remodal.css', array(), '1.1.1' );
28
- wp_enqueue_style( 'remodal-default-theme', plugin_dir_url( __FILE__ ) . 'remodal-default-theme.css', array(), '1.1.1' );
29
30
wp_enqueue_script(
31
'shareaholic-deactivate-feedback-form',
32
plugin_dir_url( __FILE__ ) . 'deactivate-feedback-form.js',
33
array(),
34
- '1.1.1'
35
);
36
wp_enqueue_style(
37
'shareaholic-deactivate-feedback-form',
38
plugin_dir_url( __FILE__ ) . 'deactivate-feedback-form.css',
39
array(),
40
- '1.1.1'
41
);
42
43
$current_user = wp_get_current_user();
@@ -47,19 +64,11 @@ if ( ! function_exists( 'shareaholic_deactivate_feedback' ) ) {
47
$email = '';
48
}
49
50
- // Localized strings
51
- wp_localize_script(
52
- 'shareaholic-deactivate-feedback-form',
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
- * 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,22 +170,22 @@
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,17 +193,17 @@
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,17 +211,17 @@
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,17 +229,17 @@
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,61 +247,61 @@
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
}
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.5
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.5 =
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.5
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.5');
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__));