<?php

require_once dirname(__FILE__) . '/snap.php';
while (true) {
    $conn = friendfeed_config::get_both_conn();
    $rs = mysqli_query($conn, "SELECT * FROM source WHERE service = 'baidu_space'");
    $sources = array();
    while ($row = mysqli_fetch_assoc($rs)) {
        $sources[] = $row;
    }
    foreach ($sources as $source) {
        snap_baidu_space_item($source['username'], $source['source_id']);
    }
    $now = date('Y-m-d H:i:s');
    mysqli_query($conn, "UPDATE source SET last_snap = '{$now}' WHERE service = 'baidu_space'");
    sleep(86400);
}
 private static function _add_subscribe($user_id, $service, $username, $tx_userid, $type, $alias)
 {
     $conn = friendfeed_config::get_both_conn();
     $username = addslashes($username);
     $alias = addslashes($alias);
     // 检查是否有人订过该源
     $rs = mysqli_query($conn, "SELECT * FROM source WHERE service = '{$service}' AND username = '******'");
     $row = mysqli_fetch_assoc($rs);
     if ($row === null) {
         // 还没有人订过
         mysqli_query($conn, "INSERT INTO source VALUES (NULL, '{$service}', '{$username}', '{$tx_userid}', '1970-01-01 00:00:00', '0', '')");
         $source_id = mysqli_insert_id($conn);
     } else {
         $source_id = $row['source_id'];
     }
     if (is_array($user_id)) {
         $user_ids = implode(', ', $user_id);
         // 检查是否已经订阅过该源
         $rs = mysqli_query($conn, "SELECT * FROM subscribe WHERE user_id IN ({$user_ids}) AND source_id = '{$source_id}' AND type = '{$type}'");
         $except_ids = array();
         while ($row = mysqli_fetch_assoc($rs)) {
             $except_ids[] = $row['user_id'];
         }
         $user_ids = array_diff($user_id, $except_ids);
         $inserts = array();
         foreach ($user_ids as $user_id) {
             $inserts[] = "(NULL, '{$user_id}', '{$source_id}', '{$type}', '{$alias}', '0')";
         }
         if ($inserts === array()) {
             return;
         }
         $inserts = implode(', ', $inserts);
         $sql = "INSERT INTO subscribe VALUES {$inserts}";
         mysqli_query($conn, $sql);
     } else {
         // 检查是否已经订阅过该源
         $rs = mysqli_query($conn, "SELECT * FROM subscribe WHERE user_id = '{$user_id}' AND source_id = '{$source_id}' AND type = '{$type}'");
         $row = mysqli_fetch_assoc($rs);
         if ($row === null) {
             // 还没有订阅过
             mysqli_query($conn, "INSERT INTO subscribe VALUES (NULL, '{$user_id}', '{$source_id}', '{$type}', '{$alias}', '0')");
         }
     }
     return $source_id;
 }
Exemple #3
0
function snap_sohu_blog_item($username, $source_id)
{
    $content = file_get_contents('http://' . $username . '.blog.sohu.com/rss');
    if (strpos($content, '<html') !== false) {
        return false;
    }
    $rss = new MagpieRSS($content, 'UTF-8', 'UTF-8', false);
    $conn = friendfeed_config::get_both_conn();
    $snapday = date('Y-m-d H:i:s');
    $new_links = array();
    foreach ($rss->items as $item) {
        $new_links[] = $item['link'];
    }
    $sql = "SELECT * FROM item WHERE source_id = '{$source_id}'";
    $rs = mysqli_query($conn, $sql);
    $old_links = array();
    while ($row = mysqli_fetch_assoc($rs)) {
        $old_links[] = $row['link'];
    }
    $links = array_diff($new_links, $old_links);
    $change_ids = array();
    foreach ($rss->items as $item) {
        if (in_array($item['link'], $links)) {
            $item['title'] = addslashes($item['title']);
            $item['description'] = addslashes($item['description']);
            $item['pubdate'] = strtotime($item['pubdate']);
            $sql = "INSERT INTO item VALUES (NULL, '{$source_id}', '{$snapday}', '{$item['pubdate']}', '0', '{$item['title']}', '{$item['link']}', '" . FEED_BLOG . "', '{$item['description']}', '')";
            mysqli_query($conn, $sql);
            $change_ids[] = mysqli_insert_id($conn);
        }
    }
    if ($change_ids !== array()) {
        $new_num = count($change_ids);
        $change_ids = implode('|', $change_ids);
        $now = date('Y-m-d H:i:s');
        $sql = "UPDATE source SET is_new_changed = '1', changes = '{$change_ids}',last_snap = '{$now}' WHERE source_id = '{$source_id}'";
        mysqli_query($conn, $sql);
        $sql = "UPDATE subscribe SET new_num = new_num + {$new_num} WHERE source_id = '{$source_id}'";
        mysqli_query($conn, $sql);
    }
    return true;
}