File: /home/awaldron/_domains/phlibrary.alanwaldron.com/get_eventkeeper2.php
<?php
require_once("wp-load.php");
date_default_timezone_set('America/New_York');
function get_cat($title) {
$cat_id = 3;
if (preg_match('/(kids|toddler|children|baby|finnegan|santa|trunk or treat)/i', $title) === 1) {
$cat_id = 4;
}
if (preg_match('/(teen|young adult)/i', $title) === 1) {
$cat_id = 11;
}
if (preg_match('(conor)', $title) === 1) {
$cat_id = 1;
}
return $cat_id;
}
function create_event( $e, $db ) {
$ins = "INSERT INTO events (`title`,`location`,`address`,`event_cat_id`,`event_private`,`description`,`event_src`) VALUES (";
$ins .= "'".$e['title']."', ";
$ins .= "'Penn Hills Library', ";
$ins .= "'1037 Stotler Rd, Penn Hills, PA 15235', ";
$ins .= "'".$e['cat_id']."', ";
$ins .= "'".$e['private']."', ";
$ins .= "'".$_POST['description']."',";
$ins .= "'lib'";
$ins .= ")";
$db->query($ins);
return $db->get_var( "SELECT MAX(event_id) FROM events" );
}
function create_date( $eid, $e, $db ) {
$end = (!empty($e['end']) ? $e['end'] : strtotime('+1 hour', strtotime($e['start'])));
$ins = "INSERT INTO event_date (`event_id`, `start`, `end`, `seats`) VALUES (";
$ins .= $eid.", ";
$ins .= "'".$e['start']."', ";
$ins .= "'".$end."', ";
$ins .= "0";
$ins .= ")";
$db->query($ins);
return $db->get_var( "SELECT MAX(event_date_id) FROM event_date" );
}
error_reporting(E_ALL);
$handle = curl_init();
$url = 'http://www.eventkeeper.com/ekfeed/PENNHILLS_WEBSITE2.xml';
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($handle);
curl_close($handle);
$xml = simplexml_load_string($response);
$xml = $xml->channel->item;
$events = array();
$i = 0;
foreach($xml as $event) {
foreach($event as $k=>$v) {
if ($k==='title') {
$title = (string)$v;
$p1 = explode('--', $title);
$p2 = explode(' at ',$p1[1]);
$title = trim($p2[0]);
$events[$i]['title'] = $title;
$events[$i]['cat_id'] = get_cat($title);
} elseif ($k==='ekdate') {
$events[$i]['ekdate'] = (string)$v;
$events[$i]['start_time'] = strtotime($events[$i]['ekdate']);
$events[$i]['start'] = date('Y-m-d H:i:s', $events[$i]['start_time']);
} elseif ($k==='description') {
$desc = preg_replace( "/\r|\n/", "", (string)$v );
$desc = str_replace('<p> </p>','',$desc);
$events[$i][$k] = $desc;
$events[$i]['private'] = (stristr($desc, 'private') ? 1 : 0);
} else {
$events[$i][$k] = (string)$v;
}
}
$i++;
}
echo "<pre>";print_r($events);echo "</pre>"; exit;
/*
global $wpdb;
$db = new wpdb(APPDB_USER,APPDB_PASSWORD,APPDB_NAME,APPDB_HOST);
foreach ($events as $e) {
// Check if Event Title Exists
$eid = $db->get_var( "SELECT event_id FROM events WHERE title='".$e['title']."'" );
if (empty($eid)) {
$eid = create_event($e, $db);
}
// Check if event date already exists
$did = $db->get_var( "SELECT event_date_id FROM event_date WHERE event_id=".$eid." AND start='".$e['start']."'" );
if (empty($did)) {
$did = create_date($eid, $e, $db);
}
// Update the event description
$db->query("UPDATE events SET description='".$e['description']."' WHERE event_id=".$eid);
}
echo 'ok'; exit;
*/