function mailTrackerItems( $id ) {
GLOBAL $AppUI, $locale_char_set;
$isv = dPgetSysVal( 'HelpDeskSeverity' );
$ist = dPgetSysVal( 'HelpDeskStatus' );
$sql = "SELECT * from helpdesk_items WHERE item_id = $id";
db_loadHash( $sql, $items );
$sql = "SELECT assign_to,CONCAT_WS(',',assign_status,assign_to,assign_emailed) from helpdesk_assign WHERE assign_id = $id";
$assigned = db_loadHashList( $sql );
$sql = "SELECT * from helpdesk_detail WHERE detail_id = $id";
$detail = db_loadList( $sql );
$sql = "SELECT user_id,user_email from users";
$email = db_loadHashList( $sql );
$sql = "SELECT user_id,CONCAT_WS(' ',user_first_name,user_last_name) from users";
$username = db_loadHashList( $sql );
$sql = "SELECT app_id,app_desc from applications";
$apps = db_loadHashList( $sql );
$sel_app = $items["item_application"];
$sql = "SELECT monitor_id,CONCAT_WS(',',monitor_id,monitor_app) mon_app from helpdesk_app_monitor WHERE monitor_app=$sel_app";
$mon_app = db_loadHashList( $sql );
$mail = new Mail;
$mail->Subject( "Workorder# " . $id);
$body = "Requestor: " . $items["item_requestor"];
if ($items["item_requestor_email"] != "") {
$body .= "\n"."Email: " . $items["item_requestor_email"];
}
if ($items["item_phone"] != "") {
$body .= "\n"."Phone/Ext: " . $items["item_phone"];
}
$body .= "\n";
$body .= "\n"."Assigned To/Status: ";
foreach ($assigned as $k => $v){
$ass_explode = explode(',', $assigned[$k]);
$body .= "\n". " " . $username[$ass_explode[1]] . ' - ' .$ist[$ass_explode[0]];
}
$body .= "\n";
$body .= "\n"."Severity: " . $isv[$items["item_severity"]];
if ($assigned["item_needed_by_date"] != "") {
$body .= "\n"."Needed by: " . $items["item_needed_by_date"] . " " . $items["item_needed_by_time"];
}
$body .= "\n"."Problem summary: ";
$body .= "\n".$items["item_summary"];
$body .= "\n";
$body .= "\n"."Resolution: ";
foreach ($detail as $k => $v){
$body .= "\n". '[' . $username[$detail[$k]["detail_assign_to"]] . ' - ' . $detail[$k]["detail_datetime"] . ']';
$body .= "\n".$detail[$k]["detail_resolution"];
}
$mail->Body( $body );
//e-mail to assigned users and mark as e-mailed
foreach ($assigned as $k => $v){
$ass_explode = explode(',', $assigned[$k]);
$e_status = $ass_explode[0];
$e_userid = $ass_explode[1];
$e_emailed = $ass_explode[2];
if ($e_emailed != 1){
$mail->From ( 'HelpDesk@whapache.org' );
$mail->To( $email[$e_userid], true );
$mail->Send();
$sql = "UPDATE helpdesk_assign
SET assign_emailed=1
WHERE assign_id=$id AND assign_to=$e_userid";
db_exec($sql);
}
}
//e-mail every time to users monitoring apps
foreach ($mon_app as $k => $v){
$mon = explode(',', $mon_app[$k]);
//echo '<pre>';print_r($mon);echo "</pre>";die;
$m_userid = $mon[0];
$m_app = $mon[1];
$mail->From ( $apps[$m_app] . '@whapache.org' );
$mail->To( $email[$m_userid], true );
$mail->Send();
}
//e-mail is-department@wheelinghospital.com every time for Critical workorders
if ($items['item_severity'] == 5){
$mail->From ( 'Critical_Workorder@whapache.org' );
$mail->To( 'is-department@wheelinghospital.com', true );
$mail->Send();
}
//e-mail is-managers@wheelinghospital.com every time for Administration workorders
if ($items['item_severity'] == 6){
$mail->From ( 'Administration_Workorder@whapache.org' );
$mail->To( 'is-managers@wheelinghospital.com', true );
$mail->Send();
}
}