Check for Valid XML with PHP

Simple function to check if XML is valid. It just loads the XML into DOMDocument and checks for errors.

/**
*  Takes XML string and returns a boolean result where valid XML returns true
*/
function is_valid_xml ( $xml ) {
    libxml_use_internal_errors( true );
    
    $doc = new DOMDocument('1.0', 'utf-8');
    
    $doc->loadXML( $xml );
    
    $errors = libxml_get_errors();
    
    return empty( $errors );
}

Export data to Google spreadsheet with OAuth

I was working on exporting CSV data to a Google spreadsheet recently. The first thing I had to do was implement a way to allow a user to authenticate themselves with Google from our site. There are a few ways of doing this.

I choose OAuth as I thought it would be simplest. I found it was pretty straightforward but there were gaps in Google’s documentation that made the process a tad frustrating.

Here’s a brief outline…
Continue reading “Export data to Google spreadsheet with OAuth”

Create a smart, cross browser floating menu using Javascript

I recently wrote a Javascript library to show a floating menu that works cross browser and displays the menu based on a set of co-ordinates that you pass it.

The floating menu is just an absolute div that is hidden from view.

The library is smart in the sense that it determines where best to display the menu. It works out where you have scrolled to on the page and figures out if there is space at the top or bottom and to the left or right of where ever your target co-ordinates are.

This is useful where you want to display a menu, or some div, but you don’t know (or care) where the menu is going to be needed on the page.
Continue reading “Create a smart, cross browser floating menu using Javascript”