Version Description
- Bug Fix: Visual editor breaks on text widgets
- Bug Fix: Conflict with Shortcoder plugin
- Bug Fix: Tour keeps popping up
Download this release
Release Info
Developer | jkohlbach |
Plugin | ThirstyAffiliates Affiliate Link Manager |
Version | 3.0.3 |
Comparing to | |
See all releases |
Code changes from version 3.0.2 to 3.0.3
- Helpers/Helper_Functions.php +1 -1
- Helpers/Plugin_Constants.php +1 -1
- Models/Guided_Tour.php +3 -0
- Models/Link_Picker.php +1 -1
- Models/Script_Loader.php +18 -15
- js/app/ta-editor.js +19 -5
- js/lib/thirstymce/editor-plugin.js +4 -0
- readme.txt +7 -2
- thirstyaffiliates.php +1 -1
Helpers/Helper_Functions.php
CHANGED
@@ -225,7 +225,7 @@ class Helper_Functions {
|
|
225 |
*/
|
226 |
public function check_if_valid_save_post_action( $post_id , $post_type ) {
|
227 |
|
228 |
-
if ( wp_is_post_autosave( $post_id ) || wp_is_post_revision( $post_id ) || !current_user_can( 'edit_page' , $post_id )
|
229 |
return false;
|
230 |
else
|
231 |
return true;
|
225 |
*/
|
226 |
public function check_if_valid_save_post_action( $post_id , $post_type ) {
|
227 |
|
228 |
+
if ( get_post_type() != $post_type || empty( $_POST ) || wp_is_post_autosave( $post_id ) || wp_is_post_revision( $post_id ) || !current_user_can( 'edit_page' , $post_id ) )
|
229 |
return false;
|
230 |
else
|
231 |
return true;
|
Helpers/Plugin_Constants.php
CHANGED
@@ -27,7 +27,7 @@ class Plugin_Constants {
|
|
27 |
// Plugin configuration constants
|
28 |
const TOKEN = 'ta';
|
29 |
const INSTALLED_VERSION = 'ta_installed_version';
|
30 |
-
const VERSION = '3.0.
|
31 |
const TEXT_DOMAIN = 'thirstyaffiliates';
|
32 |
const THEME_TEMPLATE_PATH = 'thirstyaffiliates';
|
33 |
const META_DATA_PREFIX = '_ta_';
|
27 |
// Plugin configuration constants
|
28 |
const TOKEN = 'ta';
|
29 |
const INSTALLED_VERSION = 'ta_installed_version';
|
30 |
+
const VERSION = '3.0.3';
|
31 |
const TEXT_DOMAIN = 'thirstyaffiliates';
|
32 |
const THEME_TEMPLATE_PATH = 'thirstyaffiliates';
|
33 |
const META_DATA_PREFIX = '_ta_';
|
Models/Guided_Tour.php
CHANGED
@@ -332,6 +332,9 @@ class Guided_Tour implements Model_Interface , Activatable_Interface , Initiable
|
|
332 |
*/
|
333 |
private function set_guided_tour_status_open() {
|
334 |
|
|
|
|
|
|
|
335 |
update_option( 'ta_guided_tour_status' , 'open' );
|
336 |
}
|
337 |
|
332 |
*/
|
333 |
private function set_guided_tour_status_open() {
|
334 |
|
335 |
+
if ( get_option( 'ta_guided_tour_status' ) )
|
336 |
+
return;
|
337 |
+
|
338 |
update_option( 'ta_guided_tour_status' , 'open' );
|
339 |
}
|
340 |
|
Models/Link_Picker.php
CHANGED
@@ -124,7 +124,7 @@ class Link_Picker implements Model_Interface {
|
|
124 |
*/
|
125 |
public function init_thirsty_editor_buttons() {
|
126 |
|
127 |
-
if ( ! current_user_can( 'edit_posts' ) || ! current_user_can( 'edit_pages' ) )
|
128 |
return;
|
129 |
|
130 |
if ( get_option( 'ta_disable_visual_editor_buttons' ) == 'yes' || get_user_option( 'rich_editing' ) != 'true' )
|
124 |
*/
|
125 |
public function init_thirsty_editor_buttons() {
|
126 |
|
127 |
+
if ( ! is_admin() || ! current_user_can( 'edit_posts' ) || ! current_user_can( 'edit_pages' ) )
|
128 |
return;
|
129 |
|
130 |
if ( get_option( 'ta_disable_visual_editor_buttons' ) == 'yes' || get_user_option( 'rich_editing' ) != 'true' )
|
Models/Script_Loader.php
CHANGED
@@ -131,6 +131,24 @@ class Script_Loader implements Model_Interface {
|
|
131 |
wp_enqueue_script( 'review-request' , $this->_constants->JS_ROOT_URL() . 'app/ta-review-request.js' , array( 'jquery' ) , Plugin_Constants::VERSION , true );
|
132 |
}
|
133 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
if ( $screen->base === 'thirstylink_page_thirsty-settings' ) {
|
135 |
|
136 |
// Settings
|
@@ -189,21 +207,6 @@ class Script_Loader implements Model_Interface {
|
|
189 |
wp_enqueue_script( 'jquery_tiptip' , $this->_constants->JS_ROOT_URL() . 'lib/jquery-tiptip/jquery.tipTip.min.js' , array() , Plugin_Constants::VERSION , true );
|
190 |
wp_enqueue_script( 'ta_affiliate-link-page_js' , $this->_constants->JS_ROOT_URL() . 'app/affiliate_link_page/dist/affiliate-link-page.js' , array() , Plugin_Constants::VERSION , true );
|
191 |
|
192 |
-
} elseif ( ( $screen->base == 'post' || $screen->id == 'optimizepress_page_optimizepress-page-builder' ) && $post_type != Plugin_Constants::AFFILIATE_LINKS_CPT ) {
|
193 |
-
|
194 |
-
wp_enqueue_style( 'thickbox' );
|
195 |
-
wp_enqueue_style( 'thirstyaffiliates-tinymce' , $this->_constants->CSS_ROOT_URL() . 'admin/tinymce/editor.css' , Plugin_Constants::VERSION , 'screen' );
|
196 |
-
|
197 |
-
wp_enqueue_script( 'thickbox' , true );
|
198 |
-
wp_enqueue_script( 'ta_editor_js', $this->_constants->JS_ROOT_URL() . 'app/ta-editor.js', array( 'jquery' ), Plugin_Constants::VERSION , true );
|
199 |
-
wp_localize_script( 'ta_editor_js' , 'ta_editor_var' , array(
|
200 |
-
'insertion_type' => get_option( 'ta_link_insertion_type' , 'link' ),
|
201 |
-
'disable_qtag_buttons' => get_option( 'ta_disable_text_editor_buttons' , 'no' ),
|
202 |
-
'html_editor_affiliate_link_title' => __( 'Open the ThirstyAffiliates link picker' , 'thirstyaffiliates' ),
|
203 |
-
'html_editor_quick_add_title' => __( 'Open quick add affiliate link dialog' , 'thirstyaffiliates' ),
|
204 |
-
'simple_search_placeholder' => __( 'Type to search affiliate link' , 'thirstyaffiliates' )
|
205 |
-
) );
|
206 |
-
|
207 |
} elseif ( $screen->id == 'thirstylink_page_thirsty-reports' ) {
|
208 |
|
209 |
wp_enqueue_style( 'jquery-ui-styles' , '//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.min.css' , array() , '1.11.4', 'all' );
|
131 |
wp_enqueue_script( 'review-request' , $this->_constants->JS_ROOT_URL() . 'app/ta-review-request.js' , array( 'jquery' ) , Plugin_Constants::VERSION , true );
|
132 |
}
|
133 |
|
134 |
+
// Link picker styles and scripts.
|
135 |
+
if ( is_admin() && current_user_can( 'manage_options' ) && ! in_array( $screen->base , array( 'widgets' , 'customize' ) ) ) {
|
136 |
+
|
137 |
+
wp_enqueue_style( 'thirstyaffiliates-tinymce' , $this->_constants->CSS_ROOT_URL() . 'admin/tinymce/editor.css' , array( 'thickbox' ) , Plugin_Constants::VERSION , 'screen' );
|
138 |
+
|
139 |
+
wp_enqueue_script( 'ta_editor_js', $this->_constants->JS_ROOT_URL() . 'app/ta-editor.js', array( 'jquery' , 'thickbox' ), Plugin_Constants::VERSION , true );
|
140 |
+
wp_localize_script( 'ta_editor_js' , 'ta_editor_var' , array(
|
141 |
+
'insertion_type' => get_option( 'ta_link_insertion_type' , 'link' ),
|
142 |
+
'disable_qtag_buttons' => get_option( 'ta_disable_text_editor_buttons' , 'no' ),
|
143 |
+
'html_editor_affiliate_link_btn' => __( 'affiliate link' , 'thirstyaffiliates' ),
|
144 |
+
'html_editor_quick_add_btn' => __( 'affiliate link' , 'thirstyaffiliates' ),
|
145 |
+
'html_editor_affiliate_link_title' => __( 'Open the ThirstyAffiliates link picker' , 'thirstyaffiliates' ),
|
146 |
+
'html_editor_quick_add_title' => __( 'Open quick add affiliate link dialog' , 'thirstyaffiliates' ),
|
147 |
+
'simple_search_placeholder' => __( 'Type to search affiliate link' , 'thirstyaffiliates' )
|
148 |
+
) );
|
149 |
+
}
|
150 |
+
|
151 |
+
|
152 |
if ( $screen->base === 'thirstylink_page_thirsty-settings' ) {
|
153 |
|
154 |
// Settings
|
207 |
wp_enqueue_script( 'jquery_tiptip' , $this->_constants->JS_ROOT_URL() . 'lib/jquery-tiptip/jquery.tipTip.min.js' , array() , Plugin_Constants::VERSION , true );
|
208 |
wp_enqueue_script( 'ta_affiliate-link-page_js' , $this->_constants->JS_ROOT_URL() . 'app/affiliate_link_page/dist/affiliate-link-page.js' , array() , Plugin_Constants::VERSION , true );
|
209 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
210 |
} elseif ( $screen->id == 'thirstylink_page_thirsty-reports' ) {
|
211 |
|
212 |
wp_enqueue_style( 'jquery-ui-styles' , '//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.min.css' , array() , '1.11.4', 'all' );
|
js/app/ta-editor.js
CHANGED
@@ -6,6 +6,7 @@ jQuery( document ).ready( function($) {
|
|
6 |
editor : null,
|
7 |
editorinit : false,
|
8 |
linkNode : null,
|
|
|
9 |
inputInstance : null,
|
10 |
close_thickbox : function() {
|
11 |
tb_remove();
|
@@ -24,7 +25,7 @@ jQuery( document ).ready( function($) {
|
|
24 |
|
25 |
text_component = document.getElementById( "replycontent" );
|
26 |
if (typeof text_component == "undefined" || ! jQuery(text_component).is( ":visible" ) ) // is not a comment reply
|
27 |
-
text_component =
|
28 |
|
29 |
// IE version
|
30 |
if (parent.document.selection != undefined) {
|
@@ -36,7 +37,7 @@ jQuery( document ).ready( function($) {
|
|
36 |
}
|
37 |
|
38 |
// Mozilla version
|
39 |
-
else if (text_component.selectionStart != undefined) {
|
40 |
startPos = text_component.selectionStart;
|
41 |
endPos = text_component.selectionEnd;
|
42 |
selected_text.text = text_component.value.substring(startPos, endPos)
|
@@ -59,7 +60,7 @@ jQuery( document ).ready( function($) {
|
|
59 |
val;
|
60 |
|
61 |
if ( typeof el == "undefined" || ! $( el ).is( ":visible" ) ) // is not a comment reply
|
62 |
-
el =
|
63 |
|
64 |
val = el.value;
|
65 |
content = append ? sel.text + text : text;
|
@@ -101,8 +102,8 @@ jQuery( document ).ready( function($) {
|
|
101 |
*/
|
102 |
if ( typeof QTags != 'undefined' && ta_editor_var.disable_qtag_buttons !== 'yes' ) {
|
103 |
|
104 |
-
QTags.addButton( "thirstyaffiliates_aff_link",
|
105 |
-
QTags.addButton( "thirstyaffiliates_quick_add_aff_Link",
|
106 |
}
|
107 |
|
108 |
/**
|
@@ -112,12 +113,16 @@ jQuery( document ).ready( function($) {
|
|
112 |
*/
|
113 |
function ta_display_affiliate_link_thickbox() {
|
114 |
|
|
|
|
|
115 |
var post_id = $( '#post_ID' ).val();
|
116 |
tb_show( 'Add Affiliate Link' , window.ajaxurl + '?action=ta_advanced_add_affiliate_link&post_id=' + post_id + '&height=640&width=640&html_editor=true&TB_iframe=false' );
|
117 |
}
|
118 |
|
119 |
/**
|
120 |
* Function to display the quick add affiliate link thickbox for the HTML editor.
|
|
|
|
|
121 |
*/
|
122 |
function ta_display_quick_add_affiliate_thickbox() {
|
123 |
|
@@ -126,4 +131,13 @@ jQuery( document ).ready( function($) {
|
|
126 |
|
127 |
tb_show( 'Quick Add Affiliate Link' , window.ajaxurl + '?action=ta_quick_add_affiliate_link_thickbox&post_id=' + post_id + '&height=500&width=500&selection=' + selection + '&html_editor=true&TB_iframe=false' );
|
128 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
129 |
});
|
6 |
editor : null,
|
7 |
editorinit : false,
|
8 |
linkNode : null,
|
9 |
+
htmlEditor : null,
|
10 |
inputInstance : null,
|
11 |
close_thickbox : function() {
|
12 |
tb_remove();
|
25 |
|
26 |
text_component = document.getElementById( "replycontent" );
|
27 |
if (typeof text_component == "undefined" || ! jQuery(text_component).is( ":visible" ) ) // is not a comment reply
|
28 |
+
text_component = ThirstyLinkPicker.html_editor[0];
|
29 |
|
30 |
// IE version
|
31 |
if (parent.document.selection != undefined) {
|
37 |
}
|
38 |
|
39 |
// Mozilla version
|
40 |
+
else if ( typeof text_component == 'object' && text_component && text_component.selectionStart != undefined) {
|
41 |
startPos = text_component.selectionStart;
|
42 |
endPos = text_component.selectionEnd;
|
43 |
selected_text.text = text_component.value.substring(startPos, endPos)
|
60 |
val;
|
61 |
|
62 |
if ( typeof el == "undefined" || ! $( el ).is( ":visible" ) ) // is not a comment reply
|
63 |
+
el = ThirstyLinkPicker.html_editor[0];
|
64 |
|
65 |
val = el.value;
|
66 |
content = append ? sel.text + text : text;
|
102 |
*/
|
103 |
if ( typeof QTags != 'undefined' && ta_editor_var.disable_qtag_buttons !== 'yes' ) {
|
104 |
|
105 |
+
QTags.addButton( "thirstyaffiliates_aff_link", ta_editor_var.html_editor_affiliate_link_btn, ta_display_affiliate_link_thickbox , "" , "" , ta_editor_var.html_editor_affiliate_link_title , 30 );
|
106 |
+
QTags.addButton( "thirstyaffiliates_quick_add_aff_Link", ta_editor_var.html_editor_quick_add_btn, ta_display_quick_add_affiliate_thickbox , "" , "" , ta_editor_var.html_editor_quick_add_title , 31 );
|
107 |
}
|
108 |
|
109 |
/**
|
113 |
*/
|
114 |
function ta_display_affiliate_link_thickbox() {
|
115 |
|
116 |
+
|
117 |
+
|
118 |
var post_id = $( '#post_ID' ).val();
|
119 |
tb_show( 'Add Affiliate Link' , window.ajaxurl + '?action=ta_advanced_add_affiliate_link&post_id=' + post_id + '&height=640&width=640&html_editor=true&TB_iframe=false' );
|
120 |
}
|
121 |
|
122 |
/**
|
123 |
* Function to display the quick add affiliate link thickbox for the HTML editor.
|
124 |
+
*
|
125 |
+
* @since 3.0.0
|
126 |
*/
|
127 |
function ta_display_quick_add_affiliate_thickbox() {
|
128 |
|
131 |
|
132 |
tb_show( 'Quick Add Affiliate Link' , window.ajaxurl + '?action=ta_quick_add_affiliate_link_thickbox&post_id=' + post_id + '&height=500&width=500&selection=' + selection + '&html_editor=true&TB_iframe=false' );
|
133 |
}
|
134 |
+
|
135 |
+
/**
|
136 |
+
* Event: save the jQuery object of the html editor textarea to the ThirstyLinkPicker global variable so we can access it on other functions.
|
137 |
+
*
|
138 |
+
* @since 3.0.3
|
139 |
+
*/
|
140 |
+
$( 'body' ).on( 'click' , 'input[id*="thirstyaffiliates"]' , function() {
|
141 |
+
ThirstyLinkPicker.html_editor = $(this).closest( '.wp-editor-container' ).find( 'textarea.wp-editor-area' );
|
142 |
+
} );
|
143 |
});
|
js/lib/thirstymce/editor-plugin.js
CHANGED
@@ -1,5 +1,9 @@
|
|
1 |
( function( tinymce ) {
|
2 |
|
|
|
|
|
|
|
|
|
3 |
// ThirstyLinkInput input type object.
|
4 |
ThirstyLinkInputObj = {
|
5 |
renderHtml: function() {
|
1 |
( function( tinymce ) {
|
2 |
|
3 |
+
// don't run the file if global variable is not defined.
|
4 |
+
if( typeof parent.ta_editor_var != 'object' )
|
5 |
+
return;
|
6 |
+
|
7 |
// ThirstyLinkInput input type object.
|
8 |
ThirstyLinkInputObj = {
|
9 |
renderHtml: function() {
|
readme.txt
CHANGED
@@ -5,7 +5,7 @@ Tags: affiliate, link, affiliate link management, link cloaker, link redirect, s
|
|
5 |
Requires at least: 3.4
|
6 |
Requires PHP: 5.6
|
7 |
Tested up to: 4.8.2
|
8 |
-
Stable tag: 3.0.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -159,10 +159,15 @@ See our [Knowledge Base](https://thirstyaffiliates.com/knowledge-base/?utm_sourc
|
|
159 |
|
160 |
== Changelog ==
|
161 |
|
|
|
|
|
|
|
|
|
|
|
162 |
= 3.0.2 =
|
163 |
* Bug Fix: Link Fixer overrides existing CSS classes on the link
|
164 |
* Bug Fix: Link Fixer removes any query strings from the cloaked link
|
165 |
-
* Bug Fix: Properly handle special characters on the text in which the link is
|
166 |
* Bug Fix: Disabling link CSS and title globally won't work with Link Fixer
|
167 |
* Bug Fix: Fix typo on search placeholder on editor
|
168 |
* Bug Fix: Conflict with OptimizePress theme
|
5 |
Requires at least: 3.4
|
6 |
Requires PHP: 5.6
|
7 |
Tested up to: 4.8.2
|
8 |
+
Stable tag: 3.0.3
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
159 |
|
160 |
== Changelog ==
|
161 |
|
162 |
+
= 3.0.3 =
|
163 |
+
* Bug Fix: Visual editor breaks on text widgets
|
164 |
+
* Bug Fix: Conflict with Shortcoder plugin
|
165 |
+
* Bug Fix: Tour keeps popping up
|
166 |
+
|
167 |
= 3.0.2 =
|
168 |
* Bug Fix: Link Fixer overrides existing CSS classes on the link
|
169 |
* Bug Fix: Link Fixer removes any query strings from the cloaked link
|
170 |
+
* Bug Fix: Properly handle special characters on the text in which the link is attached
|
171 |
* Bug Fix: Disabling link CSS and title globally won't work with Link Fixer
|
172 |
* Bug Fix: Fix typo on search placeholder on editor
|
173 |
* Bug Fix: Conflict with OptimizePress theme
|
thirstyaffiliates.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: ThirstyAffiliates
|
4 |
* Plugin URI: http://thirstyaffiliates.com/
|
5 |
* Description: ThirstyAffiliates is a revolution in affiliate link management. Collect, collate and store your affiliate links for use in your posts and pages.
|
6 |
-
* Version: 3.0.
|
7 |
* Author: Rymera Web Co
|
8 |
* Author URI: https://rymera.com.au/
|
9 |
* Requires at least: 4.4.2
|
3 |
* Plugin Name: ThirstyAffiliates
|
4 |
* Plugin URI: http://thirstyaffiliates.com/
|
5 |
* Description: ThirstyAffiliates is a revolution in affiliate link management. Collect, collate and store your affiliate links for use in your posts and pages.
|
6 |
+
* Version: 3.0.3
|
7 |
* Author: Rymera Web Co
|
8 |
* Author URI: https://rymera.com.au/
|
9 |
* Requires at least: 4.4.2
|