<?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; }
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; }