本文整理汇总了PHP中bugnote_get_all_bugnotes函数的典型用法代码示例。如果您正苦于以下问题:PHP bugnote_get_all_bugnotes函数的具体用法?PHP bugnote_get_all_bugnotes怎么用?PHP bugnote_get_all_bugnotes使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了bugnote_get_all_bugnotes函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: history_log_event_special
history_log_event_special($t_bug_id, BUG_CREATED_FROM, '', $f_master_bug_id);
history_log_event_special($f_master_bug_id, BUG_CLONED_TO, '', $t_bug_id);
if ($f_rel_type >= 0) {
# Add the relationship
relationship_add($t_bug_id, $f_master_bug_id, $f_rel_type);
# Add log line to the history (both issues)
history_log_event_special($f_master_bug_id, BUG_ADD_RELATIONSHIP, relationship_get_complementary_type($f_rel_type), $t_bug_id);
history_log_event_special($t_bug_id, BUG_ADD_RELATIONSHIP, $f_rel_type, $f_master_bug_id);
# update relationship target bug last updated
bug_update_date($t_bug_id);
# Send the email notification
email_relationship_added($f_master_bug_id, $t_bug_id, relationship_get_complementary_type($f_rel_type));
}
# copy notes from parent
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, 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_new_bug($t_bug_id);
// log status and resolution changes if they differ from the default
示例2: bugnote_get_all_bugnotes
# title
$writer->writeElement('name', $custom_field_name);
# filename
$writer->writeElement('type', $t_custom_field['type']);
# filesize
$writer->writeElement('value', $t_custom_field['value']);
# file_type
$writer->writeElement('access_level_r', $t_custom_field['access_level_r']);
$writer->endElement();
# custom_field
}
$writer->endElement();
# custom_fields
}
# fetch and export bugnotes
$t_bugnotes = bugnote_get_all_bugnotes($t_row->id);
if (is_array($t_bugnotes) && count($t_bugnotes) > 0) {
$writer->startElement('bugnotes');
foreach ($t_bugnotes as $t_bugnote) {
$writer->startElement('bugnote');
# id
$writer->writeElement('id', $t_bugnote->id);
# reporter
$writer->startElement('reporter');
$writer->writeAttribute('id', $t_bugnote->reporter_id);
$writer->text(user_get_name($t_bugnote->reporter_id));
$writer->endElement();
# bug note
$writer->writeElement('note', $t_bugnote->note);
# view state
$writer->startElement('view_state');
示例3: getNotices
function getNotices($p_bug_id)
{
return bugnote_get_all_bugnotes($p_bug_id);
}
示例4: bugnote_get_all_visible_bugnotes
/**
* Build the bugnotes array for the given bug_id filtered by specified $p_user_access_level.
* Bugnotes are sorted by date_submitted according to 'bugnote_order' configuration setting.
* Return BugnoteData class object with raw values from the tables except the field
* last_modified - it is UNIX_TIMESTAMP.
* @param int $p_bug_id bug id
* @param int $p_user_bugnote_order sort order
* @param int $p_user_bugnote_limit number of bugnotes to display to user
* @param int $p_user_id user id
* @return array array of bugnotes
* @access public
*/
function bugnote_get_all_visible_bugnotes($p_bug_id, $p_user_bugnote_order, $p_user_bugnote_limit, $p_user_id = null)
{
if ($p_user_id === null) {
$t_user_id = auth_get_current_user_id();
} else {
$t_user_id = $p_user_id;
}
$t_project_id = bug_get_field($p_bug_id, 'project_id');
$t_user_access_level = user_get_access_level($t_user_id, $t_project_id);
$t_all_bugnotes = bugnote_get_all_bugnotes($p_bug_id);
$t_private_bugnote_threshold = config_get('private_bugnote_threshold');
$t_private_bugnote_visible = access_compare_level($t_user_access_level, config_get('private_bugnote_threshold'));
$t_time_tracking_visible = access_compare_level($t_user_access_level, config_get('time_tracking_view_threshold'));
$t_bugnotes = array();
$t_bugnote_count = count($t_all_bugnotes);
$t_bugnote_limit = $p_user_bugnote_limit > 0 ? $p_user_bugnote_limit : $t_bugnote_count;
$t_bugnotes_found = 0;
# build a list of the latest bugnotes that the user can see
for ($i = 0; $i < $t_bugnote_count && $t_bugnotes_found < $t_bugnote_limit; $i++) {
$t_bugnote = array_pop($t_all_bugnotes);
if ($t_private_bugnote_visible || $t_bugnote->reporter_id == $t_user_id || VS_PUBLIC == $t_bugnote->view_state) {
# If the access level specified is not enough to see time tracking information
# then reset it to 0.
if (!$t_time_tracking_visible) {
$t_bugnote->time_tracking = 0;
}
$t_bugnotes[$t_bugnotes_found++] = $t_bugnote;
}
}
# reverse the list for users with ascending view preferences
if ('ASC' == $p_user_bugnote_order) {
$t_bugnotes = array_reverse($t_bugnotes);
}
return $t_bugnotes;
}
示例5: calculate_last_bugnotes
/**
* Get last change values for:
* - amount of bugotes
*
* @param $bug_id
* @param $version_date
* @return int
*/
public function calculate_last_bugnotes($bug_id, $version_date)
{
$bugnote_count = 0;
$bugnotes = bugnote_get_all_bugnotes($bug_id);
foreach ($bugnotes as $bugnote) {
if ($bugnote->date_submitted <= $version_date) {
$bugnote_count++;
}
}
return $bugnote_count;
}
开发者ID:Cre-ator,项目名称:Whiteboard.SpecificationManagement-Plugin,代码行数:19,代码来源:specmanagement_database_api.php
示例6: bugnote_get_all_visible_bugnotes
function bugnote_get_all_visible_bugnotes($p_bug_id, $p_user_access_level, $p_user_bugnote_order, $p_user_bugnote_limit)
{
$t_all_bugnotes = bugnote_get_all_bugnotes($p_bug_id, $p_user_bugnote_order, $p_user_bugnote_limit);
$t_private_bugnote_threshold = config_get('private_bugnote_threshold');
$t_private_bugnote_visible = access_compare_level($p_user_access_level, config_get('private_bugnote_threshold'));
$t_time_tracking_visible = access_compare_level($p_user_access_level, config_get('time_tracking_view_threshold'));
$t_bugnotes = array();
foreach ($t_all_bugnotes as $t_note_index => $t_bugnote) {
if ($t_private_bugnote_visible || VS_PUBLIC == $t_bugnote->view_state) {
# If the access level specified is not enough to see time tracking information
# then reset it to 0.
if (!$t_time_tracking_visible) {
$t_bugnote->time_tracking = 0;
}
$t_bugnotes[$t_note_index] = $t_bugnote;
}
}
return $t_bugnotes;
}
示例7: email_generic_to_recipients
/**
* Sends a generic email to the specific set of recipients.
*
* @param integer $p_bug_id A bug identifier
* @param string $p_notify_type Notification type
* @param array $p_recipients Array of recipients (key: user id, value: email address)
* @param integer $p_message_id Message identifier
* @param array $p_header_optional_params Optional Parameters (default null)
* @return void
*/
function email_generic_to_recipients($p_bug_id, $p_notify_type, array $p_recipients, $p_message_id = null, array $p_header_optional_params = null)
{
if (OFF == config_get('enable_email_notification')) {
return;
}
ignore_user_abort(true);
bugnote_get_all_bugnotes($p_bug_id);
$t_project_id = bug_get_field($p_bug_id, 'project_id');
if (is_array($p_recipients)) {
# send email to every recipient
foreach ($p_recipients as $t_user_id => $t_user_email) {
log_event(LOG_EMAIL_VERBOSE, 'Issue = #%d, Type = %s, Msg = \'%s\', User = @U%d, Email = \'%s\'.', $p_bug_id, $p_notify_type, $p_message_id, $t_user_id, $t_user_email);
# load (push) user language here as build_visible_bug_data assumes current language
lang_push(user_pref_get_language($t_user_id, $t_project_id));
$t_visible_bug_data = email_build_visible_bug_data($t_user_id, $p_bug_id, $p_message_id);
email_bug_info_to_one_user($t_visible_bug_data, $p_message_id, $t_user_id, $p_header_optional_params);
lang_pop();
}
}
}
示例8: email_generic_to_recipients
/**
* send a generic email
* $p_notify_type: use check who she get notified of such event.
* $p_message_id: message id to be translated and included at the top of the email message.
* Return false if it were problems sending email * @param string
* @param int $p_bug_id
* @param string $p_notify_type
* @param int $p_message_id
* @param array $p_header_optional_params = null
* @param array $p_extra_user_ids_to_email
* @return bool
*/
function email_generic_to_recipients($p_bug_id, $p_notify_type, array $p_recipients, $p_message_id = null, $p_header_optional_params = null)
{
$t_ok = true;
if (ON === config_get('enable_email_notification')) {
ignore_user_abort(true);
bugnote_get_all_bugnotes($p_bug_id);
$t_project_id = bug_get_field($p_bug_id, 'project_id');
if (is_array($p_recipients)) {
# send email to every recipient
foreach ($p_recipients as $t_user_id => $t_user_email) {
log_event(LOG_EMAIL, sprintf("Issue = #%d, Type = %s, Msg = '%s', User = @U%d, Email = '%s'.", $p_bug_id, $p_notify_type, $p_message_id, $t_user_id, $t_user_email));
# load (push) user language here as build_visible_bug_data assumes current language
lang_push(user_pref_get_language($t_user_id, $t_project_id));
$t_visible_bug_data = email_build_visible_bug_data($t_user_id, $p_bug_id, $p_message_id);
$t_ok = email_bug_info_to_one_user($t_visible_bug_data, $p_message_id, $t_project_id, $t_user_id, $p_header_optional_params) && $t_ok;
lang_pop();
}
}
# Only trigger the draining of the email queue if cronjob is disabled and email notifications are enabled.
if (OFF == config_get('email_send_using_cronjob')) {
email_send_all();
}
}
return $t_ok;
}
示例9: email_generic
/**
* send a generic email
* $p_notify_type: use check who she get notified of such event.
* $p_message_id: message id to be translated and included at the top of the email message.
* Return false if it were problems sending email
* @param integer $p_bug_id A bug identifier.
* @param string $p_notify_type Notification type.
* @param integer $p_message_id Message identifier.
* @param array $p_header_optional_params Optional Parameters (default null).
* @param array $p_extra_user_ids_to_email Array of additional users to email.
* @return void
*/
function email_generic($p_bug_id, $p_notify_type, $p_message_id = null, array $p_header_optional_params = null, array $p_extra_user_ids_to_email = array())
{
if (OFF == config_get('enable_email_notification')) {
return;
}
ignore_user_abort(true);
bugnote_get_all_bugnotes($p_bug_id);
# @todo yarick123: email_collect_recipients(...) will be completely rewritten to provide additional information such as language, user access,..
# @todo yarick123:sort recipients list by language to reduce switches between different languages
$t_recipients = email_collect_recipients($p_bug_id, $p_notify_type, $p_extra_user_ids_to_email);
$t_project_id = bug_get_field($p_bug_id, 'project_id');
if (is_array($t_recipients)) {
# send email to every recipient
foreach ($t_recipients as $t_user_id => $t_user_email) {
log_event(LOG_EMAIL, 'Issue = #%d, Type = %s, Msg = \'%s\', User = @U%d, Email = \'%s\'.', $p_bug_id, $p_notify_type, $p_message_id, $t_user_id, $t_user_email);
# load (push) user language here as build_visible_bug_data assumes current language
lang_push(user_pref_get_language($t_user_id, $t_project_id));
$t_visible_bug_data = email_build_visible_bug_data($t_user_id, $p_bug_id, $p_message_id);
email_bug_info_to_one_user($t_visible_bug_data, $p_message_id, $t_project_id, $t_user_id, $p_header_optional_params);
lang_pop();
}
}
}
示例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>
';
}
}
示例11: save_bug
//.........这里部分代码省略.........
$t_bug_data->steps_to_reproduce = gpc_get_string('LOGCAT', "");
$t_bug_data->additional_information = gpc_get_string('CRASH_CONFIGURATION', "");
$t_bug_data->due_date = gpc_get_string('USER_CRASH_DATE', '');
if (is_blank($t_bug_data->due_date)) {
$t_bug_data->due_date = date_get_null();
}
$f_files = gpc_get_file('ufile', null);
/** @todo (thraxisp) Note that this always returns a structure */
$f_report_stay = gpc_get_bool('report_stay', false);
$f_copy_notes_from_parent = gpc_get_bool('copy_notes_from_parent', false);
helper_call_custom_function('issue_create_validate', array($t_bug_data));
# Validate the custom fields before adding the bug.
$t_related_custom_field_ids = custom_field_get_linked_ids($t_bug_data->project_id);
foreach ($t_related_custom_field_ids as $t_id) {
$t_def = custom_field_get_definition($t_id);
# Produce an error if the field is required but wasn't posted
if (!gpc_isset_custom_field($t_id, $t_def['type']) && $t_def['require_report']) {
error_parameters(lang_get_defaulted(custom_field_get_field($t_id, 'name')));
trigger_error(ERROR_EMPTY_FIELD, ERROR);
}
if (!custom_field_validate($t_id, gpc_get_custom_field("custom_field_{$t_id}", $t_def['type'], NULL))) {
error_parameters(lang_get_defaulted(custom_field_get_field($t_id, 'name')));
trigger_error(ERROR_CUSTOM_FIELD_INVALID_VALUE, ERROR);
}
}
# Allow plugins to pre-process bug data
$t_bug_data = event_signal('EVENT_REPORT_BUG_DATA', $t_bug_data);
# Ensure that resolved bugs have a handler
if ($t_bug_data->handler_id == NO_USER && $t_bug_data->status >= config_get('bug_resolved_status_threshold')) {
$t_bug_data->handler_id = $this->get_user_id();
}
# Create the bug
$t_bug_id = $t_bug_data->create();
# Mark the added issue as visited so that it appears on the last visited list.
last_visited_issue($t_bug_id);
# Handle the file upload
if ($f_files != null) {
$t_files = helper_array_transpose($f_files);
if ($t_files != null) {
foreach ($t_files as $t_file) {
if (!empty($t_file['name'])) {
file_add($t_bug_id, $t_file, 'bug');
}
}
}
}
# Handle custom field submission
foreach ($t_related_custom_field_ids as $t_id) {
# Do not set custom field value if user has no write access
if (!custom_field_has_write_access($t_id, $t_bug_id)) {
continue;
}
$t_def = custom_field_get_definition($t_id);
if (!custom_field_set_value($t_id, $t_bug_id, gpc_get_custom_field("custom_field_{$t_id}", $t_def['type'], $t_def['default_value']), false)) {
error_parameters(lang_get_defaulted(custom_field_get_field($t_id, 'name')));
trigger_error(ERROR_CUSTOM_FIELD_INVALID_VALUE, ERROR);
}
}
$f_master_bug_id = gpc_get_int('m_id', 0);
$f_rel_type = gpc_get_int('rel_type', -1);
if ($f_master_bug_id > 0) {
# it's a child generation... let's create the relationship and add some lines in the history
# update master bug last updated
bug_update_date($f_master_bug_id);
# Add log line to record the cloning action
history_log_event_special($t_bug_id, BUG_CREATED_FROM, '', $f_master_bug_id);
history_log_event_special($f_master_bug_id, BUG_CLONED_TO, '', $t_bug_id);
if ($f_rel_type >= 0) {
# Add the relationship
relationship_add($t_bug_id, $f_master_bug_id, $f_rel_type);
# Add log line to the history (both issues)
history_log_event_special($f_master_bug_id, BUG_ADD_RELATIONSHIP, relationship_get_complementary_type($f_rel_type), $t_bug_id);
history_log_event_special($t_bug_id, BUG_ADD_RELATIONSHIP, $f_rel_type, $f_master_bug_id);
# update relationship target bug last updated
bug_update_date($t_bug_id);
# Send the email notification
email_relationship_added($f_master_bug_id, $t_bug_id, relationship_get_complementary_type($f_rel_type));
}
# copy notes from parent
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, FALSE);
}
}
}
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_new_bug($t_bug_id);
// 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'));
}
return $t_bug_id;
}
示例12: bugnote_get_all_visible_bugnotes
function bugnote_get_all_visible_bugnotes($p_bug_id, $p_user_access_level, $p_user_bugnote_order, $p_user_bugnote_limit)
{
$t_all_bugnotes = bugnote_get_all_bugnotes($p_bug_id, $p_user_bugnote_order, $p_user_bugnote_limit);
$t_private_bugnote_threshold = config_get('private_bugnote_threshold');
$t_private_bugnote_visible = access_compare_level($p_user_access_level, config_get('private_bugnote_threshold'));
$t_bugnotes = array();
foreach ($t_all_bugnotes as $t_note_index => $t_bugnote) {
if ($t_private_bugnote_visible || VS_PUBLIC == $t_bugnote->view_state) {
$t_bugnotes[$t_note_index] = $t_bugnote;
}
}
return $t_bugnotes;
}