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; }