/** * Set tags for a given issue * @param string $p_username Username. * @param string $p_password Password. * @param integer $p_issue_id A issue identifier. * @param array $p_tags An array of tags to set. * @return mixed */ function mc_issue_set_tags($p_username, $p_password, $p_issue_id, array $p_tags) { global $g_project_override; $t_user_id = mci_check_login($p_username, $p_password); if ($t_user_id === false) { return mci_soap_fault_login_failed(); } if (!bug_exists($p_issue_id)) { return SoapObjectsFactory::newSoapFault('Client', 'Issue \'' . $p_issue_id . '\' does not exist.'); } $t_project_id = bug_get_field($p_issue_id, 'project_id'); $g_project_override = $t_project_id; if (!mci_has_readwrite_access($t_user_id, $t_project_id)) { return mci_soap_fault_access_denied($t_user_id); } if (bug_is_readonly($p_issue_id)) { return mci_soap_fault_access_denied($t_user_id, 'Issue \'' . $p_issue_id . '\' is readonly'); } mci_tag_set_for_issue($p_issue_id, $p_tags, $t_user_id); return true; }
function mc_issue_set_tags($p_username, $p_password, $p_issue_id, $p_tags) { $t_user_id = mci_check_login($p_username, $p_password); if ($t_user_id === false) { return mci_soap_fault_login_failed(); } if (!bug_exists($p_issue_id)) { return new soap_fault('Client', '', "Issue '{$p_issue_id}' does not exist."); } $t_project_id = bug_get_field($p_issue_id, 'project_id'); if (!mci_has_readwrite_access($t_user_id, $t_project_id)) { return mci_soap_fault_access_denied($t_user_id); } mci_tag_set_for_issue($p_issue_id, $p_tags, $t_user_id); return true; }