1.- FIRST STEP: 1.- Go to include/class.thread.php. 2.- Search for: // XXX: Consider collaborator role elseif ($mailinfo['staffId'] || ($mailinfo['staffId'] = Staff::getIdByEmail($mailinfo['email']))) { $vars['staffId'] = $mailinfo['staffId']; $poster = Staff::lookup($mailinfo['staffId']); $vars['note'] = $body; return $ticket->postNote($vars, $errors, $poster); } 3.- Comment this line: return $ticket->postNote($vars, $errors, $poster); 4.- Add this line below: return $ticket->postResponse($vars, $errors, $poster); // LINES CHANGE 5.- The code should now look like this // XXX: Consider collaborator role elseif ($mailinfo['staffId'] || ($mailinfo['staffId'] = Staff::getIdByEmail($mailinfo['email']))) { $vars['staffId'] = $mailinfo['staffId']; $poster = Staff::lookup($mailinfo['staffId']); $vars['note'] = $body; //return $ticket->postNote($vars, $errors, $poster); return $ticket->postResponse($vars, $errors, $poster); // LINES CHANGE } 2.- SECOND STEP: 1.- Go to include/class.ticket.php. 2.- Add this function after the last function ("checkOverdue()") closure: // postResponse is a copy of postNote with some changes to make it post a staff response instead of a note. function postResponse($vars, &$errors, $poster, $alert=true) { global $cfg, $thisstaff; if(!($response=$this->getThread()->addResponse($vars, $errors))) return null; //Set state: Error on state change not critical! if(isset($vars['state']) && $vars['state']) { if($this->setState($vars['state'])) $this->reload(); } $dept = $this->getDept(); if($thisstaff && $vars['signature']=='mine') $signature=$thisstaff->getSignature(); elseif($vars['signature']=='dept' && $dept && $dept->isPublic()) $signature=$dept->getSignature(); else $signature=''; $variables = array( 'response' => $response, 'signature' => $signature, 'staff' => $thisstaff, 'poster' => $thisstaff); $options = array( 'inreplyto' => $response->getEmailMessageId(), 'references' => $response->getEmailReferences()); if(($email=$dept->getEmail()) && ($tpl = $dept->getTemplate()) && ($msg=$tpl->getReplyMsgTemplate())) { $msg = $this->replaceVars($msg->asArray(), $variables + array('recipient' => $this->getOwner())); if($cfg->stripQuotedReply() && ($tag=$cfg->getReplySeparator())) $msg['body'] = "

$tag

".$msg['body']; $attachments = $cfg->emailAttachments()?$response->getAttachments():array(); $email->send($this->getEmail(), $msg['subj'], $msg['body'], $attachments, $options); } if($vars['emailcollab']) $this->notifyCollaborators($response); return $response; }