Пример #1
0
#!/usr/bin/env php
<?php 
// http://www.cafeoto.co.uk/programme.shtm
// http://www.timeout.com/london/venue/14759/cafe_oto.html
// http://www.remotegoat.co.uk/venue_view.php?uid=25219
require __DIR_ . '/../main.inc.php';
$calendar_name = 'cafe OTO';
$xml = url_html_xml('http://www.cafeoto.co.uk/programme.shtm');
//$xml = url_html_xml('files/test.html');
$rows = $xml->xpath('//td[@id="maincontent"]/table/tr');
array_shift($rows);
// header
$events = array();
foreach ($rows as $row) {
    $start = fix_oto_date((string) $row->td[1]->p[1]);
    if (!$start) {
        continue;
    }
    $end = $start + 60 * 60 * 3;
    // 3hr
    $thumbnail = first($row->xpath('td[@id="progpics"]/a'));
    $info = first($row->xpath('td[@id="programme"]'));
    $summary = (string) first($info->xpath('p[@class="bandname"]'));
    //printf("\n===\n%s\n===\n", $summary);
    $description = $info;
    unset($description->p[0]);
    unset($description->br);
    $events[] = array('start' => $start, 'end' => $end, 'uri' => make_link($thumbnail['href']), 'image' => make_link($thumbnail->img['src']), 'summary' => strip_tags($summary), 'description' => strip_tags($description->asXML()), 'location' => $calendar_name);
}
ical($calendar_name, $events);
function fix_oto_date($input)
Пример #2
0
<?php

require __DIR_ . '/../main.inc.php';
$params = array('dsd' => $date['mday'], 'dsm' => $date['mon'], 'dsy' => $date['year'], 'ded' => $date['mday'], 'dem' => $date['mon'], 'dey' => $date['year'], 'gal' => $gal, 'view' => 'illustrated');
$url = 'http://www.tate.org.uk/calendar/calendar.jsp?' . http_build_query($params);
$xml = url_html_xml($url);
//$xml = url_html_xml('files/tate.html');
$rows = $xml->xpath('//div[@id="results"]/div/table/tr[@class="resultrow"]');
$events = array();
foreach ($rows as $row) {
    $date_span = $row->td[0]->span[1]->span;
    $start = sscanf((string) $date_span->span[0], '%d.%d');
    $end = sscanf((string) $date_span->span[1], '%d.%d');
    $info = first($row->xpath('td[@class="resultsinfo"]'));
    $thumbnail = first($info->xpath('div[@class="resultsthumbnail"]/a'));
    $summary = first($info->xpath('div[@class="resultstitle"]/strong/a/span'));
    $description = first($info->xpath('div[@class="resultsdesc"]/span/span'));
    $events[] = array('start' => gmmktime($start[0], $start[1], 0, $date['mon'], $date['mday'], $date['year']), 'end' => gmmktime($end[0], $end[1], 0, $date['mon'], $date['mday'], $date['year']), 'uri' => make_link($thumbnail['href']), 'image' => make_link($thumbnail->img['src']), 'summary' => (string) $summary, 'description' => (string) $description, 'location' => $calendar_name);
}
ical($calendar_name, $events);
Пример #3
0
#!/usr/bin/env php
<?php 
// http://www.cafeoto.co.uk/programme.shtm
// http://www.timeout.com/london/venue/14759/cafe_oto.html
// http://www.remotegoat.co.uk/venue_view.php?uid=25219
require __DIR_ . '/../main.inc.php';
$calendar_name = 'Southbank Centre';
$xml = url_html_xml('http://www.southbankcentre.co.uk/all-events?action=calendar&calendar_selected=2009-01-13');
//$xml = url_html_xml('../files/test.html');
$rows = $xml->xpath('//div[@id="col1"]/div[@class="list"]');
$events = array();
foreach ($rows as $row) {
    $thumbnail = first($row->xpath('a[@class="noA"]'));
    $info = $row->div[0];
    $datetime = (string) first($info->xpath('*[@class="datetime"]'));
    list($start, $end) = array_map('strtotime', explode(' - ', $datetime));
    $summary = (string) $info->h4;
    $description = (string) first($info->xpath('*[@class="info2"]'));
    $venue = (string) first($info->xpath('*[@class="venue"]'));
    $price = first($info->xpath('*[@class="price"]'));
    //printf("\n===\n%s\n===\n", $summary);
    $events[] = array('start' => $start, 'end' => $end, 'uri' => make_link($thumbnail['href']), 'image' => make_link($thumbnail->img['src']), 'summary' => strip_tags($summary), 'description' => strip_tags($description), 'location' => $venue ? $venue : $calendar_name);
}
ical($calendar_name, $events);