if ($start && is_numeric($start)) { $filters['skip'] = $start; } # posts citing another post? if ($citing_url) { $citing_posts = get_posts_linking_to(false, false, $citing_url); if (sizeof($citing_posts) >= 1) { $filters['post_id'] = $citing_posts; } else { $filters['post_id'] = array(); $output_available = 0; } } # posts citing a paper? if ($citing_paper) { $citing_posts = get_posts_for_paper($citing_paper, true); if (sizeof($citing_posts) >= 1) { $filters['post_id'] = $citing_posts; } else { $filters['post_id'] = array(); $output_available = 0; } } # fetch specific post_ids? if ($post_id) { $post_id = validate_lists(explode(',', $post_id)); if (sizeof($post_id) >= 1) { $filters['post_id'] = $post_id; } else { $filters['post_id'] = array(); $output_available = 0;
function get_tags_for_paper($paper_id, $include_posts = true) { $tags = array(); $paper_id = mysql_escape_string($paper_id); $query = "SELECT DISTINCT tag FROM tags WHERE paper_id={$paper_id}"; if ($include_posts) { $posts = get_posts_for_paper($paper_id); $post_ids = array(); if ($posts) { foreach ($posts as $post) { array_push($post_ids, $post['post_id']); } if ($post_ids) { $query .= " OR post_id IN (" . implode(',', $post_ids) . ")"; } } } $results = mysql_query($query); while ($row = mysql_fetch_assoc($results)) { array_push($tags, $row['tag']); } return $tags; }
function print_paper($paper, $filters = array()) { global $logged_on; global $page_vars; $paper_id = $paper['paper_id']; print "<div class='paperbox'>"; # some shortcuts: if ($filters['display'] == "minimal") { if (!isset($filters['show_byline'])) { $filters['show_byline'] = true; } if (!isset($filters['show_tags'])) { $filters['show_tags'] = true; } if (!isset($filters['show_posts'])) { $filters['show_posts'] = false; } if (!isset($filters['show_abstract'])) { $filters['show_abstract'] = false; } if (!isset($filters['show_comments'])) { $filters['show_comments'] = false; } if (!isset($filters['show_teaser'])) { $filters['show_teaser'] = false; } if (!isset($filters['show_scorebox'])) { $filters['show_scorebox'] = true; } if (!isset($filters['add_comment'])) { $filters['add_comment'] = false; } } else { # set some defaults if (!isset($filters['show_byline'])) { $filters['show_byline'] = true; } if (!isset($filters['show_tags'])) { $filters['show_tags'] = true; } if (!isset($filters['show_posts'])) { $filters['show_posts'] = true; } if (!isset($filters['show_abstract'])) { $filters['show_abstract'] = true; } if (!isset($filters['show_comments'])) { $filters['show_comments'] = true; } if (!isset($filters['show_teaser'])) { $filters['show_teaser'] = false; } if (!isset($filters['show_scorebox'])) { $filters['show_scorebox'] = true; } if (!isset($filters['add_comment'])) { $filters['add_comment'] = true; } } $tags = array(); if ($filters['show_tags'] == true) { $tags = get_tags_for_paper($paper_id, true); } # print title of paper if (!$paper['title']) { $paper['title'] = "Unknown title"; } print "<div class='paperbox_title'>"; $title_link = linkto("paper.php", $GLOBALS['page_vars'], array("paper_id" => $paper['paper_id'])); if ($filters['link_through']) { $title_link = $paper['url']; } print "<a href='{$title_link}'>" . $paper['title'] . "</a>"; print "</div>"; if ($filters['show_byline'] == true) { print "<div class='paperbox_byline'>"; print connotea_link($paper['url']); if ($filters['show_scorebox'] == true && $paper['cited_by']) { print print_rating($paper['cited_by'], linkto("paper.php", $page_vars, array("paper_id" => $paper['paper_id']))); } print " published by <a href='" . linkto("journal_search.php", $GLOBALS['page_vars'], array("journal_id" => $paper['journal'])) . "'>" . $paper['journal'] . "</a> on <span class='date'>" . date("D jS M y", strtotime($paper['pubdate'])) . "</span>"; if ($filters['show_abstract'] == true) { print "<br/><span class='author'>" . $paper['authors'] . "</span>"; } print "</div>"; } if ($tags) { print "<div class='tagbox'>"; foreach ($tags as $tag) { print "<a href='" . linkto("tag_search.php", $GLOBALS['page_vars'], array("tag" => $tag)) . "'>{$tag}</a> "; } print "</div>"; } if ($filters['show_abstract'] && $paper['abstract']) { print "<div class='paperbox_identifiers'>"; if ($paper['doi_id']) { printf("DOI <a href='%s'>%s</a> ", "http://dx.doi.org/" . $paper['doi_id'], $paper['doi_id']); } if ($paper['isbn_id']) { printf("ISBN <a href='%s'>%s</a> ", "http://isbndb.com/search-all.html?kw=" . $paper['isbn_id'], $paper['isbn_id']); } if ($paper['pubmed_id']) { printf("PMID <a href='%s'>%s</a> ", "http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=pubmed&cmd=Retrieve&list_uids=" . $paper['pubmed_id'], $paper['pubmed_id']); } if ($paper['arxiv_id']) { printf("OAI <a href='%s'>%s</a> ", "http://www.citebase.org/abstract?id=" . urlencode($paper['arxiv_id']), $paper['arxiv_id']); } print "</div>"; print "<div class='paperbox_abstract'>"; if ($paper['image']) { print "<div class='paperbox_thumbnail'><img src='" . $paper['image'] . "'/></div>"; } print $paper['abstract']; print "<div class='paperbox_footer'> </div>"; print "</div>"; } print "</div>"; if ($filters['add_comment']) { if ($logged_on) { #print_comment_prompt(); } } if ($filters['show_posts'] == true) { $posts = get_posts_for_paper($paper_id); if ($posts) { print "<div class='paperbox_posts'>"; print "<h3>Posts</h3>"; foreach ($posts as $post) { print_post($post, array("image" => true)); } print "</div>"; } } if ($filters['show_comments'] == true) { $comments = get_comments_for_paper($paper_id); if ($comments) { print "<div class='paperbox_comments'>"; print "<h3>Comments</h3>"; foreach ($comments as $comment) { print_comment($comment); } print "</div>"; } } }