Broken Link Checker - Version 0.9.4.3

Version Description

Download this release

Release Info

Developer whiteshadow
Plugin Icon 128x128 Broken Link Checker
Version 0.9.4.3
Comparing to
See all releases

Code changes from version 0.9.4.2 to 0.9.4.3

broken-link-checker.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin Name: Broken Link Checker
5
  Plugin URI: http://w-shadow.com/blog/2007/08/05/broken-link-checker-for-wordpress/
6
  Description: Checks your blog for broken links and missing images and notifies you on the dashboard if any are found.
7
- Version: 0.9.4.2
8
  Author: Janis Elsts
9
  Author URI: http://w-shadow.com/blog/
10
  Text Domain: broken-link-checker
@@ -86,8 +86,7 @@ $blc_config_manager = new blcConfigurationManager(
86
  'custom_fields' => array(), //List of custom fields that can contain URLs and should be checked.
87
  'check_comment_links' => true, //Whether to check links found in comments
88
 
89
- 'autoexpand_widget' => true, //Autoexpand the Dashboard widget if broken links are detected
90
- 'show_link_count_bubble' => true, //Display a notification bubble in the menu when broken links are found
91
 
92
  'need_resynch' => false, //[Internal flag] True if there are unparsed items.
93
  'current_db_version' => 0, //The currently set-up version of the plugin's tables
4
  Plugin Name: Broken Link Checker
5
  Plugin URI: http://w-shadow.com/blog/2007/08/05/broken-link-checker-for-wordpress/
6
  Description: Checks your blog for broken links and missing images and notifies you on the dashboard if any are found.
7
+ Version: 0.9.4.1
8
  Author: Janis Elsts
9
  Author URI: http://w-shadow.com/blog/
10
  Text Domain: broken-link-checker
86
  'custom_fields' => array(), //List of custom fields that can contain URLs and should be checked.
87
  'check_comment_links' => true, //Whether to check links found in comments
88
 
89
+ 'autoexpand_widget' => true, //Autoexpand the Dashboard widget if broken links are detected
 
90
 
91
  'need_resynch' => false, //[Internal flag] True if there are unparsed items.
92
  'current_db_version' => 0, //The currently set-up version of the plugin's tables
core.php CHANGED
@@ -527,8 +527,7 @@ EOD;
527
 
528
  PRIMARY KEY (`instance_id`),
529
  KEY `link_id` (`link_id`),
530
- KEY `source_id` (`container_type`, `container_id`),
531
- KEY `parser_type` (`parser_type`)
532
  ) {$charset_collate};
533
  EOT;
534
  if ( $wpdb->query($q) === false ){
@@ -664,12 +663,6 @@ EOZ;
664
  $this->optimize_database();
665
  }
666
 
667
- /**
668
- * Create the plugin's menu items and enqueue their scripts and CSS.
669
- * Callback for the 'admin_menu' action.
670
- *
671
- * @return void
672
- */
673
  function admin_menu(){
674
  if (current_user_can('manage_options'))
675
  add_filter('plugin_action_links', array(&$this, 'plugin_action_links'), 10, 2);
@@ -681,24 +674,9 @@ EOZ;
681
  'link-checker-settings',array(&$this, 'options_page')
682
  );
683
 
684
- $menu_title = __('Broken Links', 'broken-link-checker');
685
- if ( $this->conf->options['show_link_count_bubble'] ){
686
- //To make it easier to notice when broken links appear, display the current number of
687
- //broken links in a little bubble notification in the "Broken Links" menu.
688
- //(Similar to how the number of plugin updates and unmoderated comments is displayed).
689
- $blc_link_query = & blcLinkQuery::getInstance();
690
- $broken_links = $blc_link_query->get_filter_links('broken', array('count_only' => true));
691
- if ( $broken_links > 0 ){
692
- //TODO: Appropriating existing CSS classes for my own purposes is hacky. Fix eventually.
693
- $menu_title .= sprintf(
694
- ' <span class="update-plugins"><span class="update-count blc-menu-bubble">%d</span></span>',
695
- $broken_links
696
- );
697
- }
698
- }
699
  $links_page_hook = add_management_page(
700
  __('View Broken Links', 'broken-link-checker'),
701
- $menu_title,
702
  'edit_others_posts',
703
  'view-broken-links',array(&$this, 'links_page')
704
  );
