$dependencies = preg_split('#([^0-9].*?)#', $bugsys->in['dependency'], -1, PREG_SPLIT_NO_EMPTY);
$dependencies = ((sizeof($dependencies) < 1) ? '' : implode(', ', $dependencies));
- $bugapi->set('summary', $bugsys->in['summary']);
- $bugapi->set('severity', $bugsys->in['severity']);
- $bugapi->set('duplicateof', $bugsys->in['duplicateof']);
- $bugapi->set('dependency', $dependencies);
- $bugapi->set('hidden', $bugsys->in['hidden']);
-
- $product = explode(',', $bugsys->in['product']);
- $bugapi->set('product', $product[0]);
- $bugapi->set('component', $product[1]);
- $bugapi->set('version', $product[2]);
+ if ((can_perform('caneditown', $bug['product']) AND $bugsys->userinfo['userid'] == $bug['userid']) OR (can_perform('caneditother', $bug['product']) AND $bugsys->userinfo['userid'] != $bug['userid']))
+ {
+ $bugapi->set('summary', $bugsys->in['summary']);
+ $bugapi->set('severity', $bugsys->in['severity']);
+ $bugapi->set('duplicateof', $bugsys->in['duplicateof']);
+ $bugapi->set('dependency', $dependencies);
+ $bugapi->set('hidden', $bugsys->in['hidden']);
+
+ $product = explode(',', $bugsys->in['product']);
+ $bugapi->set('product', $product[0]);
+ $bugapi->set('component', $product[1]);
+ $bugapi->set('version', $product[2]);
+ }
if (can_perform('canchangestatus', $bug['product']))
{
// -------------------------------------------------------------------
// handle logging and perform updates
- $notif->set_bug_data($bugapi->objdata, $bugapi->values);
+ $notif->set_bug_data($bugapi->objdata, array_merge($bugapi->objdata, $bugapi->values));
$log->add_data(false, $bugapi->values, $log->getCommonFields(), true);
if (!$message->hasErrors())