本文整理汇总了PHP中Issue::getGroupID方法的典型用法代码示例。如果您正苦于以下问题:PHP Issue::getGroupID方法的具体用法?PHP Issue::getGroupID怎么用?PHP Issue::getGroupID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Issue
的用法示例。
在下文中一共展示了Issue::getGroupID方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: perform
/**
* Method used to perform a specific action to an issue.
*
* @access public
* @param integer $issue_id The issue ID
* @param array $reminder The reminder details
* @param array $action The action details
* @return boolean
*/
function perform($issue_id, $reminder, $action)
{
$type = '';
// - see which action type we're talking about here...
$action_type = Reminder_Action::getActionType($action['rma_rmt_id']);
// - do we also need to alert the group leader about this?
$group_leader_usr_id = 0;
if ($action['rma_alert_group_leader']) {
if (Reminder::isDebug()) {
echo " - Processing Group Leader notification\n";
}
$group_id = Issue::getGroupID($issue_id);
// check if there's even a group associated with this issue
if (empty($group_id)) {
if (Reminder::isDebug()) {
echo " - No group associated with issue {$issue_id}\n";
}
} else {
$group_details = Group::getDetails($group_id);
if (!empty($group_details['grp_manager_usr_id'])) {
$group_leader_usr_id = $group_details['grp_manager_usr_id'];
}
}
}
if (Reminder::isDebug()) {
echo " - Performing action '{$action_type}' for issue #{$issue_id}\n";
}
switch ($action_type) {
case 'email_assignee':
$type = 'email';
$assignees = Issue::getAssignedUserIDs($issue_id);
$to = array();
foreach ($assignees as $assignee) {
$to[] = User::getFromHeader($assignee);
}
// add the group leader to the recipient list, if needed
if (!empty($group_leader_usr_id)) {
$leader_email = User::getFromHeader($group_leader_usr_id);
if (!empty($leader_email) && !in_array($leader_email, $to)) {
$to[] = $leader_email;
}
}
break;
case 'email_list':
$type = 'email';
$list = Reminder_Action::getUserList($action['rma_id']);
$to = array();
foreach ($list as $key => $value) {
// add the recipient to the list if it's a simple email address
if (Validation::isEmail($key)) {
$to[] = $key;
} else {
$to[] = User::getFromHeader($key);
}
}
// add the group leader to the recipient list, if needed
if (!empty($group_leader_usr_id)) {
$leader_email = User::getFromHeader($group_leader_usr_id);
if (!empty($leader_email) && !in_array($leader_email, $to)) {
$to[] = $leader_email;
}
}
break;
case 'sms_assignee':
$type = 'sms';
$assignees = Issue::getAssignedUserIDs($issue_id);
$to = array();
foreach ($assignees as $assignee) {
if (User::isClockedIn($assignee)) {
$sms_email = User::getSMS($assignee);
if (!empty($sms_email)) {
$to[] = $sms_email;
}
}
}
// add the group leader to the recipient list, if needed
if (!empty($group_leader_usr_id) && User::isClockedIn($group_leader_usr_id)) {
$leader_sms_email = User::getSMS($group_leader_usr_id);
if (!empty($leader_sms_email) && !in_array($leader_sms_email, $to)) {
$to[] = $leader_sms_email;
}
}
break;
case 'sms_list':
$type = 'sms';
$list = Reminder_Action::getUserList($action['rma_id']);
$to = array();
foreach ($list as $key => $value) {
// add the recipient to the list if it's a simple email address
if (Validation::isEmail($key)) {
$to[] = $key;
//.........这里部分代码省略.........
示例2: perform
/**
* Method used to perform a specific action to an issue.
*
* @param integer $issue_id The issue ID
* @param array $reminder The reminder details
* @param array $action The action details
* @return boolean
*/
public static function perform($issue_id, $reminder, $action)
{
$type = '';
// - see which action type we're talking about here...
$action_type = self::getActionType($action['rma_rmt_id']);
// - do we also need to alert the group leader about this?
$group_leader_usr_id = 0;
if ($action['rma_alert_group_leader']) {
if (Reminder::isDebug()) {
echo ' - ' . ev_gettext('Processing Group Leader notification') . "\n";
}
$group_id = Issue::getGroupID($issue_id);
// check if there's even a group associated with this issue
if (empty($group_id)) {
if (Reminder::isDebug()) {
echo ' - ' . ev_gettext('No group associated with issue %1$s', $issue_id) . "\n";
}
} else {
$group_details = Group::getDetails($group_id);
if (!empty($group_details['grp_manager_usr_id'])) {
$group_leader_usr_id = $group_details['grp_manager_usr_id'];
}
}
}
if (Reminder::isDebug()) {
echo ' - ' . ev_gettext('Performing action %1$s for issue # %2$s', $action_type, $issue_id) . "\n";
}
switch ($action_type) {
case 'email_assignee':
$type = 'email';
$assignees = Issue::getAssignedUserIDs($issue_id);
$to = array();
foreach ($assignees as $assignee) {
$to[] = User::getFromHeader($assignee);
}
// add the group leader to the recipient list, if needed
if (!empty($group_leader_usr_id)) {
$leader_email = User::getFromHeader($group_leader_usr_id);
if (!empty($leader_email) && !in_array($leader_email, $to)) {
$to[] = $leader_email;
}
}
break;
case 'email_list':
$type = 'email';
$list = self::getUserList($action['rma_id']);
$to = array();
foreach ($list as $key => $value) {
// add the recipient to the list if it's a simple email address
if (Validation::isEmail($key)) {
$to[] = $key;
} else {
$to[] = User::getFromHeader($key);
}
}
// add the group leader to the recipient list, if needed
if (!empty($group_leader_usr_id)) {
$leader_email = User::getFromHeader($group_leader_usr_id);
if (!empty($leader_email) && !in_array($leader_email, $to)) {
$to[] = $leader_email;
}
}
break;
case 'sms_assignee':
$type = 'sms';
$assignees = Issue::getAssignedUserIDs($issue_id);
$to = array();
foreach ($assignees as $assignee) {
if (User::isClockedIn($assignee)) {
$sms_email = User::getSMS($assignee);
if (!empty($sms_email)) {
$to[] = $sms_email;
}
}
}
// add the group leader to the recipient list, if needed
if (!empty($group_leader_usr_id) && User::isClockedIn($group_leader_usr_id)) {
$leader_sms_email = User::getSMS($group_leader_usr_id);
if (!empty($leader_sms_email) && !in_array($leader_sms_email, $to)) {
$to[] = $leader_sms_email;
}
}
break;
case 'sms_list':
$type = 'sms';
$list = self::getUserList($action['rma_id']);
$to = array();
foreach ($list as $key => $value) {
// add the recipient to the list if it's a simple email address
if (Validation::isEmail($key)) {
$to[] = $key;
} else {
//.........这里部分代码省略.........
示例3: getSpecializedHeaders
/**
* Generates the specialized headers for an email.
*
* @access public
* @param integer $issue_id The issue ID
* @param string $type The type of message this is
* @param string $headers The existing headers of this message.
* @param integer $sender_usr_id The id of the user sending this email.
* @return array An array of specialized headers
*/
function getSpecializedHeaders($issue_id, $type, $headers, $sender_usr_id)
{
$new_headers = array();
if (!empty($issue_id)) {
$prj_id = Issue::getProjectID($issue_id);
if (count(Group::getAssocList($prj_id)) > 0) {
// group issue is currently assigned too
$new_headers['X-Eventum-Group-Issue'] = Group::getName(Issue::getGroupID($issue_id));
// group of whoever is sending this message.
if (empty($sender_usr_id)) {
$new_headers['X-Eventum-Group-Replier'] = $new_headers['X-Eventum-Group-Issue'];
} else {
$new_headers['X-Eventum-Group-Replier'] = Group::getName(User::getGroupID($sender_usr_id));
}
// group of current assignee
$assignees = Issue::getAssignedUserIDs($issue_id);
if (empty($assignees[0])) {
$new_headers['X-Eventum-Group-Assignee'] = '';
} else {
$new_headers['X-Eventum-Group-Assignee'] = @Group::getName(User::getGroupID($assignees[0]));
}
}
if (Customer::hasCustomerIntegration($prj_id)) {
if (empty($support_levels)) {
$support_levels = Customer::getSupportLevelAssocList($prj_id);
}
$customer_id = Issue::getCustomerID($issue_id);
if (!empty($customer_id)) {
$customer_details = Customer::getDetails($prj_id, $customer_id);
$new_headers['X-Eventum-Customer'] = $customer_details['customer_name'];
}
if (count($support_levels) > 0) {
$new_headers['X-Eventum-Level'] = $support_levels[Customer::getSupportLevelID($prj_id, $customer_id)];
}
}
$new_headers['X-Eventum-Category'] = Category::getTitle(Issue::getCategory($issue_id));
$new_headers['X-Eventum-Project'] = Project::getName($prj_id);
}
$new_headers['X-Eventum-Type'] = $type;
return $new_headers;
}
示例4: getSpecializedHeaders
/**
* Generates the specialized headers for an email.
*
* @param integer $issue_id The issue ID
* @param string $type The type of message this is
* @param string $headers The existing headers of this message.
* @param integer $sender_usr_id The id of the user sending this email.
* @return array An array of specialized headers
*/
public static function getSpecializedHeaders($issue_id, $type, $headers, $sender_usr_id)
{
$new_headers = array();
if (!empty($issue_id)) {
$prj_id = Issue::getProjectID($issue_id);
if (count(Group::getAssocList($prj_id)) > 0) {
// group issue is currently assigned too
$new_headers['X-Eventum-Group-Issue'] = Group::getName(Issue::getGroupID($issue_id));
// group of whoever is sending this message.
if (empty($sender_usr_id)) {
$new_headers['X-Eventum-Group-Replier'] = $new_headers['X-Eventum-Group-Issue'];
} else {
$new_headers['X-Eventum-Group-Replier'] = Group::getName(User::getGroupID($sender_usr_id));
}
// group of current assignee
$assignees = Issue::getAssignedUserIDs($issue_id);
if (empty($assignees[0])) {
$new_headers['X-Eventum-Group-Assignee'] = '';
} else {
$new_headers['X-Eventum-Group-Assignee'] = @Group::getName(User::getGroupID($assignees[0]));
}
}
if (CRM::hasCustomerIntegration($prj_id)) {
$crm = CRM::getInstance($prj_id);
try {
$customer = $crm->getCustomer(Issue::getCustomerID($issue_id));
$new_headers['X-Eventum-Customer'] = $customer->getName();
} catch (CustomerNotFoundException $e) {
}
try {
$contract = $crm->getContract(Issue::getContractID($issue_id));
$support_level = $contract->getSupportLevel();
if (is_object($support_level)) {
$new_headers['X-Eventum-Level'] = $support_level->getName();
}
} catch (ContractNotFoundException $e) {
}
}
// add assignee header
$new_headers['X-Eventum-Assignee'] = implode(',', User::getEmail(Issue::getAssignedUserIDs($issue_id)));
$new_headers['X-Eventum-Category'] = Category::getTitle(Issue::getCategory($issue_id));
$new_headers['X-Eventum-Project'] = Project::getName($prj_id);
$new_headers['X-Eventum-Priority'] = Priority::getTitle(Issue::getPriority($issue_id));
// handle custom fields
$cf_values = Custom_Field::getValuesByIssue($prj_id, $issue_id);
$cf_titles = Custom_Field::getFieldsToBeListed($prj_id);
foreach ($cf_values as $fld_id => $values) {
// skip empty titles
// TODO: why they are empty?
if (!isset($cf_titles[$fld_id])) {
continue;
}
// skip empty values
if (empty($values)) {
continue;
}
$cf_value = implode(', ', (array) $values);
// value could be empty after multivalued field join
if (empty($cf_value)) {
continue;
}
// convert spaces for header fields
$cf_title = str_replace(' ', '_', $cf_titles[$fld_id]);
$new_headers['X-Eventum-CustomField-' . $cf_title] = $cf_value;
}
}
$new_headers['X-Eventum-Type'] = $type;
return $new_headers;
}