it's one of the oldest scripts in this ticket-system... it was my 1st try with php... its a bit "quick'n'dirty" ... partly nonsens but working 😃
here is a part of the script:
if ($action=='show' OR !$action){
/** table displaying the case **/
}
if ($action=='save'){
if(!$contact OR !$Text) {
include ("./include/case_head.inc");
echo "<font color=$FONTCOLOR1 face=$FONTFACE>";
echo "<center><h1>".MSG_ERR_NOTALLFIELDS."</h1><p>";
echo "<b>".MSG_MSG_USEBACK."<br>".MSG_MSG_FILLOUTSTAR."</b>";
echo "<a href='javascript:history.back()'>".MSG_FU_BACK."</a>";
echo "</font></center></body></html>";
die();
}
$shortD=$top_1."/".$top_2."@".$top_a;
$clb='';
$cld="''";
if ($status=='closed' AND $memStatus!='closed') {
$clb=$admin;
$cld='now()';
$hist="INSERT INTO Case_Audittrail (id, AsocId, Short, Audit, AuditDate) VALUES ('', '$id', 'CLOSE', 'Case has been closed by $admin', now());";
mysql_query($hist);
}
if ($status=='closed' AND $mailsenden=='yes'){
$muster="^[_a-zA-Z0-9-](\.{0,1}[_a-zA-Z0-9-])*@([_a-zA-Z0-9-]{2,}\.)";
$muster.="{0,}[_a-zA-Z0-9-]{3,}(\.[_a-zA-Z0-9-]{2,4}){1,2}$";
if (ereg($muster, $contact))
{ $mailsenden='yes'; }
else { $mailsenden='no'; }
if ($Prio=='HOTLINE'){$mailsenden='no';}
if ($mailsenden=='yes'){
$mailsubj="Case #$id - $shortD - Status: $status";
$mailmsg="Ihre Anfrage wurde bearbeitet, erledigt und geschlossen.\n \n";
$mailmsg.="Ihre Anfrage lautetete: \n\n";
$mailmsg.="--------------------------------------------------------\n";
$mailmsg.=$Text;
$mailmsg.="\n--------------------------------------------------------\n\n";
$mailmsg.="Die Anfrage wurde in unserem Case-System unter der Nummer $id bearbeitet.\n\n";
$mailmsg.="Bei Reklamationen senden Sie uns bitte ein Mail (ANTWORT MIT PROTOKOLL)\n";
$mailmsg.="oder rufen Sie uns an: 0800-xxxxx.\n\n";
$mailmsg.="\n\nMit freundlichem Gruss \n \n";
$mailmsg.="Case-System@domain.com \n\n";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "From: [email]Case-System@domain.com[/email] <dv-support@domain.com>\r\n";
@mail("$contact",$mailsubj , $mailmsg, $headers);
$abfrage="INSERT INTO Case_Msg (id, AsocId, openBy, openDate, sentTo, Type, ShortText, Text, visible) ";
$abfrage.="VALUES('', $id, 'Case-System', now(), '$contact', 'mail_out', 'Mail sent: Case closed', '$mailmsg', '1') ";
$result=mysql_query($abfrage);
}
}
include ("./include/case_head.inc");
$zuweisung=explode("/", $assto);
$abfrage="UPDATE Case_Main SET Contact='$contact', Short='$shortD', Top1='$top_1', Top2='$top_2', TopAddI='$top_a', HWID='$hwid1', ";
$abfrage.="Summary='$Text', Priority='$Prio', Status='$status', assignedTo='$zuweisung[1]', assignedGroup='$zuweisung[0]', closeBy='$clb', ";
$abfrage.="closeDate=$cld where id='$id'";
mysql_query($abfrage);
/** PUT HERE: check online-status of assignee - sendmail if not **/
if ($memPrio <> $Prio){
$hist="INSERT INTO Case_Audittrail (id, AsocId, Short, Audit, AuditDate) VALUES ('', '$id', 'PRIORITY', 'Priority has been changed FROM $memPrio TO $Prio by $admin', now());";
mysql_query($hist);
}
if ($status<>'closed' and $memStatus <> $status){
$hist="INSERT INTO Case_Audittrail (id, AsocId, Short, Audit, AuditDate) VALUES ('', '$id', 'STATUS', 'Status has been changed FROM $memStatus TO $status by $admin', now());";
mysql_query($hist);
}
if ($mematg <> $zuweisung[0]){
$hist="INSERT INTO Case_Audittrail (id, AsocId, Short, Audit, AuditDate) VALUES ('', '$id', 'MOVE', 'AssignedGroup has been changed FROM $mematg TO $zuweisung[0] by $admin', now());";
mysql_query($hist);
}
if ($memat <> $zuweisung[1]){
$hist="INSERT INTO Case_Audittrail (id, AsocId, Short, Audit, AuditDate) VALUES ('', '$id', 'MOVE', 'Assignee has been changed FROM $memat TO $zuweisung[1] by $admin', now());";
mysql_query($hist);
}
if ($status=='reopen') {
$abfrage1="INSERT INTO Case_Msg (id, AsocId, Type, openBy, openDate, ShortText, visible) ";
$abfrage1.="VALUES ('', '$id', 'system', '$admin', now(), 'Case has been reopened','1')";
mysql_query($abfrage1);
$hist="INSERT INTO Case_Audittrail (id, AsocId, Short, Audit, AuditDate) VALUES ('', '$id', 'REOPEN', 'Case has been re-opened by $admin', now());";
mysql_query($hist);
}
if ($status=='closed'AND $mailsenden=='yes'){echo MSG_MSG_NOTIFICATIONSENT."<br>";}
echo "<center><h3>".MSG_MSG_SAVING."</h3>";
echo "<meta http-equiv='refresh' content='1; URL=$PHP_SELF?Radio=$id'>";
echo "<a href='case_main.php'><li>Cases</a>";
echo "</center></font></body></HTML>";
} ?>
<? }