<?php 
/*
Plugin Name: Intrasite Links
Plugin URI: http://ddhr.org/code/intrasite-links/
Description: Finds which posts link to the current post.
Author: David Hosier
Version: 0.7
Author URI: http://ddhr.org/
*/

function intrasite_links() {
	$before = '<div class="comment post"><p><b>Linked:</b>&nbsp;&nbsp;';
	$after = '</p></div>';
	$between = ', ';

	global $wpdb, $post;
	$thispostlink = str_replace(get_bloginfo('url'),"",get_permalink());

	$results_posts = $wpdb->get_results("
		SELECT ID, post_title FROM $wpdb->posts 
		WHERE post_content LIKE '%$thispostlink%' AND ID != $post->ID AND post_status = 'publish' 
		GROUP BY ID
	");
	
	$results_comments = $wpdb->get_results("
		SELECT comment_ID, comment_post_ID FROM $wpdb->comments 
		WHERE comment_content LIKE '%$thispostlink%' AND comment_type != 'pingback' 
		GROUP BY comment_ID
	");

	if ($results_posts || $results_comments) {
		echo $before;
		if($results_posts) {
			foreach ($results_posts as $result) {
				echo '<a href="'.get_permalink($result->ID).'">'.$result->post_title.'</a>';
				if ($result != end($results_posts)) echo $between;
			}
		}
		if ($results_posts && $results_comments) echo $between;
		if ($results_comments) {
			foreach ($results_comments as $result) {
				$the_post_title = $wpdb->get_row("SELECT post_title FROM $wpdb->posts WHERE ID = $result->comment_post_ID");
				echo '<a href="'.get_permalink($result->comment_post_ID).'#comment-'.$result->comment_ID.'">'.$the_post_title->post_title.' (comment)</a>';
				if ($result != end($results_comments)) echo $between;
			}
		}
		echo $after;
	}
}
?>