Пример #1
0
 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;
Пример #2
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;
}
Пример #3
0
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'>&nbsp;</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>";
        }
    }
}