<?
header("Content-Type: text/xml");
header("Cache-Control: no-cache");
header("Pragma: no-cache");

define_syslog_variables();						// Make syslog visible
openlog( "ResexRssXML", LOG_PID, LOG_LOCAL4 );		// Rout Treasure messages to LOG_LOCAL3 (routed at /etc/syslog.conf)
syslog( LOG_INFO, "ResexRssXML: " . $_SERVER[ 'HTTP_REFERER' ] . " " . $_SERVER[ 'REMOTE_ADDR' ] );	// Send message to syslog
include("feedcreator.class.php");

// Pick up MySQL login details
if ( ( $fh = fopen( "/var/lib/mysql/keys", "r" ) ) == 0 )	{
	error_log( "Couldnt open /var/lib/mysql/keys", 0 );
 	exit;
}

// Extract the variables we need to get going
$lkeys = fgets( $fh );
$db_host = strtok( $lkeys, ":\n" );
$db_user = strtok( ":\n" );
$db_password = strtok( ":\n" );
$db_database = strtok( ":\n" );
fclose( $fh );

// Open link to MySQL 
if ( ( $link = mysql_connect( $db_host, $db_user, $db_password ) ) == FALSE )	{
	$error_msg = "Unable to connect (Host:" . $host . " User:" . $db_user . " Password:" . $db_password . ")";
	error_log( "Unable to connect (Host:" . $host . " User:" . $db_user . " Password:" . $db_password . ")", 0 );
	exit;
}

// Open The Resource Exchange database 
if ( ( $db = mysql_select_db( $db_database, $link ) ) == FALSE )	{
	error_log( "Unable to select resex database " . $db_database, 0 );
	exit;
}

// Create the SQL 
/*
if ( $_GET[ 'Feed' ] != "" )    {
    $sql = "SELECT * FROM Feeds WHERE FeedEPIC = '" . $_GET[ 'Feed' ] . "' ORDER BY FeedRef LIMIT 20 ";
}

else if ( $_GET[ 'Key' ] != "" )    {
    $sql = "SELECT * FROM Feeds WHERE LOCATE( '" . $_GET[ 'Key' ] . "', FeedKeys ) > 0 ORDER BY FeedRef LIMIT 20 ";
}
else if ( $_GET[ 'Search' ] != "" )    {
    $sql = "SELECT * FROM Feeds WHERE MATCH( FeedHeadline, FeedKeys ) AGAINST ( '" . $_GET[ 'Search' ] . "' ) ORDER BY FeedRef LIMIT 20 ";
}
else if ( $_GET[ 'Source' ] != "" )    {
    $sql = "SELECT * FROM Feeds WHERE FeedSource = '" . $_GET[ 'Source' ] . "' ORDER BY FeedRef LIMIT 20 ";
}
else    {
    $sql = "SELECT * FROM Feeds ORDER BY FeedRef LIMIT 20 ";
} 
*/   

/*
$sql = "SELECT * FROM Exhibitions E LEFT JOIN Gallery G ON E.ExGalleryCode = G.GalleryCode";
$sql .= " WHERE ";
$sql .= "   E.ExEndDate >= NOW( ) ";
$sql .= " ORDER BY ";
$sql .= "   E.ExEndDate ";
if ( ( $result = mysql_query( $sql ) ) == 0 )
    error_log( $sql, 0 );
else    
    $num_rows = mysql_num_rows( $result );

// Pull the headlines
if ( ( $result = mysql_query( $sql) ) == 0 )	{
	// SQL has gone wrong 
	error_log( "Feed SQL error " . $sql, 0 );
	exit;
}

if ( ( $num_rows = mysql_num_rows( $result ) ) == 0 )
    error_log( "No rows returned for SQL: " . $sql, 0 );
*/

// SQL for current exhibitions
$sql = "SELECT * FROM Exhibitions E LEFT JOIN Gallery G ON E.ExGalleryCode = G.GalleryCode";
$sql .= " WHERE ";
$sql .= "   E.ExEndDate >= NOW( ) ";
$sql .= " AND ";
$sql .= "   E.ExStartDate <= NOW( ) ";
$sql .= " ORDER BY ";
$sql .= "   E.ExEndDate ";
if ( ( $result = mysql_query( $sql ) ) == 0 )
    error_log( $sql, 0 );
else    
    $num_rows = mysql_num_rows( $result );

// SQL for forthcoming exhibitions
$sql = "SELECT * FROM Exhibitions E LEFT JOIN Gallery G ON E.ExGalleryCode = G.GalleryCode";
$sql .= " WHERE ";
$sql .= "   E.ExEndDate >= NOW( ) ";
$sql .= " AND ";
$sql .= "   E.ExStartDate > NOW( ) ";
$sql .= " ORDER BY ";
$sql .= "   E.ExStartDate ";
if ( ( $result2 = mysql_query( $sql ) ) == 0 )
    error_log( $sql, 0 );
else    
    $num_rows2 = mysql_num_rows( $result2 );

// error_log( "Rows returned: " . $num_rows . " from SQL: " . $sql, 0 );

$rss = new UniversalFeedCreator();
$rss->title = "Resource Exchange Art Exhibition Feed";
$rss->description = "Schedule of UK Art Exhibitions";
$rss->link = "http://www.resex.co.uk";
$rss->syndicationURL = "http://www.resex.co.uk/ImageRssFeed.xml";

for ( $i = 0; $i < $num_rows; $i++ )    {
    $row = mysql_fetch_array( $result );
    
    $content = substr( $row[ 'ExStartDate' ], 0, 10 ) . " to " . substr( $row[ 'ExEndDate' ], 0, 10 ) . "<br>";
    $content .= $row[ 'ExGallery' ] . "<br>";
    $content .= $row[ 'ExLocation' ] . "<br>";
    $content .= stripslashes( $row[ 'ExSubject' ] );

    $item = new FeedItem();
    $item->title = $row[ 'ExEvent' ];
    $item->link = $row[ 'GalleryWebsite' ];
    $item->description = $content;
    $item->date = date( "Y-m-d" );
    $item->source = "Resource Exchange";
    $item->author = "rss@resourceexchange.net";
    $rss->addItem( $item );
}

for ( $i = 0; $i < $num_rows2; $i++ )    {
    $row = mysql_fetch_array( $result2 );
    
    $content = substr( $row[ 'ExStartDate' ], 0, 10 ) . " to " . substr( $row[ 'ExEndDate' ], 0, 10 ) . "<br>";
    $content .= $row[ 'ExGallery' ] . "<br>";
    $content .= $row[ 'ExLocation' ] . "<br>";
    $content .= stripslashes( $row[ 'ExSubject' ] );

    $item = new FeedItem();
    $item->title = $row[ 'ExEvent' ];
    $item->link = $row[ 'GalleryWebsite' ];
    $item->description = $content;
    $item->date = date( "Y-m-d" );
    $item->source = "Resource Exchange";
    $item->author = "rss@resourceexchange.net";
    $rss->addItem( $item );
}
    
echo $rss->createFeed( );    

?>