function run_sql_patch($id, $patch)
{
    global $dbh;
    global $db_server;
    $db = new db();
    $display_block = "";
    $sql = "SELECT * FROM " . TB_PREFIX . "sql_patchmanager WHERE sql_patch_ref = :id";
    $sth = $db->query($sql, ':id', $id) or die(htmlsafe(end($dbh->errorInfo())));
    //echo $sql;
    $escaped_id = htmlsafe($id);
    $patch_name = htmlsafe($patch['name']);
    #forget about it!! the patch as its already been run
    if (count($sth->fetchAll()) != 0) {
        $display_block .= "\n\t<tr><td>Skipping SQL patch {$escaped_id}, {$patch_name} as it <i>has</i> already been applied</td></tr>";
    } else {
        //patch hasn't been run
        #so do the bloody patch
        $db->query($patch['patch']) or die(htmlsafe(end($dbh->errorInfo())));
        $display_block = "\n\t<tr><td>SQL patch {$escaped_id}, {$patch_name} <i>has</i> been applied to the database</td></tr>";
        # now update the ".TB_PREFIX."sql_patchmanager table
        $sql_update = "INSERT INTO " . TB_PREFIX . "sql_patchmanager ( sql_patch_ref , sql_patch , sql_release , sql_statement ) VALUES (:id, :name, :date, :patch)";
        /*echo $sql_update;*/
        $db->query($sql_update, ':id', $id, ':name', $patch['name'], ':date', $patch['date'], ':patch', $patch['patch']) or die(htmlsafe(end($dbh->errorInfo())));
        if ($id == 126) {
            patch126();
        }
        /*
         * cusom_fields to new customFields patch - commented out till future
         */
        /*
        		 	elseif($id == 137) {
        	convertInitCustomFields();
        }
        */
        $display_block .= "\n\t<tr><td>SQL patch {$escaped_id}, {$patch_name} <b>has</b> been applied</td></tr>";
    }
    return $display_block;
}
function run_sql_patch($id, $patch)
{
    global $dbh;
    global $db_server;
    $display_block = "";
    $sql = "SELECT * FROM " . TB_PREFIX . "sql_patchmanager WHERE sql_patch_ref = :id";
    $sth = dbQuery($sql, ':id', $id);
    $escaped_id = htmlsafe($id);
    $patch_name = htmlsafe($patch['name']);
    #forget about the patch as it has already been run!!
    $smarty_row = array();
    if (count($sth->fetchAll()) != 0) {
        $smarty_row['text'] = "Skipping SQL patch {$escaped_id}, {$patch_name} as it <i>has</i> already been applied";
        $smarty_row['result'] = "skip";
    } else {
        //patch hasn't been run
        #so run the patch
        dbQuery($patch['patch']);
        $smarty_row['text'] = "SQL patch {$escaped_id}, {$patch_name} <i>has</i> been applied to the database";
        $smarty_row['result'] = "done";
        # now update the ".TB_PREFIX."sql_patchmanager table
        $sql_update = "INSERT INTO " . TB_PREFIX . "sql_patchmanager ( sql_patch_ref , sql_patch , sql_release , sql_statement ) VALUES (:id, :name, :date, :patch)";
        dbQuery($sql_update, ':id', $id, ':name', $patch['name'], ':date', $patch['date'], ':patch', $patch['patch']);
        if ($id == 126) {
            patch126();
        }
        /*
         * cusom_fields to new customFields patch - commented out till future
         */
        /*
        		 	elseif($id == 137) {
        	convertInitCustomFields();
        }
        */
    }
    return $smarty_row;
}