uri(); // check for effects of an effective-url filter $effectiveUrl = $link->uri( array( 'fetch' => true ) ); if ( $url != $effectiveUrl ) : $url .= ' | ' . $effectiveUrl; endif; $mesgs = $wpError->get_error_messages(); foreach ( $mesgs as $mesg ) : $mesg = esc_html( $mesg ); FeedWordPress::diagnostic( 'updated_feeds:errors', "Feed Error: [{$url}] update returned error: $mesg" ); $hours = get_option( 'feedwordpress_diagnostics_persistent_errors_hours', 2 ); $span = ( $error['ts'] - $error['since'] ); if ( $span >= ( $hours * 60 * 60 ) ) : $since = date( 'r', $error['since'] ); /** @var string Never used. */ $mostRecent = date( 'r', $error['ts'] ); // never used?... (gwyneth 20230919) FeedWordPress::diagnostic( 'updated_feeds:errors:persistent', "Feed Update Error: [{$url}] returning errors" ." since {$since}:
$mesg", $url, $error['since'], $error['ts'] ); endif; endforeach; } /* FeedWordPressDiagnostic::feed_error() */ /** * Returns an array with the list of administrator emails for this site. * * @param int|string $id Current blog ID (for multisite installations). * * @return array Array with all email addresses for this blog. * * @uses get_users_of_blog() * * @note This uses the deprecated WP function `get_users_of_blog()`, which * should be replaced with `get_users()`, which, however, has quite more * intricate syntax (and customisation!). * * It might be even possible to retrieve everything in a single call: * ``` * return get_users( * array( * 'role__in' => 'administrator', * 'capability__in' => 'administrator', * 'fields' => 'user_email', * 'count_total' => false // no need to count them; improves performance. * ) * ); * ``` * * Alternatively, the function `admin_emails()` may simply be marked as deprecated and * `get_users()` used instead. This requires debugging! (gwyneth 20230919) */ public static function admin_emails( $id = '' ) { // deprecated, see comment on the function description! (gwyneth 20230919) $users = get_users_of_blog( $id ); $recipients = array(); foreach ( $users as $user ) : $user_id = ( isset( $user->user_id ) ? $user->user_id : $user->ID ); $dude = new WP_User( $user_id ); if ( $dude->has_cap('administrator') ) : if ( $dude->user_email ) : $recipients[] = $dude->user_email; endif; endif; endforeach; return $recipients; } /* FeedWordPressDiagnostic::admin_emails() */ public static function noncritical_bug ($varname, $var, $line, $file = NULL) { if ( FEEDWORDPRESS_DEBUG ) : // halt only when we are doing debugging self::critical_bug($varname, $var, $line, $file); endif; } /* FeedWordPressDiagnostic::noncritical_bug () */ public static function critical_bug ($varname, $var, $line, $file = NULL) { global $wp_version; if ( !is_null($file)) : $location = "line # {$line} of ".basename($file); else : $location = "line # {$line}"; endif; print '

Critical error: There may be a bug in FeedWordPress. Please contact the author and paste the following information into your e-mail:

'; print "\n
";
		print "Triggered at " . esc_html($location) . "\n";
		print "FeedWordPress: " . esc_html( FEEDWORDPRESS_VERSION ) . "\n";
		print "WordPress:     " . esc_html( $wp_version ) . "\n";
		print "PHP:           " . esc_html( phpversion() ) . "\n";
		print "Error data:    ";
		print esc_html($varname) . ": " . esc_html( MyPHP::val( $var ) ) . "\n";
		print "\n
"; die; } /* FeedWordPressDiagnostic::critical_bug () */ public static function is_on ($level) { $show = get_option('feedwordpress_diagnostics_show', array()); if ( ! is_array( $show ) ) { $show = array( $show ); } return ( in_array( $level, $show ) ); } /* FeedWordPressDiagnostic::is_on () */ } /* class FeedWordPressDiagnostic */