| 1 | #!/usr/bin/php |
|---|
| 2 | <? |
|---|
| 3 | include ('../includes/includes.inc.php'); |
|---|
| 4 | include ('../includes/config/global.inc.php'); |
|---|
| 5 | include ('../includes/rss/rss_fetch.inc.php'); |
|---|
| 6 | include ('../includes/rss/rss_utils.inc.php'); |
|---|
| 7 | |
|---|
| 8 | $_SERVER['SERVER_ADDR'] = '213.186.54.179'; |
|---|
| 9 | |
|---|
| 10 | $db =& DB::connect($dsn); |
|---|
| 11 | if (DB::isError($db)) |
|---|
| 12 | error_log($_SERVER['HTTP_HOST'].' | '.__FILE__.' | Connexion SQL impossible : '.$db->getMessage()); |
|---|
| 13 | |
|---|
| 14 | $db->setFetchMode(DB_FETCHMODE_ASSOC); |
|---|
| 15 | |
|---|
| 16 | $blog_r = $db->query('SELECT id, id_blog, rss FROM rss_blog WHERE rss LIKE "http%"'); |
|---|
| 17 | |
|---|
| 18 | $debug = false; |
|---|
| 19 | |
|---|
| 20 | while($blog = $blog_r->fetchRow()) |
|---|
| 21 | { |
|---|
| 22 | $debug and $blog['rss'] = 'http:masafr.exblog.jp/'; |
|---|
| 23 | print '> '.$blog['rss']; |
|---|
| 24 | |
|---|
| 25 | preg_match("/^(http:\/\/)?([^\/]+)/i", $blog['rss'], $matches); |
|---|
| 26 | $host = $matches[2]; |
|---|
| 27 | |
|---|
| 28 | list($host_ip) = gethostbynamel($matches[2]); |
|---|
| 29 | |
|---|
| 30 | if($host_ip ) |
|---|
| 31 | { |
|---|
| 32 | print " ... $host_ip ok\n"; |
|---|
| 33 | $rss = @fetch_rss($blog['rss']); |
|---|
| 34 | if($rss) |
|---|
| 35 | { |
|---|
| 36 | $debug and print_r($rss); |
|---|
| 37 | $debug and exit(); |
|---|
| 38 | $blog_values = array( |
|---|
| 39 | 'title' => $rss->channel['title'], |
|---|
| 40 | 'link' => $rss->channel['link'], |
|---|
| 41 | 'rss' => $blog['rss'], |
|---|
| 42 | 'id' => $blog['id'] |
|---|
| 43 | ); |
|---|
| 44 | $debug and print_r($blog_values); |
|---|
| 45 | $debug or $db->autoExecute('rss_blog', $blog_values, DB_AUTOQUERY_UPDATE, "id='".$blog['id']."'"); |
|---|
| 46 | $idx=0; |
|---|
| 47 | foreach ( $rss->items as $item ) |
|---|
| 48 | { |
|---|
| 49 | $db_values = array( |
|---|
| 50 | 'id' => $blog['id'], |
|---|
| 51 | 'id_blog' => $blog['id_blog'], |
|---|
| 52 | 'id_ticket' => md5($blog['id'].$item['link']), |
|---|
| 53 | 'title' => $item['title'], |
|---|
| 54 | 'link' => $item['link'] |
|---|
| 55 | ); |
|---|
| 56 | if($item['dc']['date']) |
|---|
| 57 | $db_values['date'] = date("U",parse_w3cdtf($item['dc']['date'])); |
|---|
| 58 | elseif($item['pubdate']) |
|---|
| 59 | $db_values['date'] = strtotime($item['pubdate']); |
|---|
| 60 | if($item['description']) |
|---|
| 61 | $db_values['description'] = $item['description']; |
|---|
| 62 | if($item['content']['encoded']) |
|---|
| 63 | $db_values['content'] = $item['content']['encoded']; |
|---|
| 64 | |
|---|
| 65 | $res = $db->autoExecute('rss_blog_ticket', $db_values); |
|---|
| 66 | if(DB::isError($res)) |
|---|
| 67 | print '_'; |
|---|
| 68 | else |
|---|
| 69 | print '.'; |
|---|
| 70 | unset($res); |
|---|
| 71 | $idx++; |
|---|
| 72 | } |
|---|
| 73 | $debug or $db->query('UPDATE cache_user SET nb_blogs=? WHERE id=?', array($idx, $blog['id'])); |
|---|
| 74 | |
|---|
| 75 | } |
|---|
| 76 | else |
|---|
| 77 | { |
|---|
| 78 | |
|---|
| 79 | |
|---|
| 80 | |
|---|
| 81 | error_log('fetch_rss | error ^^^^^^^^^^^^^^^^^^ | '.$blog['rss']); |
|---|
| 82 | print " * Error"; |
|---|
| 83 | } |
|---|
| 84 | print "\n"; |
|---|
| 85 | } |
|---|
| 86 | else |
|---|
| 87 | print " -> BAD\n"; |
|---|
| 88 | } |
|---|
| 89 | |
|---|
| 90 | $db->disconnect(); |
|---|
| 91 | ?> |
|---|