Version Description
- Added option only converting external
<a>tags to XHTML valid code - Changed script attribute
languagetotype
Download this release
Release Info
| Developer | freelancephp |
| Plugin | |
| Version | 0.34 |
| Comparing to | |
| See all releases | |
Code changes from version 0.33 to 0.34
- readme.txt +13 -3
- wp-external-links.php +30 -14
readme.txt
CHANGED
|
@@ -2,8 +2,8 @@
|
|
| 2 |
Contributors: freelancephp
|
| 3 |
Tags: links, external, new window, icon, target, _blank, _new, _top, _none, rel, nofollow, javascript, xhtml strict
|
| 4 |
Requires at least: 2.7.0
|
| 5 |
-
Tested up to: 3.1.
|
| 6 |
-
Stable tag: 0.
|
| 7 |
|
| 8 |
Manage external links on your site: open in new window/tab, set link icon, add "external", add "nofollow" and more.
|
| 9 |
|
|
@@ -52,13 +52,20 @@ In the last case when using the JavaScript method and jQuery the link would stil
|
|
| 52 |
|
| 53 |
== Other notes ==
|
| 54 |
|
|
|
|
|
|
|
|
|
|
| 55 |
= Credits =
|
| 56 |
* Title icon on Admin Options Page was made by [FatCow Web Hosting](http://www.fatcow.com/) taken form [iconfinder](http://findicons.com/icon/164579/link_go?id=427009)
|
| 57 |
|
| 58 |
== Changelog ==
|
| 59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 60 |
= 0.33 =
|
| 61 |
-
*
|
| 62 |
* Fixed PHP / WP notices
|
| 63 |
|
| 64 |
= 0.32 =
|
|
@@ -99,6 +106,9 @@ In the last case when using the JavaScript method and jQuery the link would stil
|
|
| 99 |
|
| 100 |
== Upgrade Notice ==
|
| 101 |
|
|
|
|
|
|
|
|
|
|
| 102 |
= 0.33 =
|
| 103 |
* Add option to fix js problem
|
| 104 |
* Fixed PHP / WP notices
|
| 2 |
Contributors: freelancephp
|
| 3 |
Tags: links, external, new window, icon, target, _blank, _new, _top, _none, rel, nofollow, javascript, xhtml strict
|
| 4 |
Requires at least: 2.7.0
|
| 5 |
+
Tested up to: 3.1.3
|
| 6 |
+
Stable tag: 0.34
|
| 7 |
|
| 8 |
Manage external links on your site: open in new window/tab, set link icon, add "external", add "nofollow" and more.
|
| 9 |
|
| 52 |
|
| 53 |
== Other notes ==
|
| 54 |
|
| 55 |
+
= TODO =
|
| 56 |
+
* Add a way to exclude links from being filtered
|
| 57 |
+
|
| 58 |
= Credits =
|
| 59 |
* Title icon on Admin Options Page was made by [FatCow Web Hosting](http://www.fatcow.com/) taken form [iconfinder](http://findicons.com/icon/164579/link_go?id=427009)
|
| 60 |
|
| 61 |
== Changelog ==
|
| 62 |
|
| 63 |
+
= 0.34 =
|
| 64 |
+
* Added option only converting external `<a>` tags to XHTML valid code
|
| 65 |
+
* Changed script attribute `language` to `type`
|
| 66 |
+
|
| 67 |
= 0.33 =
|
| 68 |
+
* Added option to fix js problem
|
| 69 |
* Fixed PHP / WP notices
|
| 70 |
|
| 71 |
= 0.32 =
|
| 106 |
|
| 107 |
== Upgrade Notice ==
|
| 108 |
|
| 109 |
+
= 0.34 =
|
| 110 |
+
* Solved some issues
|
| 111 |
+
|
| 112 |
= 0.33 =
|
| 113 |
* Add option to fix js problem
|
| 114 |
* Fixed PHP / WP notices
|
wp-external-links.php
CHANGED
|
@@ -4,7 +4,7 @@ Plugin Name: WP External Links
|
|
| 4 |
Plugin URI: http://www.freelancephp.net/wp-external-links-plugin
|
| 5 |
Description: Manage external links on your site: open in new window/tab, set link icon, add "external", add "nofollow" and more.
|
| 6 |
Author: Victor Villaverde Laan
|
| 7 |
-
Version: 0.
|
| 8 |
Author URI: http://www.freelancephp.net
|
| 9 |
License: Dual licensed under the MIT and GPL licenses
|
| 10 |
*/
|
|
@@ -19,7 +19,7 @@ class WP_External_Links {
|
|
| 19 |
* Current version
|
| 20 |
* @var string
|
| 21 |
*/
|
| 22 |
-
var $version = '0.
|
| 23 |
|
| 24 |
/**
|
| 25 |
* Used as prefix for options entry and could be used as text domain (for translations)
|
|
@@ -46,11 +46,13 @@ class WP_External_Links {
|
|
| 46 |
'filter_posts' => 1,
|
| 47 |
'filter_comments' => 1,
|
| 48 |
'filter_widgets' => 1,
|
| 49 |
-
'fix_js' =>
|
|
|
|
| 50 |
'icon' => 0,
|
| 51 |
'no_icon_class' => 'no-ext-icon',
|
| 52 |
'no_icon_same_window' => 0,
|
| 53 |
'class_name' => 'ext-link',
|
|
|
|
| 54 |
);
|
| 55 |
|
| 56 |
/**
|
|
@@ -80,7 +82,7 @@ class WP_External_Links {
|
|
| 80 |
$this->_set_options();
|
| 81 |
|
| 82 |
// load text domain for translations
|
| 83 |
-
load_plugin_textdomain( $this->domain, dirname(
|
| 84 |
|
| 85 |
// set uninstall hook
|
| 86 |
if ( function_exists( 'register_deactivation_hook' ) )
|
|
@@ -137,9 +139,8 @@ class WP_External_Links {
|
|
| 137 |
add_filter( 'widget_title', array( $this, 'filter_content' ), $priority );
|
| 138 |
add_filter( 'widget_text', array( $this, 'filter_content' ), $priority );
|
| 139 |
|
| 140 |
-
// Only if Widget Logic plugin is installed
|
| 141 |
-
|
| 142 |
-
//add_filter( 'widget_content', array( $this, 'filter_content' ), $priority );
|
| 143 |
}
|
| 144 |
}
|
| 145 |
}
|
|
@@ -165,7 +166,7 @@ class WP_External_Links {
|
|
| 165 |
? $this->options[ 'no_icon_class' ]
|
| 166 |
: '';
|
| 167 |
?>
|
| 168 |
-
<script
|
| 169 |
/* WP External Links Plugin */
|
| 170 |
var wpExtLinks = { baseUrl: '<?php echo get_bloginfo( 'url' ) ?>',target: '<?php echo $this->options[ 'target' ] ?>',excludeClass: '<?php echo $excludeClass ?>' };
|
| 171 |
/* ]]> */</script>
|
|
@@ -266,8 +267,10 @@ var wpExtLinks = { baseUrl: '<?php echo get_bloginfo( 'url' ) ?>',target: '<?php
|
|
| 266 |
// set target
|
| 267 |
if ( $this->options[ 'target' ] != '_none' AND ! $this->options[ 'use_js' ] AND ( ! $this->options[ 'no_icon_same_window' ] OR empty( $this->options[ 'no_icon_class' ] ) OR strpos( $attrs[ 'class' ], $this->options[ 'no_icon_class' ] ) === FALSE ) )
|
| 268 |
$attrs[ 'target' ] = $this->options[ 'target' ];
|
| 269 |
-
}
|
| 270 |
|
|
|
|
|
|
|
|
|
|
| 271 |
|
| 272 |
// create element code
|
| 273 |
$link = '<a ';
|
|
@@ -300,7 +303,7 @@ var wpExtLinks = { baseUrl: '<?php echo get_bloginfo( 'url' ) ?>',target: '<?php
|
|
| 300 |
*/
|
| 301 |
function options_page() {
|
| 302 |
?>
|
| 303 |
-
<script
|
| 304 |
jQuery(function( $ ){
|
| 305 |
// remove message
|
| 306 |
$( '.settings-error' )
|
|
@@ -333,7 +336,12 @@ jQuery(function( $ ){
|
|
| 333 |
$inside.css({ display:'none' }).slideDown();
|
| 334 |
}
|
| 335 |
});
|
| 336 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 337 |
</script>
|
| 338 |
<div class="wrap">
|
| 339 |
<div class="icon32" id="icon-options-custom" style="background:url( <?php echo plugins_url( 'images/icon-wp-external-links.png', __FILE__ ) ?> ) no-repeat 50% 50%"><br></div>
|
|
@@ -392,15 +400,17 @@ jQuery(function( $ ){
|
|
| 392 |
<br/> <label><input type="checkbox" name="<?php echo $this->options_name ?>[filter_comments]" id="filter_comments" value="1" <?php checked( '1', (int) $options['filter_comments'] ); ?> />
|
| 393 |
<span><?php _e( 'Comments', $this->domain ) ?></span></label>
|
| 394 |
<br/> <label><input type="checkbox" name="<?php echo $this->options_name ?>[filter_widgets]" id="filter_widgets" value="1" <?php checked( '1', (int) $options['filter_widgets'] ); ?> />
|
| 395 |
-
<span><?php _e( '
|
| 396 |
-
<br/>
|
| 397 |
-
<br/><span class="description"><?php _e( 'Note: all <code><a></code> tags in the selected contents will be converted to XHTML valid code' ) ?></span>
|
| 398 |
</td>
|
| 399 |
</tr>
|
| 400 |
<tr>
|
| 401 |
<th><?php _e( 'Solve problems...', $this->domain ) ?></th>
|
| 402 |
<td><label><input type="checkbox" name="<?php echo $this->options_name ?>[fix_js]" id="fix_js" value="1" <?php checked( '1', (int) $options['fix_js'] ); ?> />
|
| 403 |
<span><?php _e( 'Auto-fix javascript problem (by replacing <code></a></code> with <code><\/a></code> in js)', $this->domain ) ?></span></label>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 404 |
</td>
|
| 405 |
</tr>
|
| 406 |
</table>
|
|
@@ -545,6 +555,12 @@ jQuery(function( $ ){
|
|
| 545 |
$this->options[ $key ] = ( empty( $saved_options[ $key ] ) ) ? '' : $saved_options[ $key ];
|
| 546 |
}
|
| 547 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 548 |
}
|
| 549 |
|
| 550 |
} // end class WP_External_Links
|
| 4 |
Plugin URI: http://www.freelancephp.net/wp-external-links-plugin
|
| 5 |
Description: Manage external links on your site: open in new window/tab, set link icon, add "external", add "nofollow" and more.
|
| 6 |
Author: Victor Villaverde Laan
|
| 7 |
+
Version: 0.34
|
| 8 |
Author URI: http://www.freelancephp.net
|
| 9 |
License: Dual licensed under the MIT and GPL licenses
|
| 10 |
*/
|
| 19 |
* Current version
|
| 20 |
* @var string
|
| 21 |
*/
|
| 22 |
+
var $version = '0.34';
|
| 23 |
|
| 24 |
/**
|
| 25 |
* Used as prefix for options entry and could be used as text domain (for translations)
|
| 46 |
'filter_posts' => 1,
|
| 47 |
'filter_comments' => 1,
|
| 48 |
'filter_widgets' => 1,
|
| 49 |
+
'fix_js' => 0,
|
| 50 |
+
'fix_xhtml' => 0,
|
| 51 |
'icon' => 0,
|
| 52 |
'no_icon_class' => 'no-ext-icon',
|
| 53 |
'no_icon_same_window' => 0,
|
| 54 |
'class_name' => 'ext-link',
|
| 55 |
+
'widget_content_filter' => 0,
|
| 56 |
);
|
| 57 |
|
| 58 |
/**
|
| 82 |
$this->_set_options();
|
| 83 |
|
| 84 |
// load text domain for translations
|
| 85 |
+
load_plugin_textdomain( $this->domain, FALSE, dirname( plugin_basename( __FILE__ ) ) . '/lang/' );
|
| 86 |
|
| 87 |
// set uninstall hook
|
| 88 |
if ( function_exists( 'register_deactivation_hook' ) )
|
| 139 |
add_filter( 'widget_title', array( $this, 'filter_content' ), $priority );
|
| 140 |
add_filter( 'widget_text', array( $this, 'filter_content' ), $priority );
|
| 141 |
|
| 142 |
+
// Only if Widget Logic plugin is installed and 'widget_content' option is activated
|
| 143 |
+
add_filter( 'widget_content', array( $this, 'filter_content' ), $priority );
|
|
|
|
| 144 |
}
|
| 145 |
}
|
| 146 |
}
|
| 166 |
? $this->options[ 'no_icon_class' ]
|
| 167 |
: '';
|
| 168 |
?>
|
| 169 |
+
<script type="text/javascript">/* <![CDATA[ */
|
| 170 |
/* WP External Links Plugin */
|
| 171 |
var wpExtLinks = { baseUrl: '<?php echo get_bloginfo( 'url' ) ?>',target: '<?php echo $this->options[ 'target' ] ?>',excludeClass: '<?php echo $excludeClass ?>' };
|
| 172 |
/* ]]> */</script>
|
| 267 |
// set target
|
| 268 |
if ( $this->options[ 'target' ] != '_none' AND ! $this->options[ 'use_js' ] AND ( ! $this->options[ 'no_icon_same_window' ] OR empty( $this->options[ 'no_icon_class' ] ) OR strpos( $attrs[ 'class' ], $this->options[ 'no_icon_class' ] ) === FALSE ) )
|
| 269 |
$attrs[ 'target' ] = $this->options[ 'target' ];
|
|
|
|
| 270 |
|
| 271 |
+
} elseif ( $this->options[ 'fix_xhtml' ] ) {
|
| 272 |
+
return $match[ 0 ];
|
| 273 |
+
}
|
| 274 |
|
| 275 |
// create element code
|
| 276 |
$link = '<a ';
|
| 303 |
*/
|
| 304 |
function options_page() {
|
| 305 |
?>
|
| 306 |
+
<script type="text/javascript">
|
| 307 |
jQuery(function( $ ){
|
| 308 |
// remove message
|
| 309 |
$( '.settings-error' )
|
| 336 |
$inside.css({ display:'none' }).slideDown();
|
| 337 |
}
|
| 338 |
});
|
| 339 |
+
|
| 340 |
+
// note
|
| 341 |
+
$( '#fix_xhtml' ).change(function(){
|
| 342 |
+
$( '#xhtml_convert_all' ).css( 'display', $( this ).attr( 'checked' ) ? 'none' : 'block' );
|
| 343 |
+
}).change();
|
| 344 |
+
});
|
| 345 |
</script>
|
| 346 |
<div class="wrap">
|
| 347 |
<div class="icon32" id="icon-options-custom" style="background:url( <?php echo plugins_url( 'images/icon-wp-external-links.png', __FILE__ ) ?> ) no-repeat 50% 50%"><br></div>
|
| 400 |
<br/> <label><input type="checkbox" name="<?php echo $this->options_name ?>[filter_comments]" id="filter_comments" value="1" <?php checked( '1', (int) $options['filter_comments'] ); ?> />
|
| 401 |
<span><?php _e( 'Comments', $this->domain ) ?></span></label>
|
| 402 |
<br/> <label><input type="checkbox" name="<?php echo $this->options_name ?>[filter_widgets]" id="filter_widgets" value="1" <?php checked( '1', (int) $options['filter_widgets'] ); ?> />
|
| 403 |
+
<span><?php if ( $this->options[ 'widget_logic_filter' ] ) { _e( 'All widgets (uses the <code>widget_content</code> filter of the Widget Logic plugin)', $this->domain ); } else { _e( 'All text widgets', $this->domain ); } ?></span></label>
|
|
|
|
|
|
|
| 404 |
</td>
|
| 405 |
</tr>
|
| 406 |
<tr>
|
| 407 |
<th><?php _e( 'Solve problems...', $this->domain ) ?></th>
|
| 408 |
<td><label><input type="checkbox" name="<?php echo $this->options_name ?>[fix_js]" id="fix_js" value="1" <?php checked( '1', (int) $options['fix_js'] ); ?> />
|
| 409 |
<span><?php _e( 'Auto-fix javascript problem (by replacing <code></a></code> with <code><\/a></code> in js)', $this->domain ) ?></span></label>
|
| 410 |
+
<br/><label><input type="checkbox" name="<?php echo $this->options_name ?>[fix_xhtml]" id="fix_xhtml" value="1" <?php checked( '1', (int) $options['fix_xhtml'] ); ?> />
|
| 411 |
+
<span><?php _e( 'Only convert <strong>external</strong> links of the selected content to valid XHTML code (instead of all <a>-tags)', $this->domain ) ?></span></label>
|
| 412 |
+
<br/>
|
| 413 |
+
<br/><span id="xhtml_convert_all" class="description"><?php _e( 'Note: all <code><a></code> tags in the selected contents will be converted to XHTML valid code' ) ?></span>
|
| 414 |
</td>
|
| 415 |
</tr>
|
| 416 |
</table>
|
| 555 |
$this->options[ $key ] = ( empty( $saved_options[ $key ] ) ) ? '' : $saved_options[ $key ];
|
| 556 |
}
|
| 557 |
}
|
| 558 |
+
|
| 559 |
+
// set widget_content filter of Widget Logic plugin
|
| 560 |
+
$widget_logic_opts = get_option( 'widget_logic' );
|
| 561 |
+
if ( key_exists( 'widget_logic-options-filter', $widget_logic_opts ) ) {
|
| 562 |
+
$this->options[ 'widget_logic_filter' ] = ( $widget_logic_opts[ 'widget_logic-options-filter' ] == 'checked' ) ? 1 : 0;
|
| 563 |
+
}
|
| 564 |
}
|
| 565 |
|
| 566 |
} // end class WP_External_Links
|
