本文整理汇总了PHP中Staff::isAvailable方法的典型用法代码示例。如果您正苦于以下问题:PHP Staff::isAvailable方法的具体用法?PHP Staff::isAvailable怎么用?PHP Staff::isAvailable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Staff
的用法示例。
在下文中一共展示了Staff::isAvailable方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: assignStaff
function assignStaff($staffId, $message, $alertstaff = true)
{
global $thisuser, $cfg;
$staff = new Staff($staffId);
if (!$staff || !$staff->isAvailable() || !$thisuser) {
return false;
}
if ($this->setStaffId($staff->getId())) {
//Reopen the ticket if cloed.
if ($this->isClosed()) {
//Assigned ticket Must be open.
$this->reopen();
}
$this->reload();
//
//Send Notice + Message to assignee. (if directed)
if ($alertstaff && ($thisuser && $staff->getId() != $thisuser->getId())) {
//No alerts for self assigned.
//Send Notice + Message to assignee.
$dept = $this->getDept();
if (!$dept || !($tplId = $dept->getTemplateId())) {
$tplId = $cfg->getDefaultTemplateId();
}
$sql = 'SELECT assigned_alert_subj,assigned_alert_body FROM ' . EMAIL_TEMPLATE_TABLE . ' WHERE cfg_id=' . db_input($cfg->getId()) . ' AND tpl_id=' . db_input($tplId);
if (($resp = db_query($sql)) && db_num_rows($resp) && (list($subj, $body) = db_fetch_row($resp))) {
$body = $this->replaceTemplateVars($body);
$subj = $this->replaceTemplateVars($subj);
$body = str_replace('%note', $message, $body);
$body = str_replace("%message", $message, $body);
//Previous versions used message.
$body = str_replace("%assignee", $staff->getName(), $body);
$body = str_replace("%assigner", $thisuser ? $thisuser->getName() : 'System', $body);
if (!($email = $cfg->getAlertEmail())) {
$email = $cfg->getDefaultEmail();
}
if ($email) {
$email->send($staff->getEmail(), $subj, $body);
}
} else {
Sys::log(LOG_WARNING, 'Template Fetch Error', "Unable to fetch 'assigned' alert template #{$tplId}");
}
}
$message = $message ? $message : 'Ticket assigned';
//Save the message as internal note...(record).
$this->postNote('Ticket Assigned to ' . $staff->getName(), $message, false);
//Notice that we are disabling note alerts!
return true;
}
return false;
}
示例2: assignStaff
function assignStaff($staffId, $message, $alertstaff = true)
{
global $thisuser, $cfg;
$staff = new Staff($staffId);
if (!$staff || !$staff->isAvailable() || !$thisuser) {
return false;
}
if ($this->setStaffId($staff->getId())) {
//Reopen the ticket if cloed.
if ($this->isClosed()) {
//Assigned ticket Must be open.
$this->reopen();
}
//Send Notice + Message to assignee. (if directed)
if ($alertstaff && $staff->getId() != $thisuser->getId()) {
//No alerts for self assigned.
//Send Notice + Message to assignee.
$sql = 'SELECT assigned_alert_subj,assigned_alert_body FROM ' . EMAIL_TEMPLATE_TABLE . ' WHERE cfg_id=' . db_input($cfg->getId()) . ' AND tpl_id=' . db_input($cfg->getDefaultTemplateId());
$resp = db_query($sql);
if (db_num_rows($resp) && (list($subj, $body) = db_fetch_row($resp))) {
$subj = str_replace("%ticket", $this->getExtId(), $subj);
$body = str_replace("%ticket", $this->getExtId(), $body);
$body = str_replace("%assignee", $staff->getName(), $body);
$body = str_replace("%assigner", $thisuser->getName(), $body);
$body = str_replace("%message", $message, $body);
$body = str_replace("%url", $cfg->getBaseUrl(), $body);
Misc::sendmail($staff->getEmail(), $subj, $body, $cfg->getAlertEmail());
}
}
//Save the message as internal note...(record).
$this->postNote('Ticket Assigned to ' . $staff->getName(), $message);
return true;
}
return false;
}