I’ve finally moved house, out of various circumstances. It’s nice to have cable internet finally :) nice and fast, so probably will get a bit more blogging going on. I intend to design a couple more Glype themes (and possibly WordPress themes also), write some new handy Greasemonkey scripts, and possibly even write a couple of film reviews.

I’m heading to an Internet Marketing conference next weekend which should be interesting, hopefully it’ll get me inspired to do one of the many projects I have in the bottom draw of my desk, or possibly come up with some new ones!

There’s not much news, I’ve been working on a really cool web-based IDE for work. It’s the kind of system that basically is used to write itself aswell as other applications, which can be both confusing and skynet scary haha, but once complete, it should speed up the team’s development significantly, but also allow us to extend both the current development system, and itself.

poker time.. more blog soon…

I’d just like to alert everyone to a great little web video cast by Robert Llewellyn (star of Red Dwarf, Scrap Heap Challenge etc).

It’s called CarPool, and basically consists of him driving various people you may or may not know around to wherever they want to go. It’s funny and a very simple format which is perfect for the walk to work or if you just fancy something to watch / listen to.

You can view the cast on his site www.llewtube.com or download it on iTunes and watch it on your iPod Touch / iPhone like myself :)

Check it out!

www.llewtube.com

I’ve been working on something recently in which the testing has involved modiyfing 2 or 3 fields in a database very regularly, I was fed-up of going into phpMyAdmin clicking edit on the row, finding the field (1 of 100 odd), editing it and then going to the save button.

I decided that I would write a Greasemonkey script to turn all of the fields into an AJAX editing form.

Basically all you have to do now is double click the field value, edit the value and hit enter to save!

It has only been tested on phpMyAdmin 3.1.2 so I have no idea if it’ll work on other versions.

This script uses jQuery (www.jquery.com).

// ==UserScript==
// @name           Ajax PHPMyAdmin
// @namespace      All
// @description    Ajaxify PHPMyAdmin By Joel Day http://blog.dayjo.org/
// @include        http://localhost/phpmyadmin/sql.php*
// ==/UserScript==

// Add jQuery
var GM_JQ = document.createElement('script');
GM_JQ.src = 'http://jquery.com/src/jquery-latest.js'; // Or specify one on the local server for a quicker load
GM_JQ.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ);

// Check if jQuery's loaded
function GM_wait() {
    if (typeof unsafeWindow.jQuery == 'undefined') {
        window.setTimeout(GM_wait, 100);
    }
    else {
        $ = unsafeWindow.jQuery;
        letsJQuery();
    }
}
GM_wait();

// All your GM code must be inside this function
function letsJQuery() {

    var i = 0, j = 0;

    // Assign the th's id for later so we can grab the field name
    $('#table_results').find('th:not([colspan])').each(function() {

    	// i represents a column id
        i++; $(this).attr('id', i);

    });

// Loop through the field values and re-make the
 into our input box and div
    $('#table_results').find('td:not([align="center"])').each(function() {

        // Assign it a column id
        if (j == i) {
            j = 0;
        }
        j++;

    	// Current value of the field
        var value = $(this).html();
        var field = $('#' + j + ' a').html();

        // Set the html
        $(this).html("<div name='fielddiv'>" + value + "</div>\
        	<input style='display: none; text-align: right;' type='text' title='" + field + "' value='" + value + "' />");
    });

// Set the dblclick event of the div
$('#table_results div[name="fielddiv"]').dblclick(function(){

// Show the input and hide the div
$(this).siblings("input").show();
$(this).hide();

});

// Loop through and set the ENTER keypress event for save
    $('#table_results').find('td:not([align="center"]) input').keypress(function(ev) {
        if (ev.keyCode == 13) {
        	// Get the info for the query.
            var db = $('input[name="db"]').val();
            var table = $('input[name="table"]').val();
            var token = $('input[name="token"]').val();
            var field = $(this).attr('title');
            var value = $(this).val();
            var ID = $(this).parent().siblings().children('input[title="ID"]').val();

// Post the query
            $.post("sql.php?db=" + db + "&table=" + table + "&sql_query=UPDATE+" + table + "+SET+" + field + "='" + value + "'+WHERE+`ID`='" + ID + "'&token=" + token);

            // Now set the div to the new value, show it and hide the input
            $(this).siblings('div').html($(this).val()).show();
            $(this).hide();

// Return false as not to post any forms or click any selected links
            return false;
        }
    });
}