Jacek Kowalski
2013-09-05 806853493b50b3d9cf22dee378a769d3694975c5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
$file = file('./channels.list');
foreach($file as $chan) {
    $chan = trim($chan);
    if(empty($chan) || substr($chan, 0, 1)=='#') {
        continue;
    }
    
    $parts = preg_split('/\t[\40\t]*/', $chan, 4);
    
    echo STAR.'Pobieranie kanału '.$parts[3];
    
    $curl = curl_init($parts[0]);
    curl_setopt($curl, CURLOPT_AUTOREFERER, TRUE);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 10);
    curl_setopt($curl, CURLOPT_MAXREDIRS, 5);
    curl_setopt($curl, CURLOPT_FILETIME, TRUE);
    curl_setopt($curl, CURLOPT_USERAGENT, 'BotGaduGadu/1.0 mod_rss/1.0 (http://jacekk.info/botgg)');
    if(is_file($parts[1].'.rss')) {
        curl_setopt($curl, CURLOPT_HTTPHEADER, array(
            'If-Modified-Since: '.date('r', filemtime($parts[1].'.rss')),
        ));
    }
    
    $return = curl_exec($curl);
    $info = curl_getinfo($curl);
    
    if($info['http_code'] == 304) {
        echo NOT;
    }
    else if($info['http_code'] == 200) {
        file_put_contents($parts[1].'.rss', $return);
        if($info['filetime']>0) {
            touch($parts[1].'.rss', $info['filetime']);
        }
        echo OK;
    }
    else
    {
        echo '('.$info['http_code'].') '.FAIL;
    }
    
    curl_close($curl);
    
    unset($return);
}
?>