Just messing about with maxmind’s free GeoIP databases, and grabbed the logs for here to plot the IP addresses of visitors…

Just messing about with maxmind’s free GeoIP databases, and grabbed the logs for here to plot the IP addresses of visitors…

Just a bit of code I’ve come across that uses the Twitter API and is fairly fast
<ul id="twitter_update_list" style="width: 200px; "></ul>
<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/{__USERNAME__}.json?callback=twitterCallback2&count=all"></script>
I got sick of looking at shit pieces of code that either didn’t work properly, or produced XML so badly formatted you couldn’t read the raw source to debug it, so I decided to write my own, based on the BBC’s RSS source.
<?php
/*
* @abstract PHP script to correctly generate an RSS feed
* @author Jon Thompson
* @version 0.1
* @since 11 Dec 2009
*
* Requires an SQL table with the following fields to read:
* - title
* - link
* - description
* - thumbnail
*
* Will generate an on-the fly RSS feed from database-driven content.
* For best results, amend the following and add to your pages in the <head></head> section:
*
* <link rel="alternate" type="application/rss+xml" title="RSS" href="http://www.yoursite.com/link/to/this/script/rss.php" />
*
*/
//***** Database login details *****
$db_server = "localhost";
$db_database = "database";
$db_username = "username";
$db_password = "password";
//***** RSS feed details *****
$rss_title = "Your title here";
$rss_link = "URL to web page that displays these items";
$rss_description = "An overall description of your feed";
$rss_language = "en-gb";
$rss_copyright = "Your copyright notice";
$rss_docs = "URL to a page explaining distribution and use of these articles";
//***** SQL query to generate list *****
$sql = "SELECT * FROM table limit 15";
//############################################################################################################
//# NOTHING FURTHER TO EDIT FROM THIS POINT ON #
//############################################################################################################
//***** Connect to database *****
$db = mysql_connect($db_server, $db_username, $db_password) or die("Unable to connect to MySQL server\n\n");
mysql_select_db($db_database, $db) or die("Unable to select database\n\n");
//***** Execute the SQL query *****
$result = mysql_query($sql, $db);
//***** Loop through the results to get the rest of the feed *****
if(mysql_num_rows($result)){
while($row=mysql_fetch_assoc($result)){
$output .= " <item>
<title>".htmlentities($row["title"])."</title>
<link>".htmlentities($row["link"])."</link>
<description>".htmlentities($row["description"])."</description>
<media:thumbnail url=\"".htmlentities($row["thumbnail"])."\" />
</item>
";
}
}else{
$output .= " <item>
<title>No entries</title>
<link></link>
<description>Sorry, there are no new entries to view</description>
<media:thumbnail url=\"\" />
</item>
";
}
//***** Build the entire feed from our results *****
//***** This will also format it correctly so it's readble in plain text format *****
$output = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>
<?xml-stylesheet title=\"XSL_formatting\" type=\"text/xsl\" href=\"/shared/bsp/xsl/rss/nolsol.xsl\"?>
<rss version=\"2.0\" xmlns:media=\"http://search.yahoo.com/mrss\">
<channel>
<title>$rss_title</title>
<link>$rss_link</link>
<description>$rss_description</description>
<language>$rss_language</language>
<lastBuildDate>".date("D, d M Y H:i:s T")."</lastBuildDate>
<copyright>$rss_copyright</copyright>
<docs>$rss_docs</docs>
<ttl>15</ttl>
".$output." </channel>
</rss>\n";
//***** Output the feed correctly *****
header("Content-Type: text/xml");
echo $output;
exit(0);
?>