From 9a3a368c3e9b3c7bcfb2e5de7e1226813d517d2b Mon Sep 17 00:00:00 2001 From: Robert Sesek Date: Fri, 5 May 2006 23:34:24 +0000 Subject: [PATCH] r803: Implementing BugAPI --- editreport.php | 58 ++++++++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/editreport.php b/editreport.php index e317fd3..71e3c81 100644 --- a/editreport.php +++ b/editreport.php @@ -97,16 +97,12 @@ if ($_POST['do'] == 'update') // do update stuff $pcv = parse_pcv_select($bugsys->in['pcv_select'], true); - if (!$bugsys->in['summary']) - { - $message->error($lang->string('You need to enter a summary for this bug.')); - } - if (!$pcv) - { - $message->error($lang->string('Invalid product/component/version selected.')); - } + $bugapi = new BugAPI($bugsys); + $bugapi->set('bugid', $bugsys->in['bugid']); + $bugapi->set_condition(); + $bugapi->dorelations = array(); + $bugapi->fetch(); - $hist[0] = (array)$db->query_first("SELECT * FROM " . TABLE_PREFIX . "bug WHERE bugid = $bug[bugid]"); $hist2[0] = (array)$temp = $noinitialcustom = $db->query_first("SELECT * FROM " . TABLE_PREFIX . "bugvaluefill WHERE bugid = $bug[bugid]"); // ------------------------------------------------------------------- @@ -134,33 +130,35 @@ if ($_POST['do'] == 'update') $dependencies = preg_split('#([^0-9].*?)#', $bugsys->in['dependency'], -1, PREG_SPLIT_NO_EMPTY); $dependencies = ((count($dependencies) < 1) ? '' : implode(', ', $dependencies)); - $db->query(" - UPDATE " . TABLE_PREFIX . "bug - SET summary = '" . $bugsys->in['summary'] . "', - severity = " . intval($bugsys->in['severity']) . "," . - (can_perform('canchangestatus', $bug['productid']) ? " - priority = " . intval($bugsys->in['priority']) . ", - status = " . intval($bugsys->in['status']) . ", - resolution = " . intval($bugsys->in['resolution']) . "," - : '') . " - " . (can_perform('canassign', $bug['productid']) ? "assignedto = " . intval($bugsys->in['assignedto']) . "," : '') . " - duplicateof = " . intval($bugsys->in['duplicateof']) . ", - dependency = '$dependencies', - productid = " . $pcv['product'] . ", - componentid = " . $pcv['component'] . ", - versionid = " . $pcv['version'] . ", - hidden = " . intval($bugsys->in['hidden']) . " - WHERE bugid = $bug[bugid]" - ); + $bugapi->set('summary', $bugsys->in['summary']); + $bugapi->set('severity', $bugsys->in['severity']); + $bugapi->set('duplicateof', $bugsys->in['duplicateof']); + $bugapi->set('dependency', $dependencies); + $bugapi->set('productid', $pcv['product']); + $bugapi->set('componentid', $pcv['component']); + $bugapi->set('versionid', $pcv['version']); + $bugapi->set('hidden', $bugsys->in['hidden']); + + if (can_perform('canchangestatus', $bug['productid'])) + { + $bugapi->set('priority', $bugsys->in['priority']); + $bugapi->set('status', $bugsys->in['status']); + $bugapi->set('resolution', $bugsys->in['resolution']); + } + if (can_perform('canassign', $bug['productid'])) + { + $bugapi->set('assignedto', $bugsys->in['assignedto']); + } + + $bugapi->update(); // ------------------------------------------------------------------- // do diff history - $hist[1] = (array)$db->query_first("SELECT * FROM " . TABLE_PREFIX . "bug WHERE bugid = $bug[bugid]"); $hist2[1] = (array)$db->query_first("SELECT * FROM " . TABLE_PREFIX . "bugvaluefill WHERE bugid = $bug[bugid]"); - $diff[0] = array_diff_assoc($hist[0], $hist[1]); - $diff[1] = array_diff_assoc($hist[1], $hist[0]); + $diff[0] = array_diff_assoc($bugapi->objdata, $bugapi->values); + $diff[1] = array_diff_assoc($bugapi->values, $bugapi->objdata); $lookupindex = array( 'status' => 'status', -- 2.22.5