Exemplo n.º 1
0
function db_rss_insert_rss_cache($rss_url, $c_member_id)
{
    include_once 'OpenPNE/RSS.php';
    $rss = new OpenPNE_RSS();
    if (!($items = $rss->fetch($rss_url))) {
        return false;
    }
    foreach ($items as $item) {
        // 最新のものと比較
        if (!db_rss_is_duplicated_rss_cache($c_member_id, $item['date'], $item['link']) && !db_rss_is_future_rss_item($item['date'])) {
            if ($id = db_rss_is_updated_rss_cache($c_member_id, $item['link'])) {
                // update
                db_rss_update_c_rss_cache($id, $item['title'], $item['body'], $item['date'], $item['link']);
            } else {
                // insert
                db_rss_insert_c_rss_cache($c_member_id, $item['title'], $item['body'], $item['date'], $item['link']);
            }
        }
    }
}
Exemplo n.º 2
0
 function _get_rss_feed($portal_rss_id)
 {
     $data = db_portal_portal_rss($portal_rss_id);
     if (!$data || strlen(trim($data['url'])) == 0) {
         return "";
     }
     require_once 'OpenPNE/RSS.php';
     $parser = new OpenPNE_RSS();
     $result = @$parser->fetch($data['url'], true);
     if (!$result) {
         return array();
     }
     foreach ($result[1] as $key => $content) {
         $image_url = '';
         $enc_type = $content['enclosure']->type;
         if ($enc_type == 'image/jpeg' || $enc_type == 'image/png' || $enc_type == 'image/gif') {
             $image_url = $content['enclosure']->link;
         }
         $result[1][$key]['image_url'] = $image_url;
     }
     return $result;
 }
Exemplo n.º 3
0
function db_admin_update_c_cmd4c_cmd_caster_id($c_cmd_caster_id)
{
    $sql = 'SELECT url FROM c_cmd_caster WHERE c_cmd_caster_id = ?';
    $url = db_get_one($sql, array($c_cmd_caster_id));
    require_once 'OpenPNE/RSS.php';
    $rss = new OpenPNE_RSS();
    $items = $rss->fetch($url);
    $cmd_count = 0;
    $allowed_type = array('text/javascript', 'application/javascript');
    foreach ($items as $item) {
        $enclosure = $item['enclosure'];
        if (!in_array($enclosure->type, $allowed_type)) {
            continue;
        }
        $cmd_count++;
        $name = basename($enclosure->link, '.js');
        if ($c_cmd_id = db_admin_get_c_cmd_id4name_c_cmd_caster_id($name, $c_cmd_caster_id)) {
            if (!db_admin_is_updated_c_cmd($c_cmd_id, $item['date'])) {
                continue;
            }
            $data = array('url' => $enclosure->link, 'u_datetime' => $item['date']);
            $where = array('c_cmd_id' => $c_cmd_id);
            db_update('c_cmd', $data, $where);
        } else {
            $data = array('name' => $name, 'url' => $enclosure->link, 'permit' => 127, 'c_cmd_caster_id' => $c_cmd_caster_id, 'r_datetime' => $item['date'], 'u_datetime' => $item['date']);
            db_insert('c_cmd', $data);
        }
    }
    return $cmd_count;
}