本文整理汇总了PHP中Issue::getQuarantineInfo方法的典型用法代码示例。如果您正苦于以下问题:PHP Issue::getQuarantineInfo方法的具体用法?PHP Issue::getQuarantineInfo怎么用?PHP Issue::getQuarantineInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Issue
的用法示例。
在下文中一共展示了Issue::getQuarantineInfo方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
$show_releases = 0;
}
// get if categories should be displayed
$cats = Category::getList($prj_id);
if (count($cats) > 0) {
$show_category = 1;
} else {
$show_category = 0;
}
$cookie = Auth::getCookieInfo(APP_PROJECT_COOKIE);
if (!empty($auto_switched_from)) {
$tpl->assign(array("project_auto_switched" => 1, "old_project" => Project::getName($auto_switched_from)));
}
$setup = Setup::load();
$tpl->assign("allow_unassigned_issues", @$setup["allow_unassigned_issues"]);
$tpl->assign(array('next_issue' => @$sides['next'], 'previous_issue' => @$sides['previous'], 'subscribers' => Notification::getSubscribers($issue_id), 'custom_fields' => Custom_Field::getListByIssue($prj_id, $issue_id), 'files' => Attachment::getList($issue_id), 'emails' => Support::getEmailsByIssue($issue_id), 'zones' => Date_API::getTimezoneList(), 'users' => Project::getUserAssocList($prj_id, 'active', User::getRoleID('Customer')), 'ema_id' => Email_Account::getEmailAccount(), 'max_attachment_size' => Attachment::getMaxAttachmentSize(), 'show_releases' => $show_releases, 'show_category' => $show_category, 'categories' => Category::getAssocList($prj_id), 'quarantine' => Issue::getQuarantineInfo($issue_id)));
if ($role_id != User::getRoleID('customer')) {
if (@$_REQUEST['show_all_drafts'] == 1) {
$show_all_drafts = true;
} else {
$show_all_drafts = false;
}
if (Workflow::hasWorkflowIntegration($prj_id)) {
$statuses = Workflow::getAllowedStatuses($prj_id, $issue_id);
// if currently selected release is not on list, go ahead and add it.
} else {
$statuses = Status::getAssocStatusList($prj_id);
}
if (!empty($details['iss_sta_id']) && empty($statuses[$details['iss_sta_id']])) {
$statuses[$details['iss_sta_id']] = Status::getStatusTitle($details['iss_sta_id']);
}
示例2:
// show warning about per-incident limitation
$tpl->setTemplate("customer/" . Customer::getBackendImplementationName($prj_id) . "/incident_limit_reached.tpl.html");
$tpl->assign('customer', Customer::getDetails($prj_id, $customer_id));
$tpl->displayTemplate();
exit;
}
$tpl->assign("message", Customer::getNewIssueMessage($prj_id, $customer_id));
}
}
if (@$HTTP_POST_VARS["cat"] == "report") {
$res = Issue::insert();
if ($res != -1) {
// show direct links to the issue page, issue listing page and
// email listing page
$tpl->assign("new_issue_id", $res);
$tpl->assign("quarantine", Issue::getQuarantineInfo($res));
$tpl->assign("errors", $insert_errors);
$tpl->assign("ticket", Issue::getDetails($res));
} else {
// need to show everything again
$tpl->assign("error_msg", "1");
}
}
if (@$HTTP_GET_VARS["cat"] == "associate") {
if (@count($HTTP_GET_VARS["item"]) > 0) {
$res = Support::getListDetails($HTTP_GET_VARS["item"]);
$tpl->assign("emails", $res);
$tpl->assign("attached_emails", @implode(",", $HTTP_GET_VARS["item"]));
if (Customer::hasCustomerIntegration($prj_id)) {
// also need to guess the contact_id from any attached emails
$info = Customer::getCustomerInfoFromEmails($prj_id, $HTTP_GET_VARS["item"]);
示例3: getDetails
//.........这里部分代码省略.........
static $returns;
$issue_id = Misc::escapeInteger($issue_id);
if (empty($issue_id)) {
return '';
}
if (!empty($returns[$issue_id]) && $force_refresh != true) {
return $returns[$issue_id];
}
$stmt = "SELECT\n " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "issue.*,\n prj_title,\n prc_title,\n pre_title,\n pri_title,\n sta_title,\n sta_abbreviation,\n sta_color status_color,\n sta_is_closed,\n\t\t\t\t\tsup_id as last_sup_id,\n\t\t\t\t\tseb_body as last_seb_body,\n\t\t\t\t\tema_id,\n\t\t\t\t\ten_email as reporter_email\n FROM\n (\n " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "issue,\n " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "project\n )\n LEFT JOIN\n " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "project_priority\n ON\n iss_pri_id=pri_id\n LEFT JOIN\n " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "status\n ON\n iss_sta_id=sta_id\n LEFT JOIN\n " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "project_category\n ON\n iss_prc_id=prc_id\n LEFT JOIN\n " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "project_release\n ON\n iss_pre_id=pre_id\n LEFT JOIN\n " . ETEL_USER_TABLE_NOSUB . "\n ON\n iss_usr_id=en_ID\n LEFT JOIN\n (\n\t\t\t\t\t\tSelect sup_id,sup_iss_id,seb_body\n\t\t\t\t\t\tfrom " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "support_email\n\t\t\t\t\t\tleft join " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "support_email_body on seb_sup_id = sup_id \n\t\t\t\t\t\twhere sup_iss_id = {$issue_id} order by sup_date desc\n\t\t\t\t\t) as sup\n ON\n sup_iss_id = iss_id\n LEFT JOIN\n " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "email_account\n ON\n ema_prj_id = iss_prj_id\n WHERE\n iss_id={$issue_id} AND\n iss_prj_id=prj_id";
$res = $GLOBALS["db_api"]->dbh->getRow($stmt, DB_FETCHMODE_ASSOC);
if (PEAR::isError($res)) {
Error_Handler::logError(array($res->getMessage(), $res->getDebugInfo()), __FILE__, __LINE__);
return "";
} else {
if (empty($res)) {
return "";
} else {
$created_date_ts = Date_API::getUnixTimestamp($res['iss_created_date'], Date_API::getDefaultTimezone());
// get customer information, if any
if (!empty($res['iss_customer_id']) && Customer::hasCustomerIntegration($res['iss_prj_id'])) {
$res['customer_business_hours'] = Customer::getBusinessHours($res['iss_prj_id'], $res['iss_customer_id']);
$res['contact_local_time'] = Date_API::getFormattedDate(Date_API::getCurrentDateGMT(), $res['iss_contact_timezone']);
$res['customer_info'] = Customer::getDetails($res['iss_prj_id'], $res['iss_customer_id']);
$res['redeemed_incidents'] = Customer::getRedeemedIncidentDetails($res['iss_prj_id'], $res['iss_id']);
$max_first_response_time = Customer::getMaximumFirstResponseTime($res['iss_prj_id'], $res['iss_customer_id']);
$res['max_first_response_time'] = Misc::getFormattedTime($max_first_response_time / 60);
if (empty($res['iss_first_response_date'])) {
$first_response_deadline = $created_date_ts + $max_first_response_time;
if (Date_API::getCurrentUnixTimestampGMT() <= $first_response_deadline) {
$res['max_first_response_time_left'] = Date_API::getFormattedDateDiff($first_response_deadline, Date_API::getCurrentUnixTimestampGMT());
} else {
$res['overdue_first_response_time'] = Date_API::getFormattedDateDiff(Date_API::getCurrentUnixTimestampGMT(), $first_response_deadline);
}
}
}
$res['iss_original_description'] = $res["iss_description"];
if (!strstr($HTTP_SERVER_VARS["PHP_SELF"], 'update.php')) {
$res["iss_description"] = nl2br(htmlspecialchars($res["iss_description"]));
$res["iss_resolution"] = Resolution::getTitle($res["iss_res_id"]);
}
$res["iss_impact_analysis"] = nl2br(htmlspecialchars($res["iss_impact_analysis"]));
$res["iss_created_date"] = Date_API::getFormattedDate($res["iss_created_date"]);
$res['iss_created_date_ts'] = $created_date_ts;
$res["assignments"] = @implode(", ", array_values(Issue::getAssignedUsers($res["iss_id"])));
list($res['authorized_names'], $res['authorized_repliers']) = Authorized_Replier::getAuthorizedRepliers($res["iss_id"]);
$temp = Issue::getAssignedUsersStatus($res["iss_id"]);
$res["has_inactive_users"] = 0;
$res["assigned_users"] = array();
$res["assigned_inactive_users"] = array();
foreach ($temp as $usr_id => $usr_status) {
if (!User::isActiveStatus($usr_status)) {
$res["assigned_inactive_users"][] = $usr_id;
$res["has_inactive_users"] = 1;
} else {
$res["assigned_users"][] = $usr_id;
}
}
if (@in_array(Auth::getUserID(), $res["assigned_users"])) {
$res["is_current_user_assigned"] = 1;
} else {
$res["is_current_user_assigned"] = 0;
}
$res["associated_issues_details"] = Issue::getAssociatedIssuesDetails($res["iss_id"]);
$res["associated_issues"] = Issue::getAssociatedIssues($res["iss_id"]);
$res["reporter"] = User::getFullName($res["iss_usr_id"]);
$res["email_list_details"] = Support::getFirstEmailer($issue_id);
if (!$res["reporter"]) {
$first_emailer = Support::getFirstEmailer($issue_id);
$res["reporter"] = $first_emailer . " (No Account)";
$res["reporter_email"] = preg_replace('/.*<|>/', '', $first_emailer);
}
if (empty($res["iss_updated_date"])) {
$res["iss_updated_date"] = 'not updated yet';
} else {
$res["iss_updated_date"] = Date_API::getFormattedDate($res["iss_updated_date"]);
}
$res["estimated_formatted_time"] = Misc::getFormattedTime($res["iss_dev_time"]);
if (Release::isAssignable($res["iss_pre_id"])) {
$release = Release::getDetails($res["iss_pre_id"]);
$res["pre_title"] = $release["pre_title"];
$res["pre_status"] = $release["pre_status"];
}
// need to return the list of issues that are duplicates of this one
$res["duplicates"] = Issue::getDuplicateList($res["iss_id"]);
$res["duplicates_details"] = Issue::getDuplicateDetailsList($res["iss_id"]);
// also get the issue title of the duplicated issue
if (!empty($res['iss_duplicated_iss_id'])) {
$res['duplicated_issue'] = Issue::getDuplicatedDetails($res['iss_duplicated_iss_id']);
}
// get group information
if (!empty($res["iss_grp_id"])) {
$res["group"] = Group::getDetails($res["iss_grp_id"]);
}
// get quarantine issue
$res["quarantine"] = Issue::getQuarantineInfo($res["iss_id"]);
$returns[$issue_id] = $res;
return $res;
}
}
}
示例4: array
$columns[1][] = array('title' => ev_gettext('Associated Issues'), 'field' => 'associated_issues');
if (!isset($issue_fields_display['expected_resolution']) || $issue_fields_display['expected_resolution'] != false) {
$columns[1][] = array('title' => ev_gettext('Expected Resolution Date'), 'field' => 'expected_resolution');
}
if (!isset($issue_fields_display['estimated_dev_time']) || $issue_fields_display['estimated_dev_time'] != false) {
$columns[1][] = array('title' => ev_gettext('Estimated Dev. Time'), 'data' => empty($details['iss_dev_time']) ? '' : $details['iss_dev_time'] . ' hours', 'field' => 'estimated_dev_time');
}
if ($role_id > User::getRoleID('Customer')) {
$columns[1][] = array('title' => ev_gettext('Duplicates'), 'field' => 'duplicates', 'title_bgcolor' => APP_INTERNAL_COLOR);
$columns[1][] = array('title' => ev_gettext('Authorized Repliers'), 'field' => 'authorized_repliers', 'title_bgcolor' => APP_INTERNAL_COLOR);
}
$groups = Group::getAssocList($prj_id);
if ($role_id > User::getRoleID('Customer') && count($groups) > 0) {
$columns[1][] = array('title' => ev_gettext('Group'), 'data' => isset($details['group']) ? $details['group']['grp_name'] : '', 'title_bgcolor' => APP_INTERNAL_COLOR);
}
$tpl->assign(array('next_issue' => @$sides['next'], 'previous_issue' => @$sides['previous'], 'subscribers' => Notification::getSubscribers($issue_id), 'custom_fields' => Custom_Field::getListByIssue($prj_id, $issue_id), 'files' => Attachment::getList($issue_id), 'emails' => Support::getEmailsByIssue($issue_id), 'zones' => Date_Helper::getTimezoneList(), 'users' => Project::getUserAssocList($prj_id, 'active', User::getRoleID('Customer')), 'ema_id' => Email_Account::getEmailAccount(), 'max_attachment_size' => Attachment::getMaxAttachmentSize(), 'quarantine' => Issue::getQuarantineInfo($issue_id), 'grid' => $columns, 'can_update' => Issue::canUpdate($issue_id, $usr_id), 'enabled_partners' => Partner::getPartnersByProject($prj_id), 'partners' => Partner::getPartnersByIssue($issue_id), 'issue_access' => Access::getIssueAccessArray($issue_id, $usr_id), 'is_user_notified' => Notification::isUserNotified($issue_id, $usr_id)));
if ($role_id != User::getRoleID('customer')) {
if (@$_COOKIE['show_all_drafts'] == 1) {
$show_all_drafts = true;
} else {
$show_all_drafts = false;
}
if (Workflow::hasWorkflowIntegration($prj_id)) {
$statuses = Workflow::getAllowedStatuses($prj_id, $issue_id);
// if currently selected release is not on list, go ahead and add it.
} else {
$statuses = Status::getAssocStatusList($prj_id, false);
}
if (!empty($details['iss_sta_id']) && empty($statuses[$details['iss_sta_id']])) {
$statuses[$details['iss_sta_id']] = Status::getStatusTitle($details['iss_sta_id']);
}
示例5: notifyNewIssue
/**
* Method used to send an email notification to users that want
* to be alerted when new issues are created in the system.
*
* @param integer $prj_id The project ID
* @param integer $issue_id The issue ID
* @param array $exclude_list The list of users NOT to notify.
* @return void
*/
public static function notifyNewIssue($prj_id, $issue_id, $exclude_list = array())
{
// get all users associated with this project
$stmt = "SELECT\n usr_id,\n usr_full_name,\n usr_email,\n pru_role,\n usr_customer_id,\n usr_customer_contact_id\n FROM\n {{%user}},\n {{%project_user}}\n WHERE\n pru_prj_id=? AND\n usr_id=pru_usr_id AND\n usr_status = 'active' AND\n pru_role > ?";
$params = array($prj_id, User::ROLE_CUSTOMER);
if (count($exclude_list) > 0) {
$stmt .= ' AND
usr_id NOT IN (' . DB_Helper::buildList($exclude_list) . ')';
$params = array_merge($params, $exclude_list);
}
$res = DB_Helper::getInstance()->getAll($stmt, $params);
$emails = array();
foreach ($res as $row) {
$subscriber = Mail_Helper::getFormattedName($row['usr_full_name'], $row['usr_email']);
// don't send these emails to customers
if ($row['pru_role'] == User::ROLE_CUSTOMER || !empty($row['usr_customer_id']) || !empty($row['usr_customer_contact_id'])) {
continue;
}
$prefs = Prefs::get($row['usr_id']);
if (!empty($prefs['receive_new_issue_email'][$prj_id]) && @$prefs['receive_new_issue_email'][$prj_id] && !in_array($subscriber, $emails)) {
$emails[] = $subscriber;
}
}
// get assignees
$stmt = "SELECT\n usr_id,\n usr_full_name,\n usr_email\n FROM\n {{%user}},\n {{%issue_user}}\n WHERE\n isu_iss_id=? AND\n usr_id=isu_usr_id AND\n usr_status = 'active'";
$res = DB_Helper::getInstance()->getAll($stmt, array($issue_id));
foreach ($res as $row) {
$subscriber = Mail_Helper::getFormattedName($row['usr_full_name'], $row['usr_email']);
$prefs = Prefs::get($row['usr_id']);
if (!empty($prefs['receive_assigned_email'][$prj_id]) && @$prefs['receive_assigned_email'][$prj_id] && !in_array($subscriber, $emails)) {
$emails[] = $subscriber;
}
}
// get any email addresses from products
$products = Product::getProductsByIssue($issue_id);
if (count($products) > 0) {
foreach ($products as $product) {
$emails[] = $product['pro_email'];
}
}
// get notification list members
$emails = array_merge($emails, self::getSubscribedNameEmails($issue_id));
// get any additional emails
$emails = array_merge($emails, Workflow::getAdditionalEmailAddresses($prj_id, $issue_id, 'new_issue'));
$data = Issue::getDetails($issue_id, true);
$data['attachments'] = Attachment::getList($issue_id);
// notify new issue to irc channel
$irc_notice = "New Issue #{$issue_id} (";
$quarantine = Issue::getQuarantineInfo($issue_id);
if (!empty($quarantine)) {
$irc_notice .= 'Quarantined; ';
}
$irc_notice .= 'Priority: ' . $data['pri_title'];
// also add information about the assignee, if any
$assignment = Issue::getAssignedUsers($issue_id);
if (count($assignment) > 0) {
$irc_notice .= '; Assignment: ' . implode(', ', $assignment);
}
if (!empty($data['iss_grp_id'])) {
$irc_notice .= '; Group: ' . Group::getName($data['iss_grp_id']);
}
$irc_notice .= '), ';
if (@isset($data['customer'])) {
$irc_notice .= $data['customer']['name'] . ', ';
}
$irc_notice .= $data['iss_summary'];
self::notifyIRC($prj_id, $irc_notice, $issue_id, false, false, 'new_issue');
$data['custom_fields'] = array();
// empty place holder so notifySubscribers will fill it in with appropriate data for the user
$subject = ev_gettext('New Issue');
// generate new Message-ID
$message_id = Mail_Helper::generateMessageID();
$headers = array('Message-ID' => $message_id);
self::notifySubscribers($issue_id, $emails, 'new_issue', $data, $subject, false, false, $headers);
}
示例6: notifyNewIssue
/**
* Method used to send an email notification to users that want
* to be alerted when new issues are created in the system.
*
* @access public
* @param integer $prj_id The project ID
* @param integer $issue_id The issue ID
* @param array $exclude_list The list of users NOT to notify.
* @return void
*/
function notifyNewIssue($prj_id, $issue_id, $exclude_list = array())
{
$prj_id = Misc::escapeInteger($prj_id);
$issue_id = Misc::escapeInteger($issue_id);
$exclude_list = Misc::escapeInteger($exclude_list);
// get all users associated with this project
$stmt = "SELECT\r\n usr_id,\r\n usr_full_name,\r\n usr_email,\r\n usr_preferences,\r\n pru_role,\r\n usr_customer_id,\r\n usr_customer_contact_id\r\n FROM\r\n " . ETEL_USER_TABLE . ",\r\n " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "project_user\r\n WHERE\r\n pru_prj_id={$prj_id} AND\r\n usr_id=pru_usr_id AND\r\n usr_status = 'active' AND\r\n pru_role > " . User::getRoleID("Customer");
if (count($exclude_list) > 0) {
$stmt .= " AND\r\n usr_id NOT IN (" . join(', ', $exclude_list) . ")";
}
$res = $GLOBALS["db_api"]->dbh->getAll($stmt, DB_FETCHMODE_ASSOC);
$emails = array();
for ($i = 0; $i < count($res); $i++) {
@($res[$i]['usr_preferences'] = unserialize($res[$i]['usr_preferences']));
$subscriber = Mail_API::getFormattedName($res[$i]['usr_full_name'], $res[$i]['usr_email']);
// don't send these emails to customers
if ($res[$i]['pru_role'] == User::getRoleID('Customer') || !empty($res[$i]['usr_customer_id']) || !empty($res[$i]['usr_customer_contact_id'])) {
continue;
}
if (!empty($res[$i]['usr_preferences']['receive_new_emails'][$prj_id]) && @$res[$i]['usr_preferences']['receive_new_emails'][$prj_id] && !in_array($subscriber, $emails)) {
$emails[] = $subscriber;
}
}
// get assignees
$stmt = "SELECT\r\n usr_id,\r\n usr_full_name,\r\n usr_email,\r\n usr_preferences\r\n FROM\r\n " . ETEL_USER_TABLE . ",\r\n " . APP_DEFAULT_DB . "." . APP_TABLE_PREFIX . "issue_user\r\n WHERE\r\n isu_iss_id={$issue_id} AND\r\n usr_id=isu_usr_id AND\r\n usr_status = 'active'";
$res = $GLOBALS["db_api"]->dbh->getAll($stmt, DB_FETCHMODE_ASSOC);
for ($i = 0; $i < count($res); $i++) {
@($res[$i]['usr_preferences'] = unserialize($res[$i]['usr_preferences']));
$subscriber = Mail_API::getFormattedName($res[$i]['usr_full_name'], $res[$i]['usr_email']);
if (!empty($res[$i]['usr_preferences']['receive_assigned_emails'][$prj_id]) && @$res[$i]['usr_preferences']['receive_assigned_emails'][$prj_id] && !in_array($subscriber, $emails)) {
$emails[] = $subscriber;
}
}
// get any additional emails
$emails = array_merge($emails, Workflow::getAdditionalEmailAddresses($prj_id, $issue_id, 'new_issue'));
$data = Issue::getDetails($issue_id, true);
$data['attachments'] = Attachment::getList($issue_id);
// notify new issue to irc channel
$irc_notice = "New Issue #{$issue_id} (";
$quarantine = Issue::getQuarantineInfo($issue_id);
if (!empty($quarantine)) {
$irc_notice .= "Quarantined; ";
}
$irc_notice .= "Priority: " . $data['pri_title'];
// also add information about the assignee, if any
$assignment = Issue::getAssignedUsers($issue_id);
if (count($assignment) > 0) {
$irc_notice .= "; Assignment: " . implode(', ', $assignment);
}
if (!empty($data['iss_grp_id'])) {
$irc_notice .= "; Group: " . Group::getName($data['iss_grp_id']);
}
$irc_notice .= "), ";
if (@isset($data['customer_info'])) {
$irc_notice .= $data['customer_info']['customer_name'] . ", ";
}
$irc_notice .= $data['iss_summary'];
Notification::notifyIRC($prj_id, $irc_notice, $issue_id);
$data['custom_fields'] = array();
// empty place holder so notifySubscribers will fill it in with appropriate data for the user
$subject = 'New Issue';
$headers = array("Message-ID" => $data['iss_root_message_id']);
Notification::notifySubscribers($issue_id, $emails, 'new_issue', $data, $subject, false, false, $headers);
}