本文整理汇总了PHP中email_generic函数的典型用法代码示例。如果您正苦于以下问题:PHP email_generic函数的具体用法?PHP email_generic怎么用?PHP email_generic使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了email_generic函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: update
//.........这里部分代码省略.........
# Update all fields
# Ignore date_submitted and last_updated since they are pulled out
# as unix timestamps which could confuse the history log and they
# shouldn't get updated like this anyway. If you really need to change
# them use bug_set_field()
$query = "UPDATE {$t_bug_table}\n\t\t\t\t\tSET project_id=" . db_param() . ', reporter_id=' . db_param() . ",\n\t\t\t\t\t\thandler_id=" . db_param() . ', duplicate_id=' . db_param() . ",\n\t\t\t\t\t\tpriority=" . db_param() . ', severity=' . db_param() . ",\n\t\t\t\t\t\treproducibility=" . db_param() . ', status=' . db_param() . ",\n\t\t\t\t\t\tresolution=" . db_param() . ', projection=' . db_param() . ",\n\t\t\t\t\t\tcategory_id=" . db_param() . ', eta=' . db_param() . ",\n\t\t\t\t\t\tos=" . db_param() . ', os_build=' . db_param() . ",\n\t\t\t\t\t\tplatform=" . db_param() . ', version=' . db_param() . ",\n\t\t\t\t\t\tbuild=" . db_param() . ', fixed_in_version=' . db_param() . ',';
$t_fields = array($this->project_id, $this->reporter_id, $this->handler_id, $this->duplicate_id, $this->priority, $this->severity, $this->reproducibility, $this->status, $this->resolution, $this->projection, $this->category_id, $this->eta, $this->os, $this->os_build, $this->platform, $this->version, $this->build, $this->fixed_in_version);
$t_roadmap_updated = false;
if (access_has_project_level(config_get('roadmap_update_threshold'))) {
$query .= "\n\t\t\t\t\t\ttarget_version=" . db_param() . ",";
$t_fields[] = $this->target_version;
$t_roadmap_updated = true;
}
$query .= "\n\t\t\t\t\t\tview_state=" . db_param() . ",\n\t\t\t\t\t\tsummary=" . db_param() . ",\n\t\t\t\t\t\tsponsorship_total=" . db_param() . ",\n\t\t\t\t\t\tsticky=" . db_param() . ",\n\t\t\t\t\t\tdue_date=" . db_param() . "\n\t\t\t\t\tWHERE id=" . db_param();
$t_fields[] = $this->view_state;
$t_fields[] = $this->summary;
$t_fields[] = $this->sponsorship_total;
$t_fields[] = (bool) $this->sticky;
$t_fields[] = $this->due_date;
$t_fields[] = $this->id;
db_query_bound($query, $t_fields);
bug_clear_cache($this->id);
# log changes
history_log_event_direct($c_bug_id, 'project_id', $t_old_data->project_id, $this->project_id);
history_log_event_direct($c_bug_id, 'reporter_id', $t_old_data->reporter_id, $this->reporter_id);
history_log_event_direct($c_bug_id, 'handler_id', $t_old_data->handler_id, $this->handler_id);
history_log_event_direct($c_bug_id, 'priority', $t_old_data->priority, $this->priority);
history_log_event_direct($c_bug_id, 'severity', $t_old_data->severity, $this->severity);
history_log_event_direct($c_bug_id, 'reproducibility', $t_old_data->reproducibility, $this->reproducibility);
history_log_event_direct($c_bug_id, 'status', $t_old_data->status, $this->status);
history_log_event_direct($c_bug_id, 'resolution', $t_old_data->resolution, $this->resolution);
history_log_event_direct($c_bug_id, 'projection', $t_old_data->projection, $this->projection);
history_log_event_direct($c_bug_id, 'category', category_full_name($t_old_data->category_id, false), category_full_name($this->category_id, false));
history_log_event_direct($c_bug_id, 'eta', $t_old_data->eta, $this->eta);
history_log_event_direct($c_bug_id, 'os', $t_old_data->os, $this->os);
history_log_event_direct($c_bug_id, 'os_build', $t_old_data->os_build, $this->os_build);
history_log_event_direct($c_bug_id, 'platform', $t_old_data->platform, $this->platform);
history_log_event_direct($c_bug_id, 'version', $t_old_data->version, $this->version);
history_log_event_direct($c_bug_id, 'build', $t_old_data->build, $this->build);
history_log_event_direct($c_bug_id, 'fixed_in_version', $t_old_data->fixed_in_version, $this->fixed_in_version);
if ($t_roadmap_updated) {
history_log_event_direct($c_bug_id, 'target_version', $t_old_data->target_version, $this->target_version);
}
history_log_event_direct($c_bug_id, 'view_state', $t_old_data->view_state, $this->view_state);
history_log_event_direct($c_bug_id, 'summary', $t_old_data->summary, $this->summary);
history_log_event_direct($c_bug_id, 'sponsorship_total', $t_old_data->sponsorship_total, $this->sponsorship_total);
history_log_event_direct($c_bug_id, 'sticky', $t_old_data->sticky, $this->sticky);
history_log_event_direct($c_bug_id, 'due_date', $t_old_data->due_date != date_get_null() ? $t_old_data->due_date : null, $this->due_date != date_get_null() ? $this->due_date : null);
# Update extended info if requested
if ($p_update_extended) {
$t_bug_text_table = db_get_table('mantis_bug_text_table');
$t_bug_text_id = bug_get_field($c_bug_id, 'bug_text_id');
$query = "UPDATE {$t_bug_text_table}\n\t\t\t\t\t\t\tSET description=" . db_param() . ",\n\t\t\t\t\t\t\t\tsteps_to_reproduce=" . db_param() . ",\n\t\t\t\t\t\t\t\tadditional_information=" . db_param() . "\n\t\t\t\t\t\t\tWHERE id=" . db_param();
db_query_bound($query, array($this->description, $this->steps_to_reproduce, $this->additional_information, $t_bug_text_id));
bug_text_clear_cache($c_bug_id);
$t_current_user = auth_get_current_user_id();
if ($t_old_data->description != $this->description) {
if (bug_revision_count($c_bug_id, REV_DESCRIPTION) < 1) {
$t_revision_id = bug_revision_add($c_bug_id, $t_old_data->reporter_id, REV_DESCRIPTION, $t_old_data->description, 0, $t_old_data->date_submitted);
}
$t_revision_id = bug_revision_add($c_bug_id, $t_current_user, REV_DESCRIPTION, $this->description);
history_log_event_special($c_bug_id, DESCRIPTION_UPDATED, $t_revision_id);
}
if ($t_old_data->steps_to_reproduce != $this->steps_to_reproduce) {
if (bug_revision_count($c_bug_id, REV_STEPS_TO_REPRODUCE) < 1) {
$t_revision_id = bug_revision_add($c_bug_id, $t_old_data->reporter_id, REV_STEPS_TO_REPRODUCE, $t_old_data->steps_to_reproduce, 0, $t_old_data->date_submitted);
}
$t_revision_id = bug_revision_add($c_bug_id, $t_current_user, REV_STEPS_TO_REPRODUCE, $this->steps_to_reproduce);
history_log_event_special($c_bug_id, STEP_TO_REPRODUCE_UPDATED, $t_revision_id);
}
if ($t_old_data->additional_information != $this->additional_information) {
if (bug_revision_count($c_bug_id, REV_ADDITIONAL_INFO) < 1) {
$t_revision_id = bug_revision_add($c_bug_id, $t_old_data->reporter_id, REV_ADDITIONAL_INFO, $t_old_data->additional_information, 0, $t_old_data->date_submitted);
}
$t_revision_id = bug_revision_add($c_bug_id, $t_current_user, REV_ADDITIONAL_INFO, $this->additional_information);
history_log_event_special($c_bug_id, ADDITIONAL_INFO_UPDATED, $t_revision_id);
}
}
# Update the last update date
bug_update_date($c_bug_id);
# allow bypass if user is sending mail separately
if (false == $p_bypass_mail) {
# bug assigned
if ($t_old_data->handler_id != $this->handler_id) {
email_generic($c_bug_id, 'owner', 'email_notification_title_for_action_bug_assigned');
return true;
}
# status changed
if ($t_old_data->status != $this->status) {
$t_status = MantisEnum::getLabel(config_get('status_enum_string'), $this->status);
$t_status = str_replace(' ', '_', $t_status);
email_generic($c_bug_id, $t_status, 'email_notification_title_for_status_bug_' . $t_status);
return true;
}
# @todo handle priority change if it requires special handling
# generic update notification
email_generic($c_bug_id, 'updated', 'email_notification_title_for_action_bug_updated');
}
return true;
}
开发者ID:rahmanjis,项目名称:dipstart-development,代码行数:101,代码来源:bug_api.php
示例2: email_resolved
if ($t_resolve_issue) {
email_resolved($f_bug_id);
email_relationship_child_resolved($f_bug_id);
} else {
if ($t_close_issue) {
email_close($f_bug_id);
email_relationship_child_closed($f_bug_id);
} else {
if ($t_reopen_issue) {
email_reopen($f_bug_id);
} else {
if ($t_existing_bug->handler_id === NO_USER && $t_updated_bug->handler_id !== NO_USER) {
email_assign($f_bug_id);
} else {
if ($t_existing_bug->status !== $t_updated_bug->status) {
$t_new_status_label = MantisEnum::getLabel(config_get('status_enum_string'), $t_updated_bug->status);
$t_new_status_label = str_replace(' ', '_', $t_new_status_label);
email_generic($f_bug_id, $t_new_status_label, 'email_notification_title_for_status_bug_' . $t_new_status_label);
} else {
email_generic($f_bug_id, 'updated', 'email_notification_title_for_action_bug_updated');
}
}
}
}
}
# Twitter notification of bug update.
if ($t_resolve_issue && $t_updated_bug->resolution >= config_get('bug_resolution_fixed_threshold') && $t_updated_bug->resolution < config_get('bug_resolution_not_fixed_threshold')) {
twitter_issue_resolved($f_bug_id);
}
form_security_purge('bug_update');
print_successful_redirect_to_bug($f_bug_id);
开发者ID:Kirill,项目名称:mantisbt,代码行数:31,代码来源:bug_update.php
示例3: mc_issue_add
//.........这里部分代码省略.........
$t_bug_data->handler_id = $t_handler_id;
$t_bug_data->priority = $t_priority_id;
$t_bug_data->severity = $t_severity_id;
$t_bug_data->reproducibility = $t_reproducibility_id;
$t_bug_data->status = $t_status_id;
$t_bug_data->resolution = $t_resolution_id;
$t_bug_data->projection = $t_projection_id;
$t_bug_data->category_id = $t_category_id;
$t_bug_data->date_submitted = isset( $p_issue['date_submitted'] ) ? $p_issue['date_submitted'] : '';
$t_bug_data->last_updated = isset( $p_issue['last_updated'] ) ? $p_issue['last_updated'] : '';
$t_bug_data->eta = $t_eta_id;
$t_bug_data->profile_id = isset( $p_issue['profile_id'] ) ? $p_issue['profile_id'] : 0;
$t_bug_data->os = isset( $p_issue['os'] ) ? $p_issue['os'] : '';
$t_bug_data->os_build = isset( $p_issue['os_build'] ) ? $p_issue['os_build'] : '';
$t_bug_data->platform = isset( $p_issue['platform'] ) ? $p_issue['platform'] : '';
$t_bug_data->version = isset( $p_issue['version'] ) ? $p_issue['version'] : '';
$t_bug_data->fixed_in_version = isset( $p_issue['fixed_in_version'] ) ? $p_issue['fixed_in_version'] : '';
$t_bug_data->build = isset( $p_issue['build'] ) ? $p_issue['build'] : '';
$t_bug_data->view_state = $t_view_state_id;
$t_bug_data->summary = $t_summary;
$t_bug_data->sponsorship_total = isset( $p_issue['sponsorship_total'] ) ? $p_issue['sponsorship_total'] : 0;
if( isset( $p_issue['sticky'] ) &&
access_has_project_level( config_get( 'set_bug_sticky_threshold', null, null, $t_project_id ), $t_project_id ) ) {
$t_bug_data->sticky = $p_issue['sticky'];
}
if( isset( $p_issue['due_date'] ) && access_has_global_level( config_get( 'due_date_update_threshold' ) ) ) {
$t_bug_data->due_date = SoapObjectsFactory::parseDateTimeString( $p_issue['due_date'] );
} else {
$t_bug_data->due_date = date_get_null();
}
if( access_has_project_level( config_get( 'roadmap_update_threshold' ), $t_bug_data->project_id, $t_user_id ) ) {
$t_bug_data->target_version = isset( $p_issue['target_version'] ) ? $p_issue['target_version'] : '';
}
# omitted:
# var $bug_text_id
# $t_bug_data->profile_id;
# extended info
$t_bug_data->description = $t_description;
$t_bug_data->steps_to_reproduce = isset( $p_issue['steps_to_reproduce'] ) ? $p_issue['steps_to_reproduce'] : '';
$t_bug_data->additional_information = isset( $p_issue['additional_information'] ) ? $p_issue['additional_information'] : '';
# submit the issue
$t_issue_id = $t_bug_data->create();
log_event( LOG_WEBSERVICE, 'created new issue id \'' . $t_issue_id . '\'' );
$t_set_custom_field_error = mci_issue_set_custom_fields( $t_issue_id, $p_issue['custom_fields'], false );
if( $t_set_custom_field_error != null ) {
return $t_set_custom_field_error;
}
if( isset( $p_issue['monitors'] ) ) {
mci_issue_set_monitors( $t_issue_id, $t_user_id, $p_issue['monitors'] );
}
if( isset( $t_notes ) && is_array( $t_notes ) ) {
foreach( $t_notes as $t_note ) {
$t_note = SoapObjectsFactory::unwrapObject( $t_note );
if( isset( $t_note['view_state'] ) ) {
$t_view_state = $t_note['view_state'];
} else {
$t_view_state = config_get( 'default_bugnote_view_status' );
}
$t_note_type = isset( $t_note['note_type'] ) ? (int)$t_note['note_type'] : BUGNOTE;
$t_note_attr = isset( $t_note['note_type'] ) ? $t_note['note_attr'] : '';
$t_view_state_id = mci_get_enum_id_from_objectref( 'view_state', $t_view_state );
$t_note_id = bugnote_add(
$t_issue_id,
$t_note['text'],
mci_get_time_tracking_from_note( $t_issue_id, $t_note ),
$t_view_state_id == VS_PRIVATE,
$t_note_type,
$t_note_attr,
$t_user_id,
false ); # don't send mail
log_event( LOG_WEBSERVICE, 'bugnote id \'' . $t_note_id . '\' added to issue \'' . $t_issue_id . '\'' );
}
}
if( isset( $p_issue['tags'] ) && is_array( $p_issue['tags'] ) ) {
mci_tag_set_for_issue( $t_issue_id, $p_issue['tags'], $t_user_id );
}
email_generic( $t_issue_id, 'new', 'email_notification_title_for_action_bug_submitted' );
if( $t_bug_data->status != config_get( 'bug_submit_status' ) ) {
history_log_event( $t_issue_id, 'status', config_get( 'bug_submit_status' ) );
}
if( $t_bug_data->resolution != config_get( 'default_bug_resolution' ) ) {
history_log_event( $t_issue_id, 'resolution', config_get( 'default_bug_resolution' ) );
}
return $t_issue_id;
}
开发者ID:01-Scripts,项目名称:mantisbt,代码行数:101,代码来源:mc_issue_api.php
示例4: email_bug_deleted
/**
* send notices when a bug is DELETED
* @param int $p_bug_id
* @return null
*/
function email_bug_deleted($p_bug_id)
{
log_event(LOG_EMAIL, sprintf('Issue #%d deleted', $p_bug_id));
email_generic($p_bug_id, 'deleted', 'email_notification_title_for_action_bug_deleted');
}
开发者ID:sfranks1124,项目名称:mantisbt,代码行数:10,代码来源:email_api.php
示例5: bugnote_add
/**
* Add a bugnote to a bug
* return the ID of the new bugnote
* @param integer $p_bug_id A bug identifier.
* @param string $p_bugnote_text The bugnote text to add.
* @param string $p_time_tracking Time tracking value - hh:mm string.
* @param boolean $p_private Whether bugnote is private.
* @param integer $p_type The bugnote type.
* @param string $p_attr Bugnote Attribute.
* @param integer $p_user_id A user identifier.
* @param boolean $p_send_email Whether to generate email.
* @param integer $p_date_submitted Date submitted (defaults to now()).
* @param integer $p_last_modified Last modification date (defaults to now()).
* @param boolean $p_skip_bug_update Skip bug last modification update (useful when importing bugs/bugnotes).
* @param boolean $p_log_history Log changes to bugnote history (defaults to true).
* @return boolean|integer false or indicating bugnote id added
* @access public
*/
function bugnote_add($p_bug_id, $p_bugnote_text, $p_time_tracking = '0:00', $p_private = false, $p_type = BUGNOTE, $p_attr = '', $p_user_id = null, $p_send_email = true, $p_date_submitted = 0, $p_last_modified = 0, $p_skip_bug_update = false, $p_log_history = true)
{
$c_bug_id = (int) $p_bug_id;
$c_time_tracking = helper_duration_to_minutes($p_time_tracking);
$c_type = (int) $p_type;
$c_date_submitted = $p_date_submitted <= 0 ? db_now() : (int) $p_date_submitted;
$c_last_modified = $p_last_modified <= 0 ? db_now() : (int) $p_last_modified;
if (REMINDER !== $p_type) {
# Check if this is a time-tracking note
$t_time_tracking_enabled = config_get('time_tracking_enabled');
if (ON == $t_time_tracking_enabled && $c_time_tracking > 0) {
$t_time_tracking_without_note = config_get('time_tracking_without_note');
if (is_blank($p_bugnote_text) && OFF == $t_time_tracking_without_note) {
error_parameters(lang_get('bugnote'));
trigger_error(ERROR_EMPTY_FIELD, ERROR);
}
$c_type = TIME_TRACKING;
} else {
if (is_blank($p_bugnote_text)) {
# This is not time tracking (i.e. it's a normal bugnote)
# @todo should we not trigger an error in this case ?
return false;
}
}
}
# Event integration
$t_bugnote_text = event_signal('EVENT_BUGNOTE_DATA', $p_bugnote_text, $c_bug_id);
# insert bugnote text
$t_query = 'INSERT INTO {bugnote_text} ( note ) VALUES ( ' . db_param() . ' )';
db_query($t_query, array($t_bugnote_text));
# retrieve bugnote text id number
$t_bugnote_text_id = db_insert_id(db_get_table('bugnote_text'));
# get user information
if ($p_user_id === null) {
$p_user_id = auth_get_current_user_id();
}
# Check for private bugnotes.
if ($p_private && access_has_bug_level(config_get('set_view_status_threshold'), $p_bug_id, $p_user_id)) {
$t_view_state = VS_PRIVATE;
} else {
$t_view_state = VS_PUBLIC;
}
# insert bugnote info
$t_query = 'INSERT INTO {bugnote}
(bug_id, reporter_id, bugnote_text_id, view_state, date_submitted, last_modified, note_type, note_attr, time_tracking)
VALUES (' . db_param() . ', ' . db_param() . ', ' . db_param() . ', ' . db_param() . ', ' . db_param() . ', ' . db_param() . ', ' . db_param() . ', ' . db_param() . ', ' . db_param() . ' )';
$t_params = array($c_bug_id, $p_user_id, $t_bugnote_text_id, $t_view_state, $c_date_submitted, $c_last_modified, $c_type, $p_attr, $c_time_tracking);
db_query($t_query, $t_params);
# get bugnote id
$t_bugnote_id = db_insert_id(db_get_table('bugnote'));
# update bug last updated
if (!$p_skip_bug_update) {
bug_update_date($p_bug_id);
}
# log new bug
if (true == $p_log_history) {
history_log_event_special($p_bug_id, BUGNOTE_ADDED, bugnote_format_id($t_bugnote_id));
}
# Event integration
event_signal('EVENT_BUGNOTE_ADD', array($p_bug_id, $t_bugnote_id));
# only send email if the text is not blank, otherwise, it is just recording of time without a comment.
if (true == $p_send_email && !is_blank($t_bugnote_text)) {
email_generic($p_bug_id, 'bugnote', 'email_notification_title_for_action_bugnote_submitted');
}
return $t_bugnote_id;
}
开发者ID:derrickweaver,项目名称:mantisbt,代码行数:84,代码来源:bugnote_api.php
示例6: bugnote_get_all_bugnotes
if ($f_copy_notes_from_parent) {
$t_parent_bugnotes = bugnote_get_all_bugnotes($f_master_bug_id);
foreach ($t_parent_bugnotes as $t_parent_bugnote) {
$t_private = $t_parent_bugnote->view_state == VS_PRIVATE;
bugnote_add($t_bug_id, $t_parent_bugnote->note, $t_parent_bugnote->time_tracking, $t_private, $t_parent_bugnote->note_type, $t_parent_bugnote->note_attr, $t_parent_bugnote->reporter_id, false, 0, 0, false);
}
}
# copy attachments from parent
if ($f_copy_attachments_from_parent) {
file_copy_attachments($f_master_bug_id, $t_bug_id);
}
}
helper_call_custom_function('issue_create_notify', array($t_bug_id));
# Allow plugins to post-process bug data with the new bug ID
event_signal('EVENT_REPORT_BUG', array($t_bug_data, $t_bug_id));
email_generic($t_bug_id, 'new', 'email_notification_title_for_action_bug_submitted');
# log status and resolution changes if they differ from the default
if ($t_bug_data->status != config_get('bug_submit_status')) {
history_log_event($t_bug_id, 'status', config_get('bug_submit_status'));
}
if ($t_bug_data->resolution != config_get('default_bug_resolution')) {
history_log_event($t_bug_id, 'resolution', config_get('default_bug_resolution'));
}
form_security_purge('bug_report');
html_page_top1();
if (!$f_report_stay) {
html_meta_redirect('view_all_bug_page.php');
}
html_page_top2();
echo '<div class="success-msg">';
echo lang_get('operation_successful') . '<br />';
开发者ID:hamx0r,项目名称:mantisbt,代码行数:31,代码来源:bug_report.php
示例7: email_relationship_child_resolved_closed
/**
* send notices to all the handlers of the parent bugs still open when a child bug is resolved/closed
*
* @param integer $p_bug_id A bug identifier.
* @param integer $p_message_id A message identifier.
* @return void
*/
function email_relationship_child_resolved_closed($p_bug_id, $p_message_id)
{
# retrieve all the relationships in which the bug is the destination bug
$t_relationship = relationship_get_all_dest($p_bug_id);
$t_relationship_count = count($t_relationship);
if ($t_relationship_count == 0) {
# no parent bug found
return;
}
for ($i = 0; $i < $t_relationship_count; $i++) {
if ($t_relationship[$i]->type == BUG_DEPENDANT) {
$t_src_bug_id = $t_relationship[$i]->src_bug_id;
$t_status = bug_get_field($t_src_bug_id, 'status');
if ($t_status < config_get('bug_resolved_status_threshold')) {
# sent the notification just for parent bugs not resolved/closed
$t_opt = array();
$t_opt[] = bug_format_id($p_bug_id);
email_generic($t_src_bug_id, 'handler', $p_message_id, $t_opt);
}
}
}
}
开发者ID:hamx0r,项目名称:mantisbt,代码行数:29,代码来源:email_api.php
示例8: bug_update
function bug_update($p_bug_id, $p_bug_data, $p_update_extended = false, $p_bypass_mail = false)
{
$c_bug_id = db_prepare_int($p_bug_id);
$c_bug_data = bug_prepare_db($p_bug_data);
# Summary cannot be blank
if (is_blank($c_bug_data->summary)) {
error_parameters(lang_get('summary'));
trigger_error(ERROR_EMPTY_FIELD, ERROR);
}
if ($p_update_extended) {
# Description field cannot be empty
if (is_blank($c_bug_data->description)) {
error_parameters(lang_get('description'));
trigger_error(ERROR_EMPTY_FIELD, ERROR);
}
}
if (!is_blank($p_bug_data->duplicate_id) && $p_bug_data->duplicate_id != 0 && $p_bug_id == $p_bug_data->duplicate_id) {
trigger_error(ERROR_BUG_DUPLICATE_SELF, ERROR);
# never returns
}
$t_old_data = bug_get($p_bug_id, true);
$t_bug_table = config_get('mantis_bug_table');
# Update all fields
# Ignore date_submitted and last_updated since they are pulled out
# as unix timestamps which could confuse the history log and they
# shouldn't get updated like this anyway. If you really need to change
# them use bug_set_field()
$query = "UPDATE {$t_bug_table}\n\t\t\t\tSET project_id='{$c_bug_data->project_id}',\n\t\t\t\t\treporter_id='{$c_bug_data->reporter_id}',\n\t\t\t\t\thandler_id='{$c_bug_data->handler_id}',\n\t\t\t\t\tduplicate_id='{$c_bug_data->duplicate_id}',\n\t\t\t\t\tpriority='{$c_bug_data->priority}',\n\t\t\t\t\tseverity='{$c_bug_data->severity}',\n\t\t\t\t\treproducibility='{$c_bug_data->reproducibility}',\n\t\t\t\t\tstatus='{$c_bug_data->status}',\n\t\t\t\t\tresolution='{$c_bug_data->resolution}',\n\t\t\t\t\tprojection='{$c_bug_data->projection}',\n\t\t\t\t\tcategory='{$c_bug_data->category}',\n\t\t\t\t\teta='{$c_bug_data->eta}',\n\t\t\t\t\tos='{$c_bug_data->os}',\n\t\t\t\t\tos_build='{$c_bug_data->os_build}',\n\t\t\t\t\tplatform='{$c_bug_data->platform}',\n\t\t\t\t\tversion='{$c_bug_data->version}',\n\t\t\t\t\tbuild='{$c_bug_data->build}',\n\t\t\t\t\tfixed_in_version='{$c_bug_data->fixed_in_version}',";
$t_roadmap_updated = false;
if (access_has_project_level(config_get('roadmap_update_threshold'))) {
$query .= "\n\t\t\t\t\ttarget_version='{$c_bug_data->target_version}',";
$t_roadmap_updated = true;
}
$query .= "\n\t\t\t\t\tview_state='{$c_bug_data->view_state}',\n\t\t\t\t\tsummary='{$c_bug_data->summary}',\n\t\t\t\t\tsponsorship_total='{$c_bug_data->sponsorship_total}',\n\t\t\t\t\tsticky='{$c_bug_data->sticky}'\n\t\t\t\tWHERE id='{$c_bug_id}'";
db_query($query);
bug_clear_cache($p_bug_id);
# log changes
history_log_event_direct($p_bug_id, 'project_id', $t_old_data->project_id, $p_bug_data->project_id);
history_log_event_direct($p_bug_id, 'reporter_id', $t_old_data->reporter_id, $p_bug_data->reporter_id);
history_log_event_direct($p_bug_id, 'handler_id', $t_old_data->handler_id, $p_bug_data->handler_id);
history_log_event_direct($p_bug_id, 'duplicate_id', $t_old_data->duplicate_id, $p_bug_data->duplicate_id);
history_log_event_direct($p_bug_id, 'priority', $t_old_data->priority, $p_bug_data->priority);
history_log_event_direct($p_bug_id, 'severity', $t_old_data->severity, $p_bug_data->severity);
history_log_event_direct($p_bug_id, 'reproducibility', $t_old_data->reproducibility, $p_bug_data->reproducibility);
history_log_event_direct($p_bug_id, 'status', $t_old_data->status, $p_bug_data->status);
history_log_event_direct($p_bug_id, 'resolution', $t_old_data->resolution, $p_bug_data->resolution);
history_log_event_direct($p_bug_id, 'projection', $t_old_data->projection, $p_bug_data->projection);
history_log_event_direct($p_bug_id, 'category', $t_old_data->category, $p_bug_data->category);
history_log_event_direct($p_bug_id, 'eta', $t_old_data->eta, $p_bug_data->eta);
history_log_event_direct($p_bug_id, 'os', $t_old_data->os, $p_bug_data->os);
history_log_event_direct($p_bug_id, 'os_build', $t_old_data->os_build, $p_bug_data->os_build);
history_log_event_direct($p_bug_id, 'platform', $t_old_data->platform, $p_bug_data->platform);
history_log_event_direct($p_bug_id, 'version', $t_old_data->version, $p_bug_data->version);
history_log_event_direct($p_bug_id, 'build', $t_old_data->build, $p_bug_data->build);
history_log_event_direct($p_bug_id, 'fixed_in_version', $t_old_data->fixed_in_version, $p_bug_data->fixed_in_version);
if ($t_roadmap_updated) {
history_log_event_direct($p_bug_id, 'target_version', $t_old_data->target_version, $p_bug_data->target_version);
}
history_log_event_direct($p_bug_id, 'view_state', $t_old_data->view_state, $p_bug_data->view_state);
history_log_event_direct($p_bug_id, 'summary', $t_old_data->summary, $p_bug_data->summary);
history_log_event_direct($p_bug_id, 'sponsorship_total', $t_old_data->sponsorship_total, $p_bug_data->sponsorship_total);
history_log_event_direct($p_bug_id, 'sticky', $t_old_data->sticky, $p_bug_data->sticky);
# Update extended info if requested
if ($p_update_extended) {
$t_bug_text_table = config_get('mantis_bug_text_table');
$t_bug_text_id = bug_get_field($p_bug_id, 'bug_text_id');
$query = "UPDATE {$t_bug_text_table}\n\t\t\t\t\t\tSET description='{$c_bug_data->description}',\n\t\t\t\t\t\t\tsteps_to_reproduce='{$c_bug_data->steps_to_reproduce}',\n\t\t\t\t\t\t\tadditional_information='{$c_bug_data->additional_information}'\n\t\t\t\t\t\tWHERE id='{$t_bug_text_id}'";
db_query($query);
bug_text_clear_cache($p_bug_id);
if ($t_old_data->description != $p_bug_data->description) {
history_log_event_special($p_bug_id, DESCRIPTION_UPDATED);
}
if ($t_old_data->steps_to_reproduce != $p_bug_data->steps_to_reproduce) {
history_log_event_special($p_bug_id, STEP_TO_REPRODUCE_UPDATED);
}
if ($t_old_data->additional_information != $p_bug_data->additional_information) {
history_log_event_special($p_bug_id, ADDITIONAL_INFO_UPDATED);
}
}
# Update the last update date
bug_update_date($p_bug_id);
if (false == $p_bypass_mail) {
# allow bypass if user is sending mail separately
$t_action_prefix = 'email_notification_title_for_action_bug_';
$t_status_prefix = 'email_notification_title_for_status_bug_';
# status changed
if ($t_old_data->status != $p_bug_data->status) {
$t_status = get_enum_to_string(config_get('status_enum_string'), $p_bug_data->status);
$t_status = str_replace(' ', '_', $t_status);
email_generic($p_bug_id, $t_status, $t_status_prefix . $t_status);
return true;
}
# bug assigned
if ($t_old_data->handler_id != $p_bug_data->handler_id) {
email_generic($p_bug_id, 'owner', $t_action_prefix . 'assigned');
return true;
}
# @@@ handle priority change if it requires special handling
# generic update notification
email_generic($p_bug_id, 'updated', $t_action_prefix . 'updated');
//.........这里部分代码省略.........
开发者ID:jin255ff,项目名称:company_website,代码行数:101,代码来源:bug_api.php
示例9: sponsorship_delete
/**
* delete a sponsorship given its id
* id can be an array of ids or just an id.
* @param integer $p_sponsorship_id The sponsorship identifier to delete.
* @return void
*/
function sponsorship_delete($p_sponsorship_id)
{
# handle the case of array of ids
if (is_array($p_sponsorship_id)) {
foreach ($p_sponsorship_id as $t_id) {
sponsorship_delete($t_id);
}
return;
}
$t_sponsorship = sponsorship_get($p_sponsorship_id);
# Delete the bug entry
$t_query = 'DELETE FROM {sponsorship} WHERE id=' . db_param();
db_query($t_query, array((int) $p_sponsorship_id));
sponsorship_clear_cache($p_sponsorship_id);
history_log_event_special($t_sponsorship->bug_id, BUG_DELETE_SPONSORSHIP, $t_sponsorship->user_id, $t_sponsorship->amount);
sponsorship_update_bug($t_sponsorship->bug_id);
email_generic($t_sponsorship->bug_id, 'sponsor', 'A sponsorship of the following issue was withdrawn.');
}
开发者ID:derrickweaver,项目名称:mantisbt,代码行数:24,代码来源:sponsorship_api.php
示例10: event_view_bug_details
function event_view_bug_details($p_event, $p_project_id)
{
global $agilemantis_sprint;
global $agilemantis_pb;
global $agilemantis_commonlib;
// Only projects with agilMantis backlog
if (!$agilemantis_commonlib->projectHasBacklogs(helper_get_current_project())) {
return;
}
if ($_SESSION['AGILEMANTIS_ISMANTISADMIN'] == 1 || $_SESSION['AGILEMANTIS_ISMANTISUSER'] == 1) {
if ($_POST['saveValues']) {
$agilemantis_pb->setCustomFieldValues($p_project_id);
bug_update_date($p_project_id);
if ((int) $_GET['bug_id']) {
header('Location:' . $_SERVER['PHP_SELF'] . '?bug_id=' . $p_project_id . '&save=true');
} else {
header('Location:' . $_SERVER['PHP_SELF'] . '?id=' . $p_project_id . '&save=true');
}
email_generic($p_project_id, 'updated', 'email_notification_title_for_action_bug_updated');
}
$pbl = $agilemantis_pb->getProjectProductBacklogs(helper_get_current_project());
$story = $agilemantis_pb->checkForUserStory($p_project_id);
$s = $agilemantis_sprint->getBacklogSprints($story['name']);
// check wether bugnotes are available or not
$t_bugnotes = bugnote_get_all_bugnotes($p_project_id);
$t_amount_bugnotes = count($t_bugnotes);
// activate or disable bugnotes link
$bugnotes_disable = '';
if ($t_amount_bugnotes > 0) {
$bugnotes_disable = '<a href="#bugnotes">' . plugin_lang_get('view_issue_look_through_notes') . '</a>';
}
$pb_name = $story['name'];
$sprint_name = $story['sprint'];
$disable_sprint_button = '';
if ($sprint_name == "") {
$disable_sprint_button = 'disabled';
} else {
if (plugin_config_get('gadiv_taskboard') == 0) {
$page_backlog = plugin_page("sprint_backlog.php");
} else {
$page_backlog = plugin_page("taskboard.php");
}
}
require_once AGILEMANTIS_CORE_URI . "agile_mantis_custom_fields_inc.php";
if ($_GET['save'] == true) {
$hinweis = '<span class="message_ok">' . plugin_lang_get('view_issue_successfully_saved') . '</span>';
} else {
$hinweis = '';
}
if ($story['name'] == "") {
$task_disable = 'disabled';
}
echo '
<tr ' . helper_alternate_class() . '>
<td class="custom_field_form">agileMantis-' . plugin_lang_get('common_actions') . '</td>
<td colspan="5">
<input type="submit" name="saveValues" value="' . plugin_lang_get('view_issue_save_infos') . '">
</form>
<form action="' . plugin_page("task_page.php") . '&us_id=' . $p_project_id . '" method="post">
<input type="submit" value="' . plugin_lang_get('view_issue_edit_tasks') . '" ' . $task_disable . '>
</form>
<form action="' . plugin_page("product_backlog.php") . '" method="post">
<input type="submit" value="' . plugin_lang_get('view_issue_goto_product_backlog') . '" ' . $task_disable . '>
<input type="hidden" name="productBacklogName" value="' . $pb_name . '">
</form>
<form action="' . $page_backlog . '" method="post">
<input type="submit" value="' . plugin_lang_get('view_issue_goto_sprint_backlog') . '" ' . $disable_sprint_button . '>
<input type="hidden" name="sprintName" value="' . $sprint_name . '">
</form>
' . $bugnotes_disable . '
' . $hinweis . '
</td>
</tr>
';
}
}
开发者ID:CarlosPinedaT,项目名称:agileMantis,代码行数:76,代码来源:agileMantis.php
注:本文中的email_generic函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论