@@ -854,7 +832,7 @@ EOZ;
854
  }
855
  $this->conf->options['send_email_notifications'] = $email_notifications;
856
 
857
- //Comment link checking on/off
858
  $old_setting = $this->conf->options['check_comment_links'];
859
  $this->conf->options['check_comment_links'] = !empty($_POST['check_comment_links']);
860
  //If comment link checking was just turned on we need to load the comment manager
@@ -862,7 +840,7 @@ EOZ;
862
  //TODO: More elegant handling of freshly enabled/disabled container types
863
  if ( !$old_setting && $this->conf->options['check_comment_links'] ){
864
  include $blc_directory . '/includes/containers/comment.php';
865
- $containerRegistry = & blcContainerRegistry::getInstance();
866
  $comment_manager = $containerRegistry->get_manager('comment');
867
  if ( $comment_manager ){
868
  $comment_manager->resynch();
@@ -881,7 +859,7 @@ EOZ;
881
  inefficient.
882
  */
883
  if ( ( count($diff1) > 0 ) || ( count($diff2) > 0 ) ){
884
- $containerRegistry = & blcContainerRegistry::getInstance();
885
  $manager = $containerRegistry->get_manager('custom_field');
886
  if ( !is_null($manager) ){
887
  $manager->resynch();
@@ -1292,7 +1270,7 @@ EOZ;
1292
 
1293
  function links_page(){
1294
  global $wpdb, $blclog;
1295
- $blc_link_query = & blcLinkQuery::getInstance();
1296
 
1297
  //Sanity check : Make sure the plugin's tables are all set up.
1298
  if ( $this->db_version != $this->conf->options['current_db_version'] ) {
@@ -1412,12 +1390,11 @@ EOZ;
1412
  <script type='text/javascript'>
1413
  var blc_current_filter = '<?php echo $filter_id; ?>';
1414
  var blc_is_broken_filter = <?php
1415
- //TODO: Simplify this. Maybe overhaul the filter system to let us query the effective filter.
1416
- $is_broken_filter =
1417
- ($filter_id == 'broken')
1418
- || ( isset($current_filter['params']['s_filter']) && ($current_filter['params']['s_filter'] == 'broken') )
1419
- || ( isset($_GET['s_filter']) && ($_GET['s_filter'] == 'broken') );
1420
- echo $is_broken_filter ? 'true' : 'false';
1421
  ?>;
1422
  </script>
1423
 
@@ -1717,7 +1694,7 @@ EOZ;
1717
  $msg_class = 'error';
1718
  } else {
1719
  //Save the new filter
1720
- $blc_link_query = & blcLinkQuery::getInstance();
1721
  $filter_id = $blc_link_query->create_custom_filter($_POST['name'], $_POST['params']);
1722
 
1723
  if ( $filter_id ){
@@ -1753,7 +1730,7 @@ EOZ;
1753
  $msg_class = 'error';
1754
  } else {
1755
  //Try to delete the filter
1756
- $blc_link_query = & blcLinkQuery::getInstance();
1757
  if ( $blc_link_query->delete_custom_filter($_POST['filter_id']) ){
1758
  //Success
1759
  $message = __('Filter deleted', 'broken-link-checker');
@@ -1904,7 +1881,7 @@ EOZ;
1904
  * @return array Confirmation message and its CSS class.
1905
  */
1906
  function do_bulk_delete_sources($selected_links){
1907
- $blc_container_registry = & blcContainerRegistry::getInstance();
1908
 
1909
  $message = '';
1910
  $msg_class = 'updated';
@@ -2484,12 +2461,12 @@ EOZ;
2484
 
2485
  //Only check links that have at least one valid instance (i.e. an instance exists and
2486
  //it corresponds to one of the currently loaded container/parser types).
2487
- $containerRegistry = & blcContainerRegistry::getInstance();
2488
  $loaded_containers = array_keys($containerRegistry->get_registered_containers());
2489
  $loaded_containers = array_map(array(&$wpdb, 'escape'), $loaded_containers);
2490
  $loaded_containers = "'" . implode("', '", $loaded_containers) . "'";
2491
 
2492
- $parserRegistry = & blcParserRegistry::getInstance();
2493
  $loaded_parsers = array_keys($parserRegistry->get_registered_parsers());
2494
  $loaded_parsers = array_map(array(&$wpdb, 'escape'), $loaded_parsers);
2495
  $loaded_parsers = "'" . implode("', '", $loaded_parsers) . "'";
@@ -2670,7 +2647,7 @@ EOZ;
2670
  */
2671
  function get_status(){
2672
  global $wpdb;
2673
- $blc_link_query = & blcLinkQuery::getInstance();
2674
 
2675
  $check_threshold=date('Y-m-d H:i:s', strtotime('-'.$this->conf->options['check_threshold'].' hours'));
2676
  $recheck_threshold=date('Y-m-d H:i:s', time() - $this->conf->options['recheck_threshold']);
@@ -3216,51 +3193,6 @@ EOZ;
3216
  'value' => sprintf(__('%s seconds'), ini_get('max_execution_time')),
3217
  );
3218
 
3219
- //Resynch flag.
3220
- $debug['Resynch. flag'] = array(
3221
- 'state' => 'ok',
3222
- 'value' => sprintf('%d', $this->conf->options['need_resynch']),
3223
- );
3224
-
3225
- //Synch records
3226
- $synch_records = intval($wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->prefix}blc_synch"));
3227
- $data = array(
3228
- 'state' => 'ok',
3229
- 'value' => sprintf('%d', $synch_records),
3230
- );
3231
- if ( $synch_records == 0 ){
3232
- $data['state'] = 'warning';
3233
- $data['message'] = __('If this value is zero even after several page reloads you have probably encountered a bug.', 'broken-link-checker');
3234
- }
3235
- $debug['Synch. records'] = $data;
3236
-
3237
- //Total links and instances (including invalid ones)
3238
- $all_links = intval($wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->prefix}blc_links"));
3239
- $all_instances = intval($wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->prefix}blc_instances"));
3240
-
3241
- //Show the number of unparsed containers. Useful for debugging. For performance,
3242
- //this is only shown when we have no links/instances yet.
3243
- if( ($all_links == 0) && ($all_instances == 0) ){
3244
- $unparsed_items = intval($wpdb->get_var("SELECT COUNT(*) FROM {$wpdb->prefix}blc_synch WHERE synched=0"));
3245
- $debug['Unparsed items'] = array(
3246
- 'state' => 'warning',
3247
- 'value' => $unparsed_items,
3248
- );
3249
- }
3250
-
3251
- //Links & instances
3252
- if ( ($all_links > 0) && ($all_instances > 0) ){
3253
- $debug['Link records'] = array(
3254
- 'state' => 'ok',
3255
- 'value' => sprintf('%d (%d)', $all_links, $all_instances),
3256
- );
3257
- } else {
3258
- $debug['Link records'] = array(
3259
- 'state' => 'warning',
3260
- 'value' => sprintf('%d (%d)', $all_links, $all_instances),
3261
- );
3262
- }
3263
-
3264
  return $debug;
3265
  }
3266
 
527
 
528
  PRIMARY KEY (`instance_id`),
529
  KEY `link_id` (`link_id`),
530
+ KEY `source_id` (`container_id`,`container_type`)
 
531
  ) {$charset_collate};
532
  EOT;
533
  if ( $wpdb->query($q) === false ){
663
  $this->optimize_database();
664
  }
665
 
 
 
 
 
 
 
666
  function admin_menu(){
667
  if (current_user_can('manage_options'))
668
  add_filter('plugin_action_links', array(&$this, 'plugin_action_links'), 10, 2);
674
  'link-checker-settings',array(&$this, 'options_page')
675
  );
676
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
677
  $links_page_hook = add_management_page(
678
  __('View Broken Links', 'broken-link-checker'),
679
+ __('Broken Links', 'broken-link-checker'),
680
  'edit_others_posts',
681
  'view-broken-links',array(&$this, 'links_page')
682
  );
832
  }
833
  $this->conf->options['send_email_notifications'] = $email_notifications;
834
 
835
+ //Commen link checking on/off
836
  $old_setting = $this->conf->options['check_comment_links'];
837
  $this->conf->options['check_comment_links'] = !empty($_POST['check_comment_links']);
838
  //If comment link checking was just turned on we need to load the comment manager
840
  //TODO: More elegant handling of freshly enabled/disabled container types
841
  if ( !$old_setting && $this->conf->options['check_comment_links'] ){
842
  include $blc_directory . '/includes/containers/comment.php';
843
+ $containerRegistry = blcContainerRegistry::getInstance();
844
  $comment_manager = $containerRegistry->get_manager('comment');
845
  if ( $comment_manager ){
846
  $comment_manager->resynch();
859
  inefficient.
860
  */
861
  if ( ( count($diff1) > 0 ) || ( count($diff2) > 0 ) ){
862
+ $containerRegistry = blcContainerRegistry::getInstance();
863
  $manager = $containerRegistry->get_manager('custom_field');
864
  if ( !is_null($manager) ){
865
  $manager->resynch();
1270
 
1271
  function links_page(){
1272
  global $wpdb, $blclog;
1273
+ $blc_link_query = blcLinkQuery::getInstance();
1274
 
1275
  //Sanity check : Make sure the plugin's tables are all set up.
1276
  if ( $this->db_version != $this->conf->options['current_db_version'] ) {
1390
  <script type='text/javascript'>
1391
  var blc_current_filter = '<?php echo $filter_id; ?>';
1392
  var blc_is_broken_filter = <?php
1393
+ if ( ($filter_id == 'broken') || ( isset($current_filter['params']['s_filter']) && ($current_filter['params']['s_filter'] = 'broken') ) ){
1394
+ echo 'true';
1395
+ } else {
1396
+ echo 'false';
1397
+ }
 
1398
  ?>;
1399
  </script>
1400
 
1694
  $msg_class = 'error';
1695
  } else {
1696
  //Save the new filter
1697
+ $blc_link_query = blcLinkQuery::getInstance();
1698
  $filter_id = $blc_link_query->create_custom_filter($_POST['name'], $_POST['params']);
1699
 
1700
  if ( $filter_id ){
1730
  $msg_class = 'error';
1731
  } else {
1732
  //Try to delete the filter
1733
+ $blc_link_query = blcLinkQuery::getInstance();
1734
  if ( $blc_link_query->delete_custom_filter($_POST['filter_id']) ){
1735
  //Success
1736
  $message = __('Filter deleted', 'broken-link-checker');
1881
  * @return array Confirmation message and its CSS class.
1882
  */
1883
  function do_bulk_delete_sources($selected_links){
1884
+ $blc_container_registry = blcContainerRegistry::getInstance();
1885
 
1886
  $message = '';
1887
  $msg_class = 'updated';
2461
 
2462
  //Only check links that have at least one valid instance (i.e. an instance exists and
2463
  //it corresponds to one of the currently loaded container/parser types).
2464
+ $containerRegistry = blcContainerRegistry::getInstance();
2465
  $loaded_containers = array_keys($containerRegistry->get_registered_containers());
2466
  $loaded_containers = array_map(array(&$wpdb, 'escape'), $loaded_containers);
2467
  $loaded_containers = "'" . implode("', '", $loaded_containers) . "'";
2468
 
2469
+ $parserRegistry = blcParserRegistry::getInstance();
2470
  $loaded_parsers = array_keys($parserRegistry->get_registered_parsers());
2471
  $loaded_parsers = array_map(array(&$wpdb, 'escape'), $loaded_parsers);
2472
  $loaded_parsers = "'" . implode("', '", $loaded_parsers) . "'";
2647
  */
2648
  function get_status(){
2649
  global $wpdb;
2650
+ $blc_link_query = blcLinkQuery::getInstance();
2651
 
2652
  $check_threshold=date('Y-m-d H:i:s', strtotime('-'.$this->conf->options['check_threshold'].' hours'));
2653
  $recheck_threshold=date('Y-m-d H:i:s', time() - $this->conf->options['recheck_threshold']);
3193
  'value' => sprintf(__('%s seconds'), ini_get('max_execution_time')),
3194
  );
3195
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3196
  return $debug;
3197
  }
3198
 
includes/admin/links-page-js.php CHANGED
@@ -1,23 +1,9 @@
1
  <script type='text/javascript'>
2
 
3
  function alterLinkCounter(factor){
4
- var cnt = parseInt(jQuery('.current-link-count').eq(0).html());
5
  cnt = cnt + factor;
6
  jQuery('.current-link-count').html(cnt);
7
-
8
- if ( blc_is_broken_filter ){
9
- //Update the broken link count displayed beside the "Broken Links" menu
10
- var menuBubble = jQuery('span.blc-menu-bubble');
11
- if ( menuBubble.length > 0 ){
12
- cnt = parseInt(menuBubble.eq(0).html());
13
- cnt = cnt + factor;
14
- if ( cnt > 0 ){
15
- menuBubble.html(cnt);
16
- } else {
17
- menuBubble.parent().hide();
18
- }
19
- }
20
- }
21
  }
22
 
23
  function replaceLinkId(old_id, new_id){
1
  <script type='text/javascript'>
2
 
3
  function alterLinkCounter(factor){
4
+ cnt = parseInt(jQuery('.current-link-count').eq(0).html());
5
  cnt = cnt + factor;
6
  jQuery('.current-link-count').html(cnt);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  }
8
 
9
  function replaceLinkId(old_id, new_id){
includes/admin/search-form.php CHANGED
@@ -54,7 +54,7 @@
54
  $search_subfilter = $filter_id;
55
  }
56
 
57
- $linkQuery = & blcLinkQuery::getInstance();
58
  foreach ($linkQuery->native_filters as $filter => $data){
59
  $selected = ($search_subfilter == $filter)?' selected="selected"':'';
60
  printf('<option value="%s"%s>%s</option>', $filter, $selected, $data['name']);
54
  $search_subfilter = $filter_id;
55
  }
56
 
57
+ $linkQuery = blcLinkQuery::getInstance();
58
  foreach ($linkQuery->native_filters as $filter => $data){
59
  $selected = ($search_subfilter == $filter)?' selected="selected"':'';
60
  printf('<option value="%s"%s>%s</option>', $filter, $selected, $data['name']);
includes/containers.php CHANGED
@@ -35,12 +35,7 @@ class blcContainerRegistry {
35
  $this->__construct();
36
  }
37
 
38
- /**
39
- * Return a singleton instance of this class.
40
- *
41
- * @return blcContainerRegistry
42
- */
43
- function &getInstance(){
44
  static $instance = null;
45
  if ( is_null($instance) ){
46
  $instance = new blcContainerRegistry;
@@ -289,7 +284,7 @@ class blcContainerRegistry {
289
  }
290
 
291
  //Init the container registry & make it global
292
- $GLOBALS['blc_container_registry'] = & blcContainerRegistry::getInstance();
293
 
294
 
295
 
@@ -839,7 +834,7 @@ class blcContainerManager {
839
  * @return bool True if the container was successfully registered, false otherwise.
840
  */
841
  function blc_register_container( $container_type, $manager_class ){
842
- $instance = & blcContainerRegistry::getInstance();
843
  return $instance->register_container($container_type, $manager_class);
844
  }
845
 
@@ -850,7 +845,7 @@ function blc_register_container( $container_type, $manager_class ){
850
  * @return blcContainer|null Returns null if the container type is unrecognized.
851
  */
852
  function blc_get_container($container){
853
- $instance = & blcContainerRegistry::getInstance();
854
  return $instance->get_container($container);
855
  }
856
 
@@ -878,7 +873,7 @@ function blc_get_container($container){
878
  * @return array of blcContainer indexed by 'container_type|container_id'
879
  */
880
  function blc_get_containers( $containers, $purpose = '', $load_wrapped_objects = false ){
881
- $instance = & blcContainerRegistry::getInstance();
882
  return $instance->get_containers($containers, $purpose, '', $load_wrapped_objects);
883
  }
884
 
@@ -889,7 +884,7 @@ function blc_get_containers( $containers, $purpose = '', $load_wrapped_objects =
889
  * @return array of blcContainer
890
  */
891
  function blc_get_unsynched_containers($max_results = 0){
892
- $instance = & blcContainerRegistry::getInstance();
893
  return $instance->get_unsynched_containers($max_results);
894
  }
895
 
@@ -901,7 +896,7 @@ function blc_get_unsynched_containers($max_results = 0){
901
  * @return void
902
  */
903
  function blc_resynch_containers($forced = false){
904
- $instance = & blcContainerRegistry::getInstance();
905
  $instance->resynch($forced);
906
  }
907
 
@@ -913,7 +908,7 @@ function blc_resynch_containers($forced = false){
913
  function blc_cleanup_containers(){
914
  global $wpdb;
915
 
916
- $containerRegistry = & blcContainerRegistry::getInstance();
917
  $loaded_containers = array_keys($containerRegistry->get_registered_containers());
918
  $loaded_containers = array_map(array(&$wpdb, 'escape'), $loaded_containers);
919
  $loaded_containers = "'" . implode("', '", $loaded_containers) . "'";
35
  $this->__construct();
36
  }
37
 
38
+ function getInstance(){
 
 
 
 
 
39
  static $instance = null;
40
  if ( is_null($instance) ){
41
  $instance = new blcContainerRegistry;
284
  }
285
 
286
  //Init the container registry & make it global
287
+ $GLOBALS['blc_container_registry'] = blcContainerRegistry::getInstance();
288
 
289
 
290
 
834
  * @return bool True if the container was successfully registered, false otherwise.
835
  */
836
  function blc_register_container( $container_type, $manager_class ){
837
+ $instance = blcContainerRegistry::getInstance();
838
  return $instance->register_container($container_type, $manager_class);
839
  }
840
 
845
  * @return blcContainer|null Returns null if the container type is unrecognized.
846
  */
847
  function blc_get_container($container){
848
+ $instance = blcContainerRegistry::getInstance();
849
  return $instance->get_container($container);
850
  }
851
 
873
  * @return array of blcContainer indexed by 'container_type|container_id'
874
  */
875
  function blc_get_containers( $containers, $purpose = '', $load_wrapped_objects = false ){
876
+ $instance = blcContainerRegistry::getInstance();
877
  return $instance->get_containers($containers, $purpose, '', $load_wrapped_objects);
878
  }
879
 
884
  * @return array of blcContainer
885
  */
886
  function blc_get_unsynched_containers($max_results = 0){
887
+ $instance = blcContainerRegistry::getInstance();
888
  return $instance->get_unsynched_containers($max_results);
889
  }
890
 
896
  * @return void
897
  */
898
  function blc_resynch_containers($forced = false){
899
+ $instance = blcContainerRegistry::getInstance();
900
  $instance->resynch($forced);
901
  }
902
 
908
  function blc_cleanup_containers(){
909
  global $wpdb;
910
 
911
+ $containerRegistry = blcContainerRegistry::getInstance();
912
  $loaded_containers = array_keys($containerRegistry->get_registered_containers());
913
  $loaded_containers = array_map(array(&$wpdb, 'escape'), $loaded_containers);
914
  $loaded_containers = "'" . implode("', '", $loaded_containers) . "'";
includes/instances.php CHANGED
@@ -482,9 +482,9 @@ function blc_get_instances( $link_ids, $purpose = '', $load_containers = false,
482
 
483
  //Skip instances that reference containers or parsers that aren't currently loaded
484
  if ( !$include_invalid ){
485
- $containerRegistry = & blcContainerRegistry::getInstance();
486
  $loaded_containers = array_keys($containerRegistry->get_registered_containers());
487
- $parserRegistry = & blcParserRegistry::getInstance();
488
  $loaded_parsers = array_keys($parserRegistry->get_registered_parsers());
489
 
490
  $loaded_containers = array_map(array(&$wpdb, 'escape'), $loaded_containers);
@@ -550,9 +550,9 @@ function blc_get_usable_instance_count(){
550
  $q = "SELECT COUNT(instance_id) FROM {$wpdb->prefix}blc_instances WHERE 1";
551
 
552
  //Skip instances that reference containers or parsers that aren't currently loaded
553
- $containerRegistry = & blcContainerRegistry::getInstance();
554
  $loaded_containers = array_keys($containerRegistry->get_registered_containers());
555
- $parserRegistry = & blcParserRegistry::getInstance();
556
  $loaded_parsers = array_keys($parserRegistry->get_registered_parsers());
557
 
558
  $loaded_containers = array_map(array(&$wpdb, 'escape'), $loaded_containers);
@@ -581,9 +581,9 @@ function blc_cleanup_instances(){
581
  synch.container_id IS NULL";
582
  $rez = $wpdb->query($q);
583
 
584
- $containerRegistry = & blcContainerRegistry::getInstance();
585
  $loaded_containers = array_keys($containerRegistry->get_registered_containers());
586
- $parserRegistry = & blcParserRegistry::getInstance();
587
  $loaded_parsers = array_keys($parserRegistry->get_registered_parsers());
588
 
589
  $loaded_containers = array_map(array(&$wpdb, 'escape'), $loaded_containers);
482
 
483
  //Skip instances that reference containers or parsers that aren't currently loaded
484
  if ( !$include_invalid ){
485
+ $containerRegistry = blcContainerRegistry::getInstance();
486
  $loaded_containers = array_keys($containerRegistry->get_registered_containers());
487
+ $parserRegistry = blcParserRegistry::getInstance();
488
  $loaded_parsers = array_keys($parserRegistry->get_registered_parsers());
489
 
490
  $loaded_containers = array_map(array(&$wpdb, 'escape'), $loaded_containers);
550
  $q = "SELECT COUNT(instance_id) FROM {$wpdb->prefix}blc_instances WHERE 1";
551
 
552
  //Skip instances that reference containers or parsers that aren't currently loaded
553
+ $containerRegistry = blcContainerRegistry::getInstance();
554
  $loaded_containers = array_keys($containerRegistry->get_registered_containers());
555
+ $parserRegistry = blcParserRegistry::getInstance();
556
  $loaded_parsers = array_keys($parserRegistry->get_registered_parsers());
557
 
558
  $loaded_containers = array_map(array(&$wpdb, 'escape'), $loaded_containers);
581
  synch.container_id IS NULL";
582
  $rez = $wpdb->query($q);
583
 
584
+ $containerRegistry = blcContainerRegistry::getInstance();
585
  $loaded_containers = array_keys($containerRegistry->get_registered_containers());
586
+ $parserRegistry = blcParserRegistry::getInstance();
587
  $loaded_parsers = array_keys($parserRegistry->get_registered_parsers());
588
 
589
  $loaded_containers = array_map(array(&$wpdb, 'escape'), $loaded_containers);
includes/links.php CHANGED
@@ -823,7 +823,7 @@ class blcLinkQuery {
823
  $this->__construct();
824
  }
825
 
826
- function &getInstance(){
827
  static $instance = null;
828
  if ( is_null($instance) ){
829
  $instance = new blcLinkQuery;
@@ -1011,9 +1011,9 @@ class blcLinkQuery {
1011
  if ( empty($params['include_invalid']) ){
1012
  $join_instances = true;
1013
 
1014
- $containerRegistry = & blcContainerRegistry::getInstance();
1015
  $loaded_containers = array_keys($containerRegistry->get_registered_containers());
1016
- $parserRegistry = & blcParserRegistry::getInstance();
1017
  $loaded_parsers = array_keys($parserRegistry->get_registered_parsers());
1018
 
1019
  if ( empty($s_parser_type) ){
@@ -1379,7 +1379,7 @@ class blcLinkQuery {
1379
  * @return int|array Either an array of blcLink objects, or the number of results for the query.
1380
  */
1381
  function blc_get_links($params = null){
1382
- $instance = & blcLinkQuery::getInstance();
1383
  return $instance->get_links($params, $purpose);
1384
  }
1385
 
823
  $this->__construct();
824
  }
825
 
826
+ function getInstance(){
827
  static $instance = null;
828
  if ( is_null($instance) ){
829
  $instance = new blcLinkQuery;
1011
  if ( empty($params['include_invalid']) ){
1012
  $join_instances = true;
1013
 
1014
+ $containerRegistry = blcContainerRegistry::getInstance();
1015
  $loaded_containers = array_keys($containerRegistry->get_registered_containers());
1016
+ $parserRegistry = blcParserRegistry::getInstance();
1017
  $loaded_parsers = array_keys($parserRegistry->get_registered_parsers());
1018
 
1019
  if ( empty($s_parser_type) ){
1379
  * @return int|array Either an array of blcLink objects, or the number of results for the query.
1380
  */
1381
  function blc_get_links($params = null){
1382
+ $instance = blcLinkQuery::getInstance();
1383
  return $instance->get_links($params, $purpose);
1384
  }
1385
 
includes/parsers.php CHANGED
@@ -20,7 +20,7 @@ class blcParserRegistry {
20
  *
21
  * @return blcParserRegistry
22
  */
23
- function &getInstance(){
24
  static $instance = null;
25
  if ( is_null($instance) ){
26
  $instance = new blcParserRegistry;
@@ -92,7 +92,7 @@ class blcParserRegistry {
92
  }
93
 
94
  //Create the parser registry singleton.
95
- $GLOBALS['blc_parser_registry'] = & blcParserRegistry::getInstance();
96
 
97
 
98
  /**
@@ -343,7 +343,7 @@ class blcParser {
343
  * @return bool
344
  */
345
  function blc_register_parser( $parser_type, $class_name ) {
346
- $instance = & blcParserRegistry::getInstance();
347
  return $instance->register_parser($parser_type, $class_name);
348
  }
349
 
@@ -356,7 +356,7 @@ function blc_register_parser( $parser_type, $class_name ) {
356
  * @return blcParser|null
357
  */
358
  function blc_get_parser( $parser_type ){
359
- $instance = & blcParserRegistry::getInstance();
360
  return $instance->get_parser($parser_type);
361
  }
362
 
@@ -370,7 +370,7 @@ function blc_get_parser( $parser_type ){
370
  * @return array of blcParser
371
  */
372
  function blc_get_parsers( $format, $container_type ){
373
- $instance = & blcParserRegistry::getInstance();
374
  return $instance->get_parsers($format, $container_type);
375
  }
376
 
20
  *
21
  * @return blcParserRegistry
22
  */
23
+ function getInstance(){
24
  static $instance = null;
25
  if ( is_null($instance) ){
26
  $instance = new blcParserRegistry;
92
  }
93
 
94
  //Create the parser registry singleton.
95
+ $GLOBALS['blc_parser_registry'] = blcParserRegistry::getInstance();
96
 
97
 
98
  /**
343
  * @return bool
344
  */
345
  function blc_register_parser( $parser_type, $class_name ) {
346
+ $instance = blcParserRegistry::getInstance();
347
  return $instance->register_parser($parser_type, $class_name);
348
  }
349
 
356
  * @return blcParser|null
357
  */
358
  function blc_get_parser( $parser_type ){
359
+ $instance = blcParserRegistry::getInstance();
360
  return $instance->get_parser($parser_type);
361
  }
362
 
370
  * @return array of blcParser
371
  */
372
  function blc_get_parsers( $format, $container_type ){
373
+ $instance = blcParserRegistry::getInstance();
374
  return $instance->get_parsers($format, $container_type);
375
  }
376
 
readme.txt CHANGED
@@ -1,10 +1,9 @@
1
  === Broken Link Checker ===
2
  Contributors: whiteshadow
3
- Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=A6P9S6CE3SRSW
4
  Tags: links, broken, maintenance, blogroll, custom fields, admin, comments, posts
5
  Requires at least: 2.9.0
6
  Tested up to: 3.0
7
- Stable tag: 0.9.4.2
8
 
9
  This plugin will check your posts, comments and other places for broken links and missing images and notify you if any are found.
10
 
@@ -79,18 +78,6 @@ To upgrade your installation
79
 
80
  *This is an automatically generated changelog*
81
 
82
- = 0.9.4.2 =
83
- * Added more debugging data to the "Show debug info" table.
84
- * Added missing indexes to the instance table.
85
- * Yet more PHP4 compatibility fixes.
86
- * Added a notification bubble with the current number of broken links to the Tools -> Broken Links menu item.
87
-
88
- = 0.9.4.1 =
89
- * Fixed PHP 4 incompatibilities introduced in the previous release.
90
- * Fixed bulk unlink.
91
- * Updated Italian translation.
92
- * Updated Danish translation.
93
-
94
  = 0.9.4 =
95
  * Fixed missing post and comment edit links in email notifications.
96
  * Updated Danish translation.
@@ -418,7 +405,3 @@ To upgrade your installation
418
  = 0.1 =
419
  * *There are no release notes for this version*
420
 
421
- == Upgrade Notice ==
422
-
423
- = 0.9.4.2 =
424
- Fixes a major PHP4 compatibility problem introduced in version 0.9.4 and adds a notification bubble with the current broken link count to the "Broken Links" menu.
1
  === Broken Link Checker ===
2
  Contributors: whiteshadow
 
3
  Tags: links, broken, maintenance, blogroll, custom fields, admin, comments, posts
4
  Requires at least: 2.9.0
5
  Tested up to: 3.0
6
+ Stable tag: 0.9.4.1
7
 
8
  This plugin will check your posts, comments and other places for broken links and missing images and notify you if any are found.
9
 
78
 
79
  *This is an automatically generated changelog*
80
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  = 0.9.4 =
82
  * Fixed missing post and comment edit links in email notifications.
83
  * Updated Danish translation.
405
  = 0.1 =
406
  * *There are no release notes for this version*
407