$extra_headers .= "X-PHP-BugTracker: {$siteBig}bug\n"; $extra_headers .= "X-PHP-Bug: {$cid}\n"; $extra_headers .= "X-PHP-Type: {$_POST['in']['bug_type']}\n"; $extra_headers .= "X-PHP-Version: {$_POST['in']['php_version']}\n"; $extra_headers .= "X-PHP-Category: {$package_name}\n"; $extra_headers .= "X-PHP-OS: {$_POST['in']['php_os']}\n"; $extra_headers .= "X-PHP-Status: Open\n"; $extra_headers .= "Message-ID: <bug-{$cid}@{$site_url}>"; if (isset($bug_types[$_POST['in']['bug_type']])) { $type = $bug_types[$_POST['in']['bug_type']]; } else { $type = 'unknown'; } $project = !empty($_GET['project']) ? $_GET['project'] : false; // provide shortcut URLS for "quick bug fixes" list($RESOLVE_REASONS, $FIX_VARIATIONS) = get_resolve_reasons($project); $dev_extra = ''; $maxkeysize = 0; foreach ($RESOLVE_REASONS as $v) { if (!$v['webonly']) { $actkeysize = strlen($v['title']) + 1; $maxkeysize = $maxkeysize < $actkeysize ? $actkeysize : $maxkeysize; } } foreach ($RESOLVE_REASONS as $k => $v) { if (!$v['webonly']) { $dev_extra .= str_pad("{$v['title']}:", $maxkeysize) . " {$site_method}://{$site_url}/fix.php?id={$cid}&r={$k}\n"; } } // mail to reporter bugs_mail($_POST['in']['email'], "{$type} #{$cid}: {$_POST['in']['sdesc']}", "{$ascii_report}2\n", "From: {$siteBig} Bug Database <{$mailfrom}>\n" . "X-PHP-Bug: {$cid}\n" . "X-PHP-Site: {$siteBig}\n" . "Message-ID: <bug-{$cid}@{$site_url}>");
$bug = bugs_get_bug($bug_id); if (!is_array($bug)) { response_header('No Such Bug'); display_bug_error("No such bug #{$bug_id}"); response_footer(); exit; } // If bug exists, continue.. $RESOLVE_REASONS = $FIX_VARIATIONS = $errors = array(); bugs_authenticate($user, $pwd, $logged_in, $user_flags); $is_trusted_developer = $user_flags & BUGS_TRUSTED_DEV; if ($logged_in != 'developer') { $errors[] = 'The username or password you supplied was incorrect.'; } $project = !empty($_GET['project']) ? $_GET['project'] : false; list($RESOLVE_REASONS, $FIX_VARIATIONS) = get_resolve_reasons($site); // Handle reason / comments $reason = filter_var($_REQUEST['r'], FILTER_SANITIZE_STRING); $ncomment = isset($_POST['ncomment']) ? trim($_POST['ncomment']) : ''; if (!$reason || !isset($RESOLVE_REASONS[$reason])) { $errors[] = 'You have to use a valid reason to resolve this bug.'; } if (isset($RESOLVE_REASONS[$reason]) && $RESOLVE_REASONS[$reason]['status'] == 'Not a bug' && $ncomment == '') { $errors[] = 'You must provide a comment when marking a bug \'Not a bug\''; } // Handle errors if ($errors) { response_header('Error in resolving bug'); display_bug_error($errors); ?>