Version Description
- A few minor comment fixes.
- Move certain styles to a separate CSS file, which is where they belong.
- Replace the ThemeFuse banner with one from ManageWP (will go live on June 5).
- Instead of displaying several plugins in the "More plugins by Janis Elsts" box, sometimes display just one plugin (AME).
Download this release
Release Info
| Developer | whiteshadow |
| Plugin | |
| Version | 1.5.2 |
| Comparing to | |
| See all releases | |
Code changes from version 1.5.1 to 1.5.2
- broken-link-checker.php +1 -1
- core/core.php +1 -1
- core/init.php +1 -1
- css/options-page.css +26 -0
- includes/admin/db-upgrade.php +2 -2
- includes/admin/sidebar.php +78 -25
- includes/link-query.php +5 -5
- includes/utility-class.php +21 -3
- readme.txt +7 -1
broken-link-checker.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
Plugin Name: Broken Link Checker
|
| 4 |
Plugin URI: http://w-shadow.com/blog/2007/08/05/broken-link-checker-for-wordpress/
|
| 5 |
Description: Checks your blog for broken links and missing images and notifies you on the dashboard if any are found.
|
| 6 |
-
Version: 1.5.
|
| 7 |
Author: Janis Elsts
|
| 8 |
Author URI: http://w-shadow.com/blog/
|
| 9 |
Text Domain: broken-link-checker
|
| 3 |
Plugin Name: Broken Link Checker
|
| 4 |
Plugin URI: http://w-shadow.com/blog/2007/08/05/broken-link-checker-for-wordpress/
|
| 5 |
Description: Checks your blog for broken links and missing images and notifies you on the dashboard if any are found.
|
| 6 |
+
Version: 1.5.2
|
| 7 |
Author: Janis Elsts
|
| 8 |
Author URI: http://w-shadow.com/blog/
|
| 9 |
Text Domain: broken-link-checker
|
core/core.php
CHANGED
|
@@ -1149,7 +1149,7 @@ class wsBrokenLinkChecker {
|
|
| 1149 |
* @return void
|
| 1150 |
*/
|
| 1151 |
function options_page_css(){
|
| 1152 |
-
wp_enqueue_style('blc-options-page', plugins_url('css/options-page.css', BLC_PLUGIN_FILE), array(), '
|
| 1153 |
wp_enqueue_style('dashboard');
|
| 1154 |
}
|
| 1155 |
|
| 1149 |
* @return void
|
| 1150 |
*/
|
| 1151 |
function options_page_css(){
|
| 1152 |
+
wp_enqueue_style('blc-options-page', plugins_url('css/options-page.css', BLC_PLUGIN_FILE), array(), '20120527' );
|
| 1153 |
wp_enqueue_style('dashboard');
|
| 1154 |
}
|
| 1155 |
|
core/init.php
CHANGED
|
@@ -108,7 +108,7 @@ $blc_config_manager = new blcConfigurationManager(
|
|
| 108 |
//recovered after this many days.
|
| 109 |
|
| 110 |
'installation_complete' => false,
|
| 111 |
-
'user_has_donated' =>
|
| 112 |
)
|
| 113 |
);
|
| 114 |
|
| 108 |
//recovered after this many days.
|
| 109 |
|
| 110 |
'installation_complete' => false,
|
| 111 |
+
'user_has_donated' => false, //Whether the user has donated to the plugin.
|
| 112 |
)
|
| 113 |
);
|
| 114 |
|
css/options-page.css
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
#blc-sidebar {
|
| 2 |
clear: right;
|
| 3 |
float: right;
|
|
@@ -25,6 +29,28 @@
|
|
| 25 |
color: green;
|
| 26 |
}
|
| 27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
|
| 29 |
#link_checker_options .form-table th {
|
| 30 |
width: 25%;
|
| 1 |
+
/*
|
| 2 |
+
Sidebar
|
| 3 |
+
*/
|
| 4 |
+
|
| 5 |
#blc-sidebar {
|
| 6 |
clear: right;
|
| 7 |
float: right;
|
| 29 |
color: green;
|
| 30 |
}
|
| 31 |
|
| 32 |
+
#advertising .inside {
|
| 33 |
+
text-align: left;
|
| 34 |
+
}
|
| 35 |
+
|
| 36 |
+
.ws-ame-ad-copy {
|
| 37 |
+
font-size: 1.2em;
|
| 38 |
+
font-style: italic;
|
| 39 |
+
}
|
| 40 |
+
.ws-ame-ad-link {
|
| 41 |
+
font-size: 1.1em;
|
| 42 |
+
font-weight: bold;
|
| 43 |
+
}
|
| 44 |
+
|
| 45 |
+
#themefuse-ad .inside,
|
| 46 |
+
#managewp-ad .inside
|
| 47 |
+
{
|
| 48 |
+
padding: 2px 0 0 0;
|
| 49 |
+
margin: 0;
|
| 50 |
+
text-align: center;
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
+
|
| 54 |
|
| 55 |
#link_checker_options .form-table th {
|
| 56 |
width: 25%;
|
includes/admin/db-upgrade.php
CHANGED
|
@@ -7,7 +7,7 @@ class blcDatabaseUpgrader {
|
|
| 7 |
*
|
| 8 |
* @return bool
|
| 9 |
*/
|
| 10 |
-
function upgrade_database(){
|
| 11 |
global $wpdb, $blclog;
|
| 12 |
|
| 13 |
$conf = blc_get_configuration();
|
|
@@ -162,7 +162,7 @@ class blcTableDelta {
|
|
| 162 |
* @param bool $drop_indexes Whether to drop indexes not present in the input. Defaults to true.
|
| 163 |
* @return array
|
| 164 |
*/
|
| 165 |
-
function delta($queries, $execute = true, $drop_columns = true, $drop_indexes = true){
|
| 166 |
global $wpdb;
|
| 167 |
|
| 168 |
// Separate individual queries into an array
|
| 7 |
*
|
| 8 |
* @return bool
|
| 9 |
*/
|
| 10 |
+
public static function upgrade_database(){
|
| 11 |
global $wpdb, $blclog;
|
| 12 |
|
| 13 |
$conf = blc_get_configuration();
|
| 162 |
* @param bool $drop_indexes Whether to drop indexes not present in the input. Defaults to true.
|
| 163 |
* @return array
|
| 164 |
*/
|
| 165 |
+
static function delta($queries, $execute = true, $drop_columns = true, $drop_indexes = true){
|
| 166 |
global $wpdb;
|
| 167 |
|
| 168 |
// Separate individual queries into an array
|
includes/admin/sidebar.php
CHANGED
|
@@ -4,24 +4,32 @@ $configuration = blc_get_configuration();
|
|
| 4 |
if ( !function_exists('fetch_feed') ){
|
| 5 |
include_once(ABSPATH . WPINC . '/feed.php');
|
| 6 |
}
|
| 7 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
$feed_url = 'http://w-shadow.com/files/blc-plugin-links.rss';
|
| 9 |
$num_items = 3;
|
| 10 |
|
| 11 |
$feed = fetch_feed($feed_url);
|
| 12 |
if ( !is_wp_error($feed) ):
|
| 13 |
?>
|
| 14 |
-
<style type="text/css">
|
| 15 |
-
#advertising .inside {
|
| 16 |
-
text-align: left;
|
| 17 |
-
}
|
| 18 |
-
</style>
|
| 19 |
<div id="advertising" class="postbox">
|
| 20 |
<h3 class="hndle"><?php _e('More plugins by Janis Elsts', 'broken-link-checker'); ?></h3>
|
| 21 |
<div class="inside">
|
| 22 |
<ul>
|
| 23 |
<?php
|
| 24 |
-
foreach($feed->get_items(0, $num_items) as $item) {
|
| 25 |
printf(
|
| 26 |
'<li><a href="%1$s" title="%2$s">%3$s</a></li>',
|
| 27 |
esc_url( $item->get_link() ),
|
|
@@ -38,6 +46,41 @@ if ( !$configuration->get('user_has_donated', false) && function_exists('fetch_f
|
|
| 38 |
endif;
|
| 39 |
?>
|
| 40 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 41 |
<div id="donate" class="postbox">
|
| 42 |
<h3 class="hndle"><?php _e('Donate $10, $20 or $50!', 'broken-link-checker'); ?></h3>
|
| 43 |
<div class="inside">
|
|
@@ -66,25 +109,35 @@ endif;
|
|
| 66 |
echo esc_attr(admin_url('options-general.php?page=link-checker-settings&donation_canceled=1'));
|
| 67 |
?>" />
|
| 68 |
|
| 69 |
-
<input type="image" src="https://www.sandbox.paypal.com/en_US/GB/i/btn/btn_donateCC_LG.gif"
|
| 70 |
</form>
|
| 71 |
</div>
|
| 72 |
</div>
|
| 73 |
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
</
|
| 82 |
-
<div
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
</
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
if ( !function_exists('fetch_feed') ){
|
| 5 |
include_once(ABSPATH . WPINC . '/feed.php');
|
| 6 |
}
|
| 7 |
+
|
| 8 |
+
$show_plugin_feed = $show_ame_ad = false;
|
| 9 |
+
if ( !$configuration->get('user_has_donated', false) ) {
|
| 10 |
+
if ( (blcUtility::constrained_hash(get_site_url() . 'y', 0, 100) < 40) && function_exists('fetch_feed') ) {
|
| 11 |
+
$show_plugin_feed = true;
|
| 12 |
+
} else {
|
| 13 |
+
$show_ame_ad = true;
|
| 14 |
+
}
|
| 15 |
+
}
|
| 16 |
+
?>
|
| 17 |
+
|
| 18 |
+
<!-- "More plugins" RSS feed -->
|
| 19 |
+
<?php
|
| 20 |
+
if ( $show_plugin_feed ):
|
| 21 |
$feed_url = 'http://w-shadow.com/files/blc-plugin-links.rss';
|
| 22 |
$num_items = 3;
|
| 23 |
|
| 24 |
$feed = fetch_feed($feed_url);
|
| 25 |
if ( !is_wp_error($feed) ):
|
| 26 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
<div id="advertising" class="postbox">
|
| 28 |
<h3 class="hndle"><?php _e('More plugins by Janis Elsts', 'broken-link-checker'); ?></h3>
|
| 29 |
<div class="inside">
|
| 30 |
<ul>
|
| 31 |
<?php
|
| 32 |
+
foreach($feed->get_items(0, $num_items) as $item) { /** @var SimplePie_Item $item */
|
| 33 |
printf(
|
| 34 |
'<li><a href="%1$s" title="%2$s">%3$s</a></li>',
|
| 35 |
esc_url( $item->get_link() ),
|
| 46 |
endif;
|
| 47 |
?>
|
| 48 |
|
| 49 |
+
<!-- Admin Menu Editor Pro ad -->
|
| 50 |
+
<?php
|
| 51 |
+
if ( $show_ame_ad ):
|
| 52 |
+
//Display an ad for Admin Menu Editor.
|
| 53 |
+
//We're A/B testing a bunch of different ad copies.
|
| 54 |
+
$ame_copy_variants = array(
|
| 55 |
+
array('a', "Add, delete, hide, or move any admin menu item."),
|
| 56 |
+
array('b', "Organize your admin menu the way you want it."),
|
| 57 |
+
array('c', "Hide, move or customize admin menus. Perfect for client sites."),
|
| 58 |
+
);
|
| 59 |
+
$ad_copy_index = intval(blcUtility::constrained_hash(get_site_url(), 0, count($ame_copy_variants)));
|
| 60 |
+
$ad_copy = $ame_copy_variants[$ad_copy_index];
|
| 61 |
+
|
| 62 |
+
$ad_url = sprintf(
|
| 63 |
+
'http://w-shadow.com/admin-menu-editor-pro/?utm_source=broken_link_checker&utm_medium=text_link&utm_campaign=Plugins&utm_content=%s',
|
| 64 |
+
urlencode('ad_copy_') . $ad_copy[0]
|
| 65 |
+
);
|
| 66 |
+
?>
|
| 67 |
+
<div class="postbox" id="advertising">
|
| 68 |
+
<h3 class="hndle"><?php _e('More plugins by Janis Elsts', 'broken-link-checker'); ?></h3>
|
| 69 |
+
<div class="inside">
|
| 70 |
+
<p class="ws-ame-ad-copy"><?php echo $ad_copy[1]; ?></p>
|
| 71 |
+
<p class="ws-ame-ad-link">
|
| 72 |
+
<a href="<?php echo esc_attr($ad_url); ?>" title="Admin Menu Editor">
|
| 73 |
+
Admin Menu Editor
|
| 74 |
+
</a>
|
| 75 |
+
</p>
|
| 76 |
+
</div>
|
| 77 |
+
</div>
|
| 78 |
+
|
| 79 |
+
<?php
|
| 80 |
+
endif;
|
| 81 |
+
?>
|
| 82 |
+
|
| 83 |
+
<!-- Donation button -->
|
| 84 |
<div id="donate" class="postbox">
|
| 85 |
<h3 class="hndle"><?php _e('Donate $10, $20 or $50!', 'broken-link-checker'); ?></h3>
|
| 86 |
<div class="inside">
|
| 109 |
echo esc_attr(admin_url('options-general.php?page=link-checker-settings&donation_canceled=1'));
|
| 110 |
?>" />
|
| 111 |
|
| 112 |
+
<input type="image" src="https://www.sandbox.paypal.com/en_US/GB/i/btn/btn_donateCC_LG.gif" name="submit" alt="PayPal - The safer, easier way to pay online." style="max-width:170px;height:47px;border:0;">
|
| 113 |
</form>
|
| 114 |
</div>
|
| 115 |
</div>
|
| 116 |
|
| 117 |
+
<!-- Other advertising -->
|
| 118 |
+
<?php
|
| 119 |
+
if ( !$configuration->get('user_has_donated') ):
|
| 120 |
+
$ad_switch_time = strtotime('2012-06-05 12:00');
|
| 121 |
+
if ( time() < $ad_switch_time ):
|
| 122 |
+
?>
|
| 123 |
+
<div id="themefuse-ad" class="postbox">
|
| 124 |
+
<!--<h3 class="hndle">ThemeFuse</h3> -->
|
| 125 |
+
<div class="inside">
|
| 126 |
+
<a href="http://themefuse.com/wp-themes-shop/?plugin=broken-link-checker" title="ThemeFuse themes">
|
| 127 |
+
<img src="<?php echo plugins_url('images/themefuse-250x250.jpg', BLC_PLUGIN_FILE) ?>" width="250" height="250" alt="ThemeFuse">
|
| 128 |
+
</a>
|
| 129 |
+
</div>
|
| 130 |
+
</div>
|
| 131 |
+
<?php
|
| 132 |
+
else:
|
| 133 |
+
?>
|
| 134 |
+
<div id="managewp-ad" class="postbox">
|
| 135 |
+
<div class="inside">
|
| 136 |
+
<a href="http://managewp.com/?utm_source=broken_link_checker&utm_medium=Banner&utm_content=mwp250_2&utm_campaign=Plugins" title="ManageWP">
|
| 137 |
+
<img src="<?php echo plugins_url('images/mwp250_2.png', BLC_PLUGIN_FILE) ?>" width="250" height="250" alt="ManageWP">
|
| 138 |
+
</a>
|
| 139 |
+
</div>
|
| 140 |
+
</div>
|
| 141 |
+
<?php
|
| 142 |
+
endif;
|
| 143 |
+
endif; ?>
|
includes/link-query.php
CHANGED
|
@@ -86,7 +86,7 @@ class blcLinkQuery {
|
|
| 86 |
* @return array An array of custom filter definitions. If there are no custom filters defined returns an empty array.
|
| 87 |
*/
|
| 88 |
function load_custom_filters(){
|
| 89 |
-
global $wpdb;
|
| 90 |
|
| 91 |
$filter_data = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}blc_filters ORDER BY name ASC", ARRAY_A);
|
| 92 |
$filters = array();
|
|
@@ -118,7 +118,7 @@ class blcLinkQuery {
|
|
| 118 |
* @return string|bool The ID of the newly added filter, or False.
|
| 119 |
*/
|
| 120 |
function create_custom_filter($name, $params){
|
| 121 |
-
global $wpdb;
|
| 122 |
|
| 123 |
if ( is_array($params) ){
|
| 124 |
$params = http_build_query($params, null, '&');
|
|
@@ -145,7 +145,7 @@ class blcLinkQuery {
|
|
| 145 |
* @return bool True on success, False if a database error occured.
|
| 146 |
*/
|
| 147 |
function delete_custom_filter($filter_id){
|
| 148 |
-
global $wpdb;
|
| 149 |
|
| 150 |
//Remove the "f" character from the filter ID to get its database key
|
| 151 |
$filter_id = intval(ltrim($_POST['filter_id'], 'f'));
|
|
@@ -230,7 +230,7 @@ class blcLinkQuery {
|
|
| 230 |
* @return array 'where_exprs' - an array of search expressions, 'join_instances' - whether joining the instance table is required.
|
| 231 |
*/
|
| 232 |
function compile_search_params($params){
|
| 233 |
-
global $wpdb;
|
| 234 |
|
| 235 |
//Track whether we'll need to left-join the instance table to run the query.
|
| 236 |
$join_instances = false;
|
|
@@ -462,7 +462,7 @@ class blcLinkQuery {
|
|
| 462 |
* @return array|int
|
| 463 |
*/
|
| 464 |
function get_links($params = null){
|
| 465 |
-
global $wpdb;
|
| 466 |
|
| 467 |
if( !is_array($params) ){
|
| 468 |
$params = array();
|
| 86 |
* @return array An array of custom filter definitions. If there are no custom filters defined returns an empty array.
|
| 87 |
*/
|
| 88 |
function load_custom_filters(){
|
| 89 |
+
global $wpdb; /** @var wpdb $wpdb */
|
| 90 |
|
| 91 |
$filter_data = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}blc_filters ORDER BY name ASC", ARRAY_A);
|
| 92 |
$filters = array();
|
| 118 |
* @return string|bool The ID of the newly added filter, or False.
|
| 119 |
*/
|
| 120 |
function create_custom_filter($name, $params){
|
| 121 |
+
global $wpdb; /** @var wpdb $wpdb */
|
| 122 |
|
| 123 |
if ( is_array($params) ){
|
| 124 |
$params = http_build_query($params, null, '&');
|
| 145 |
* @return bool True on success, False if a database error occured.
|
| 146 |
*/
|
| 147 |
function delete_custom_filter($filter_id){
|
| 148 |
+
global $wpdb; /** @var wpdb $wpdb */
|
| 149 |
|
| 150 |
//Remove the "f" character from the filter ID to get its database key
|
| 151 |
$filter_id = intval(ltrim($_POST['filter_id'], 'f'));
|
| 230 |
* @return array 'where_exprs' - an array of search expressions, 'join_instances' - whether joining the instance table is required.
|
| 231 |
*/
|
| 232 |
function compile_search_params($params){
|
| 233 |
+
global $wpdb; /** @var wpdb $wpdb */
|
| 234 |
|
| 235 |
//Track whether we'll need to left-join the instance table to run the query.
|
| 236 |
$join_instances = false;
|
| 462 |
* @return array|int
|
| 463 |
*/
|
| 464 |
function get_links($params = null){
|
| 465 |
+
global $wpdb; /** @var wpdb $wpdb */
|
| 466 |
|
| 467 |
if( !is_array($params) ){
|
| 468 |
$params = array();
|
includes/utility-class.php
CHANGED
|
@@ -15,6 +15,7 @@ if ( !function_exists('sys_get_temp_dir')) {
|
|
| 15 |
unlink($tempfile);
|
| 16 |
return realpath(dirname($tempfile));
|
| 17 |
}
|
|
|
|
| 18 |
}
|
| 19 |
}
|
| 20 |
|
|
@@ -76,7 +77,7 @@ class blcUtility {
|
|
| 76 |
* @param integer $max_characters Return no more than $max_characters
|
| 77 |
* @param string $break Break on this character. Defaults to space.
|
| 78 |
* @param string $pad Pad the truncated string with this string. Defaults to an HTML ellipsis.
|
| 79 |
-
* @return
|
| 80 |
*/
|
| 81 |
static function truncate($text, $max_characters = 0, $break = ' ', $pad = '…'){
|
| 82 |
if ( strlen($text) <= $max_characters ){
|
|
@@ -299,7 +300,7 @@ class blcUtility {
|
|
| 299 |
* @return void
|
| 300 |
*/
|
| 301 |
static function optimize_database(){
|
| 302 |
-
global $wpdb;
|
| 303 |
|
| 304 |
$wpdb->query("OPTIMIZE TABLE {$wpdb->prefix}blc_links, {$wpdb->prefix}blc_instances, {$wpdb->prefix}blc_synch");
|
| 305 |
}
|
|
@@ -383,7 +384,7 @@ class blcUtility {
|
|
| 383 |
/**
|
| 384 |
* Get an instance of idna_converter
|
| 385 |
*
|
| 386 |
-
* @return
|
| 387 |
*/
|
| 388 |
static function get_idna_converter(){
|
| 389 |
static $idn = null;
|
|
@@ -392,6 +393,23 @@ class blcUtility {
|
|
| 392 |
}
|
| 393 |
return $idn;
|
| 394 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 395 |
|
| 396 |
}//class
|
| 397 |
|
| 15 |
unlink($tempfile);
|
| 16 |
return realpath(dirname($tempfile));
|
| 17 |
}
|
| 18 |
+
return '';
|
| 19 |
}
|
| 20 |
}
|
| 21 |
|
| 77 |
* @param integer $max_characters Return no more than $max_characters
|
| 78 |
* @param string $break Break on this character. Defaults to space.
|
| 79 |
* @param string $pad Pad the truncated string with this string. Defaults to an HTML ellipsis.
|
| 80 |
+
* @return string
|
| 81 |
*/
|
| 82 |
static function truncate($text, $max_characters = 0, $break = ' ', $pad = '…'){
|
| 83 |
if ( strlen($text) <= $max_characters ){
|
| 300 |
* @return void
|
| 301 |
*/
|
| 302 |
static function optimize_database(){
|
| 303 |
+
global $wpdb; /** @var wpdb $wpdb */
|
| 304 |
|
| 305 |
$wpdb->query("OPTIMIZE TABLE {$wpdb->prefix}blc_links, {$wpdb->prefix}blc_instances, {$wpdb->prefix}blc_synch");
|
| 306 |
}
|
| 384 |
/**
|
| 385 |
* Get an instance of idna_converter
|
| 386 |
*
|
| 387 |
+
* @return idna_convert|null Either an instance of IDNA converter, or NULL if the converter class is not available
|
| 388 |
*/
|
| 389 |
static function get_idna_converter(){
|
| 390 |
static $idn = null;
|
| 393 |
}
|
| 394 |
return $idn;
|
| 395 |
}
|
| 396 |
+
|
| 397 |
+
/**
|
| 398 |
+
* Generate a numeric hash from a string. The result will be constrained to the specified interval.
|
| 399 |
+
*
|
| 400 |
+
* @static
|
| 401 |
+
* @param string $input
|
| 402 |
+
* @param int $min
|
| 403 |
+
* @param int $max
|
| 404 |
+
* @return float
|
| 405 |
+
*/
|
| 406 |
+
public static function constrained_hash($input, $min = 0, $max = 1) {
|
| 407 |
+
$bytes_to_use = 3;
|
| 408 |
+
$md5_char_count = 32;
|
| 409 |
+
$hash = substr(md5($input), $md5_char_count - $bytes_to_use*2);
|
| 410 |
+
$hash = intval(hexdec($hash));
|
| 411 |
+
return $min + (($max - $min) * ($hash / (pow(2, $bytes_to_use * 8) - 1)));
|
| 412 |
+
}
|
| 413 |
|
| 414 |
}//class
|
| 415 |
|
readme.txt
CHANGED
|
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_i
|
|
| 4 |
Tags: links, broken, maintenance, blogroll, custom fields, admin, comments, posts
|
| 5 |
Requires at least: 3.2
|
| 6 |
Tested up to: 3.4-beta4
|
| 7 |
-
Stable tag: 1.5.
|
| 8 |
|
| 9 |
This plugin will check your posts, comments and other content for broken links and missing images, and notify you if any are found.
|
| 10 |
|
|
@@ -90,6 +90,12 @@ To upgrade your installation
|
|
| 90 |
|
| 91 |
== Changelog ==
|
| 92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 93 |
= 1.5.1 =
|
| 94 |
* Updated Portuguese translation.
|
| 95 |
* Updated German translation.
|
| 4 |
Tags: links, broken, maintenance, blogroll, custom fields, admin, comments, posts
|
| 5 |
Requires at least: 3.2
|
| 6 |
Tested up to: 3.4-beta4
|
| 7 |
+
Stable tag: 1.5.2
|
| 8 |
|
| 9 |
This plugin will check your posts, comments and other content for broken links and missing images, and notify you if any are found.
|
| 10 |
|
| 90 |
|
| 91 |
== Changelog ==
|
| 92 |
|
| 93 |
+
= 1.5.2 =
|
| 94 |
+
* A few minor comment fixes.
|
| 95 |
+
* Move certain styles to a separate CSS file, which is where they belong.
|
| 96 |
+
* Replace the ThemeFuse banner with one from ManageWP (will go live on June 5).
|
| 97 |
+
* Instead of displaying several plugins in the "More plugins by Janis Elsts" box, sometimes display just one plugin (AME).
|
| 98 |
+
|
| 99 |
= 1.5.1 =
|
| 100 |
* Updated Portuguese translation.
|
| 101 |
* Updated German translation.
|
