<?php
/**
 * pragmaMx  Content Management System
 * Copyright (c) 2006 pragmaMx Dev Team - http://pragmaMx.org
 * 
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * 
 * this file based on:
 * php-nuke Web Portal System - http://phpnuke.org/
 * Thatware - http://thatware.org/
 ***************************************************************************
 * Ticket System
 * Copyright (c) 2007 Future
 * Version 1.0, only for PragmaMx 0.1.9
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

if (!defined("mxMainFileLoaded")) die ("You can't access this file directly...");

$module_name = basename(dirname(__FILE__));
mxGetLangfile($module_name);
$pagetitle = _TICKETSYS;
require_once("modules/$module_name/config.inc.php");
if(MXVERSION < 19) mxErrorScreen("Ihre PragmaMX Version ist zu alt.(mind. 0.1.9)");
require_once("modules/$module_name/functions.inc.php");
require("includes/captcha/settings.php");
$ticketon = (($ticketon) && ((!MX_IS_USER) || ((MX_IS_USER) && ($captchauseron))) && (!MX_IS_ADMIN)) ? 1 : 0;
############################
#rechte Bloecke anzeigen?
#0 = nein, 1 = ja
$index = 1;
###########################################################################################
# Die Startseite des Ticketsystems
function start($error = array()) {
global  $module_name, $prefix,$bgcolor1, $bgcolor2, $numkat, $ticketsystem_id, $wysiwyg, $wysiwyg_btnset, $wysiwyg_toolbar;
	include("header.php");
	if ((MX_IS_USER) && (empty($error['tname'])) && (empty($error['email'])) && (empty($error['ticketerror']))) {
		$uinfo = mxGetUserData();
		$error['tname'] = $uinfo['uname'];
        $error['email'] = $uinfo['email'];
	}
	menue();
	if (isset($error['ticketerror'])) {
        openTableAl();
        echo '<div style="text-align: left;"><h2><br>Folgende Fehler sind aufgetreten:</h2><ul><li>' . implode('</li><li>', $error['ticketerror']) . '</li></ul></div>';
        closeTableAl();
        echo '<br>';
    }
	OpenTable();
	echo ""._TEXT1."";
	echo "<form action=\"modules.php?name=$module_name&op=ticketnew\" name=\"sendform\" method=\"POST\">";
	echo "<div align=\"center\"><center><table width=\"95%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"CENTER\" bgcolor=\"$bgcolor1\"><tr><td>";
	echo "<table width=\"100%\" valign=\"middle\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\"><tr>";
	echo "<td bgcolor=\"$bgcolor2\" colspan=\"3\"><center><font size=\"1\"><b>"._NEW_TICKET."</b></font></center></td>";
	echo "</tr><tr>";
	echo "<td bgcolor=\"$bgcolor2\" width=\"130\"><p align=\"right\">"._NAME.":</p></td>";
	echo "<td bgcolor=\"$bgcolor2\"><input type=\"text\" name=\"tname\" value=\"" . (isset($error['tname']) ? mxEntityQuotes($error['tname']): '') . "\" size=\"52\"></td>";
	echo "</tr><tr>";
	echo "<td bgcolor=\"$bgcolor2\" width=\"130\"><p align=\"right\">"._EMAIL.":</p></td>";
	echo "<td bgcolor=\"$bgcolor2\"><input type=\"text\" name=\"email\" value=\"" . (isset($error['email']) ? mxEntityQuotes($error['email']): '') . "\" size=\"52\"></td>";
	echo "</tr><tr>";
	echo "<td bgcolor=\"$bgcolor2\" width=\"130\"><p align=\"right\">"._KATEGORIE.":</p></td>";
	if ($numkat > 0) {
        $sql = "SELECT * FROM " . $prefix . "_" . $ticketsystem_id . "ticketkategorien ORDER BY kat ASC";
        $result = sql_query($sql);
        echo "<td bgcolor=\"$bgcolor2\"><select name=\"kategorie\">\n"
        . "<option>Bitte Fachbereich selektieren</option>\n"; //Wenn du hier was änderst, dann musst du das auch bei der Fehlerprüfung ändern(ca. Zeile 140), KEINE UMLAUTE!
        while ($row = sql_fetch_assoc($result)) {
                echo "<option>" . $row['kat'] . "</option>\n";
            } 		
    }else{
		echo "<td bgcolor=\"$bgcolor2\"><select size=\"1\" name=\"kategorie\"><option>Alles</option></td>";
	}
	echo "</tr><tr>";
	echo "<td bgcolor=\"$bgcolor2\" width=\"130\"><p align=\"right\">"._SUBJECT.":</p></td>";
	echo "<td bgcolor=\"$bgcolor2\"><input type=\"text\" name=\"betreff\" size=\"52\" value=\"" . (isset($error['betreff']) ? mxEntityQuotes($error['betreff']): '') . "\"></td>";
	echo "</tr><tr>";
	echo "<td bgcolor=\"$bgcolor2\" colspan=\"2\" align=\"center\">";
	#echo "<textarea name=\"message\" rows=\"10\" cols=\"60\" wrap=\"virtual\"></textarea>";
	if ($GLOBALS['wysiwyg'] && $GLOBALS['wysiwyg_ticket']){
		// Vorgegebene Variablen in den Editor einbinden
		$value = isset($error['message']) ? mxEntityQuotes($error['message']): '';
		$sw = new SPAW_Wysiwyg('message',$value, _DOC_LANGUAGE,$GLOBALS['wysiwyg_toolbar'], $GLOBALS['wysiwyg_btnset'],'100%','300');
		$sw->show();
	}else{
		// Wenn Editor aus oder nicht vorhanden -normale- Textarea laden
		echo "<textarea name=\"message\" cols=\"60\" rows=\"10\">" . (isset($error['message']) ? mxEntityQuotes($error['message']): '') . "</textarea>";
	}
	
	echo "</td>";
	echo "</tr><tr>";
	if ($GLOBALS['ticketon']) {
        include('includes/captcha/captcha_java.php');
        echo "<tr align=\"center\" bgcolor=\"$bgcolor2\"><td><input type=\"button\" value=\"" . _CAPTCHARELOAD . "\" onclick=\"do_reload(); document.sendform.captcha.focus(); return false;\"></td><td><div><img id=\"captchaimage\" src=\"includes/captcha/captchaimg.php?" . md5(crypt(uniqid(rand()))) . "\" alt=\"" . _CAPTCHAINSERT . "\"></div></td></tr>\n"
         . "<tr align=\"center\" bgcolor=\"$bgcolor2\"><td>" . _CAPTCHAINSERT . " </td><td><input type=\"text\" name=\"captcha\" value=\"\" size=\"20\" maxlength=\"20\"></td></tr>\n";
    } 
	echo "</tr><tr>";
	echo "<td bgcolor=\"$bgcolor2\" colspan=\"3\"><center>";
    echo "<input type=submit value=\""._SUBMIT."\" size=\"10\">&nbsp;";
	echo "</form></center></td>";
	echo "</tr></table></td></tr></table></div>";
	CloseTable();
include("footer.php");
}
###############################################################################################
# Neues Ticket2
function ticketnew($tname,$email,$kategorie,$betreff,$message) {
global $ticketsystem_id,$absendername,$ticketlink,$bemail,$fromemail,$tname,$email,$kategorie,$betreff,$message, $module_name, $prefix,$kats;
        if (empty($error['email']) || !preg_match('~^[0-9A-Za-z=_+\-/][0-9A-Za-z=_\'+\-/\.]+@[\w\-]+(\.[\w\-]+)*(\.[\w]{2,6})$~', $error['email'])) {
        $error['ticketerror'][] = _ERROR1;
        }
        if (empty($error['tname'])) {
         $error['ticketerror'][] = _ERROR2;
        }
		if ($kategorie == "Bitte Fachbereich selektieren") {
         $error['ticketerror'][] = "Bitte Fachbereich selektieren.";
        }
        if (empty($error['betreff'])) {
           $error['ticketerror'][] = _ERROR3;
         
        }
        if (empty($error['message'])) {
          $error['ticketerror'][] = _ERROR4;
        }
		// captcha pruefen
		if (isset($GLOBALS['ticketon']) && $GLOBALS['ticketon']) {
			if (empty($_POST['captcha'])) {
				$error['ticketerror'][] = _CAPTCHAWRONG;
			} else {
				require_once("includes/captcha/__captcha/PhraseFactory.php");
				$storedCaptcha = PhraseFactory::get('', $GLOBALS['passphraselenght'], $_POST['captcha'], $GLOBALS['storagetype']);
				if ($_POST['captcha'] !== $storedCaptcha) {
					$error['ticketerror'][] = _CAPTCHAWRONG;
				} 
			} 
		} 
		if (isset($error['ticketerror'])) {
			start($error);
		} else {
		include("header.php");
		menue();
	    OpenTable();
          $query = "select * from ${prefix}_" . $ticketsystem_id . "data";
          $result = @sql_query($query);
          $var = @sql_fetch_array($result);

          $id = $var['ids'];
          $temp = $var['ids']+1;
          $query = "update ${prefix}_" . $ticketsystem_id . "data set ids=\"" . intval($temp) . "\"";
          sql_query($query);
          srand(time());
          $accesscode = "";
          $zeichen= "1234567890";
          for ($i = 0; $i < 7; $i++) {
                $n = rand() % strlen($zeichen);
                $accesscode .= substr($zeichen, $n, 1);
          }
		  
		  $result = sql_query("SELECT * FROM ${prefix}_" . $ticketsystem_id . "ticketkategorien WHERE kat='$kategorie'");
		  $katmail = @sql_fetch_array($result);
          $query = "insert into ${prefix}_" . $ticketsystem_id . "tickets (id , time, tname, email, kategorie, password, betreff, message, isticket, closed) values
                                            (\"" . intval($id) . "\",\"" . intval(time())."\", \"" . mxAddSlashesForSQL($error['tname']) . "\",\"" . mxAddSlashesForSQL($error['email']) . "\",\"" . mxAddSlashesForSQL($kategorie) . "\",\"" . intval($accesscode) . "\",\"" . mxAddSlashesForSQL($error['betreff']) . "\",\"" . mxAddSlashesForSQL($error['message']) . "\",\"" . intval(1) . "\",\"" . intval(0) . "\")";
          if (!sql_query($query)) {
              mxErrorScreen(""._ERROR5."<br>");
          }
          else
          {
			 $message1=""._MAIL1." ".$error['tname'].""._MAIL2.""._MAIL3."".$id.""._MAIL4."".$accesscode.""._MAIL5." ".$ticketlink."/modules.php?name=$module_name&op=show2&id=$id&code=$accesscode"._MAIL6." \n\n$message\n\n$absendername";
			 $message2=""._MAIL1.",\n\n".$error['tname']." "._MAIL7.""._MAIL8." ".$ticketlink."/modules.php?name=$module_name&op=admin_anzeigen&id=$id "._MAIL9."\n$message\n\n$absendername";
			 mxStripSlashes($message1);
			 mxStripSlashes($message2);
			 mxStripSlashes($error['betreff']);
			 mxMail($error['email'],"RE:" . $error['betreff'] ,$message1,"" . $fromemail . "","text", "", $absendername);
			 // Wenn zur Kateogrie keine Mail Addi angegeben wird, wird die Hauptmail Addi benutzt!
			 if(!empty($kat['mail'])){
			 	mxMail($katmail['mail'],"Anfrage " . $error['betreff'] ,$message2,"" . $fromemail . "","text", "", $absendername);
			 }else{
			 	mxMail($bemail,"Anfrage " . $error['betreff'] ,$message2,"" . $fromemail . "","text", "", $absendername);
			 }
			  echo ""._MESSAGE1."<b>"._MAIL3." $id</b><br><b>"._MAIL4." $accesscode</b>"._MESSAGE2."
			  <a href=\"modules.php?name=$module_name&op=show2&id=$id&code=$accesscode\">Link</a>.";
          }


        }

		CloseTable();

include("footer.php");
}
###############################################################################################
#Die Hilfe Funktion
function help() {
include("header.php");
menue();
	OpenTable();
	echo ""._HELP1."<br>";
	echo ""._HELP2."<br>";
	echo ""._HELP3."<br><br>";
	echo ""._HELP4."<br>";
	echo ""._HELP5."<br>";
	CloseTable();
include("footer.php");
}
#################################################################################################
# Ticket Anzeigen
function show($error = array()) {
global  $module_name, $prefix,$bgcolor1, $bgcolor2;
include("header.php");
menue();
	if (isset($error['ticketerror'])) {
        openTableAl();
        echo '<div style="text-align: left;"><h2><br>Folgende Fehler sind aufgetreten:</h2><ul><li>' . implode('</li><li>', $error['ticketerror']) . '</li></ul></div>';
        closeTableAl();
        echo '<br>';
    }
	OpenTable();
	echo ""._MESSAGE3."";
	echo "<form action=\"modules.php?name=$module_name\" method=post name=posting>\n<input type=hidden name=\"op\" value=\"show2\">";
	echo "<div align=\"center\"><center><table width=\"90%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"CENTER\" bgcolor=\"$bgcolor1\"><tr><td>";
	echo "<table width=\"100%\" valign=\"middle\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\"><tr>";
	echo "<td bgcolor=\"$bgcolor2\" colspan=\"3\"><center><font size=\"1\"><b>"._TICKET."</b></font></center></td>";
	echo "</tr><tr>";
	echo "<td bgcolor=\"$bgcolor2\" width=\"130\"><p align=\"right\">"._MAIL3."</p></td>";
	echo "<td bgcolor=\"$bgcolor2\"><input type=\"text\" name=\"id\" size=\"52\"></td>";
	echo "</tr><tr>";
	echo "<td bgcolor=\"$bgcolor2\" width=\"130\"><p align=\"right\">"._MAIL4."</p></td>";
	echo "<td bgcolor=\"$bgcolor2\"><input type=\"password\" name=\"code\" size=\"52\"></td>";
	echo "</tr><tr>";
	echo "<td bgcolor=\"$bgcolor2\" colspan=\"3\"><center><input type=submit value=\""._TICKET."\" size=\"10\"></form></center></td>";
	echo "</tr></table></td></tr></table></div>";
	echo "<form action=\"modules.php?name=$module_name\" method=post name=posting>\n<input type=hidden name=\"op\" value=\"pw\">";
	echo "<div align=\"center\"><center><table width=\"90%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"CENTER\" bgcolor=\"$bgcolor1\"><tr><td>";
	echo "<table width=\"100%\" valign=\"middle\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\"><tr>";
	echo "<td bgcolor=\"$bgcolor2\" colspan=\"3\"><center><font size=\"1\"><b>"._MESSAGE4."</b></font></center></td>";
	echo "</tr><tr>";
	echo "<td bgcolor=\"$bgcolor2\" width=\"130\"><p align=\"right\">"._MAIL3."</p></td>";
	echo "<td bgcolor=\"$bgcolor2\"><input type=\"text\" name=\"id\" size=\"52\"></td>";
	echo "</tr><tr>";
	echo "<td bgcolor=\"$bgcolor2\" colspan=\"3\"><center><input type=submit value=\""._SUBMIT."\" size=\"10\"></form></center></td>";
	echo "</tr></table></td></tr></table></div>";
	CloseTable();

include("footer.php");
}
#########################################################################################################
# Show
function show2($id,$code) {
global $ticketsystem_id,$support_name, $module_name, $prefix,$textcolor1,$textcolor2,$bgcolor1, $bgcolor2, $bgcolor3, $wysiwyg, $wysiwyg_btnset, $wysiwyg_toolbar,$userclose;
		$querystr = "select * from ${prefix}_" . $ticketsystem_id . "tickets where id=\"$id\" and password=\"$code\" order by time asc";
        $number = sql_query($querystr);
        $number_tickets = sql_num_rows($number);
        $a=0;
        if (!$number_tickets) {
			 $error['ticketerror'][] = _ERROR6;
        }
		if (isset($error['ticketerror'])) {
			show($error);
		} else {

		include("header.php");
		menue();
		OpenTable();
             echo ""._MESSAGE5." <b>$id</b> ("._MESSAGE6.": ".($number_tickets - 1).")<br><br>";

        $row = sql_fetch_array($number);
        $querystr = "select * from ${prefix}_" . $ticketsystem_id . "tickets where id=\"$id\" and password=\"$code\" order by time desc";
        $number = sql_query($querystr);
		if (!$row['closed']) {
			echo "<form ENCTYPE=\"multipart/form-data\" action=\"modules.php?name=$module_name\" method=post name=posting>\n
			<input type=hidden name=\"op\" value=\"antw_ticket\">
			<input type=hidden name=\"id\" value=\"".$row['id']."\">
			<input type=hidden name=\"code\" value=\"".$row['password']."\">
			<input type=hidden name=\"tname\" value=\"".$row['tname']."\">
			<input type=hidden name=\"email\" value=\"".$row['email']."\">";
			echo "<div align=\"center\"><center><table width=\"90%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"CENTER\" bgcolor=\"$bgcolor1\"><tr><td>";
			echo "<table width=\"100%\" valign=\"middle\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\">";
			echo "<tr><td bgcolor=\"$bgcolor2\" colspan=\"3\"><center><font size=\"1\"><b>"._MESSAGE6."</b></font></center></td></tr>";
			echo "<tr><td bgcolor=\"$bgcolor2\" width=\"130\"><p align=\"right\">"._NAME.": </p></td>";
			echo "<td bgcolor=\"$bgcolor2\">".$row['tname']."</td></tr>";
			echo "<tr><td bgcolor=\"$bgcolor2\"><p align=\"right\">"._SUBJECT.": </p></td>";
			echo "<td bgcolor=\"$bgcolor2\"><input type=\"text\" name=\"betreff\" size=\"52\" value=\"RE: ".$row['betreff']."\"></td></tr>";
			echo "</tr><tr>";
			echo "<td bgcolor=\"$bgcolor2\" colspan=\"2\" align=\"center\">";			
			if ($GLOBALS['wysiwyg'] && $GLOBALS['wysiwyg_ticket']){
			// Vorgegebene Variablen in den Editor einbinden
					$sw = new SPAW_Wysiwyg('message','',_DOC_LANGUAGE,$GLOBALS['wysiwyg_toolbar'], $GLOBALS['wysiwyg_btnset'],'100%','300');
					$sw->show();
			}else{
			// Wenn Editor aus oder nicht vorhanden -normale- Textarea laden
					echo "<textarea name=\"message\" cols=\"60\" rows=\"10\"></textarea>";
			}
			
			echo "</td></tr>";
			if (!empty($userclose)){
			echo "<tr><td bgcolor=\"$bgcolor2\" colspan=\"3\"><center>"._TICKETCLOSE."<br>";
			echo "<input type=\"checkbox\" value=\"1\" name=\"xclose\" > Ja";
			echo "</center></td></tr>";
			}
			echo "<tr><td bgcolor=\"$bgcolor2\" colspan=\"3\"><center><input type=submit value=\""._SUBMIT."\" size=\"10\"></form></center></td></tr>";
			echo "</table></td></tr></table></div><br>";
		}else{
			openTableAl();
        	echo '<div style="text-align: left;"><h2>Dieses Ticket wurde bereits geschlossen!</h2><ul><li>Sie können nicht mehr auf dieses Ticket antworten.</li></ul></div>';
        	closeTableAl();
        	echo '<br>';
		}	

             while ($a < $number_tickets) {
                    $row = sql_fetch_array($number);
                    echo "<div align=\"center\"><center><table width=\"90%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"CENTER\" bgcolor=\"$bgcolor1\"><tr><td>";
                    echo "<table width=\"100%\" valign=\"middle\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\"><tr>";
                    echo "<td bgcolor=\"$bgcolor2\" colspan=\"3\"><center><font size=\"1\"><b>Ticket#".($number_tickets-$a)."</b> (". uhrzeit($row['time']).")";
                    if ($row['tname'] == "$support_name"){
						echo" - <b>"._MESSAGE7."</b>";
					}
                    echo"</font></center></td></tr>";
                    echo "<tr><td bgcolor=\"$bgcolor2\">"._MESSAGE." "._FROM.":&nbsp;".$row['tname']."</td></tr>";
                    echo "<tr><td bgcolor=\"$bgcolor2\">"._SUBJECT.":&nbsp;".$row['betreff']."</td></tr>";
                    if ($row['kategorie']) {
						echo "<tr><td bgcolor=\"$bgcolor2\">"._KATEGORIE.":&nbsp;".$row['kategorie']."</td></tr>";
                    }
                    echo "<tr>";
                    echo "<td bgcolor=\"$bgcolor2\" colspan=\"3\"><br><b>"._MESSAGE.":</b><br><br>".mxPrepareToDisplay($row['message'])."<br>&nbsp;</td>";
                    echo "</tr></table></td></tr></table></div><br>";

                    $a++;
             }

        }
	CloseTable();
	include("footer.php");
}
#######################################################################################
# User Antwort auf Ticket
function antw_ticket($tname,$id,$code,$betreff,$message) {
global $ticketsystem_id,$ticketlink, $bemail,$absendername,$fromemail,$kategorie, $module_name, $prefix,$textcolor1,$textcolor2,$bgcolor1, $bgcolor2, $bgcolor3;
        $fehler = false;
        $querystr = "select * from ${prefix}_" . $ticketsystem_id . "tickets where id=\"$id\" and password=\"$code\" order by time asc";
        $number = sql_query($querystr);
        if (!sql_num_rows($number)) {
          mxErrorScreen(""._ERROR8."");
          $fehler = true;
        }
        if (!$id) {
          mxErrorScreen(""._ERROR8."");
          $fehler = true;
        }
        if (!$tname) {
          mxErrorScreen(""._ERROR2."");
          $fehler = true;
        }
        if (!$betreff) {
          mxErrorScreen(""._ERROR3."");
          $fehler = true;
        }
        if (!$message) {
          mxErrorScreen(""._ERROR4."");
          $fehler = true;
        }
		if(empty($_POST['xclose'])) $_POST['xclose'] = 0;
        $querystr = "select * from ${prefix}_" . $ticketsystem_id . "tickets where id=\"$id\" and password=\"$code\" order by time asc";
        $number = sql_query($querystr);
        $row = sql_fetch_array($number);
		$result = sql_query("SELECT * FROM ${prefix}_" . $ticketsystem_id . "ticketkategorien WHERE kat='".$row['kategorie']."'");
		$katmail = @sql_fetch_array($result);
        $query = "insert into ${prefix}_" . $ticketsystem_id . "tickets (id   , time, tname, email, kategorie, password, betreff, message, isticket, closed) values
                                            (\"" . intval($id) . "\",\"" . intval(time()) . "\", \"" . mxAddSlashesForSQL($tname) . "\",\"\",\"\",\"" . intval($row['password']) . "\",\"" . mxAddSlashesForSQL($betreff) . "\",\"" . mxAddSlashesForSQL($message) . "\",\"" . intval(0) . "\",\"" . intval($_POST['xclose']) . "\")";
        if (!sql_query($query)) {
              mxErrorScreen(""._ERROR5."");
        }else{
		  $query2 = "update ${prefix}_" . $ticketsystem_id . "tickets set closed=\"" . intval($_POST['xclose']) . "\" where id=\"" . intval($id) . "\"";  
		  sql_query($query2);
          $message2=""._MAIL1.",\n\n"._MAIL10." $tname (Ticket#$id) "._MAIL11." "._MAIL8." ".$ticketlink."/modules.php?name=$module_name&op=admin_anzeigen&id=$id "._MAIL9."\n$message\n\n$absendername";
		  mxStripSlashes($message2);
		  // Wenn zur Kateogrie keine Mail Addi angegeben wird, wird die Hauptmail Addi benutzt!
		 if(!empty($katmail['mail'])){
		 	mxMail($katmail['mail'],""._MESSAGE6." $id ",$message2,"" . $fromemail . "","text", "", $absendername);
         }else{
		 	mxMail($bemail,""._MESSAGE6." $id ",$message2,"" . $fromemail . "","text", "", $absendername);
		 }
		  mxRedirect("modules.php?name=$module_name&op=show2&id=$id&code=$code",""._MESSAGE8."",6);
         }
}
############################################################
# Tickets Administrieren
function admin($ticketsystem_id,$tage_timeout) {
global $ticketsystem_id,$kats,$tage_timeout,$support_name,$alles_anzeigen, $module_name, $prefix,$textcolor1,$textcolor2,$bgcolor1, $bgcolor2, $bgcolor3;
if (MX_IS_ADMIN) {
		$image_green = mxCreateImage("modules/$module_name/images/green.gif", $alt = "Green");
		$image_red   = mxCreateImage("modules/$module_name/images/red.gif", $alt = "Red");
        $querystr = "select * from ${prefix}_" . $ticketsystem_id . "data";
        $numberx = sql_query($querystr);
        $rowx = sql_fetch_array($numberx);

        if (@$fehler == false) {
        $querystr = "select * from ${prefix}_" . $ticketsystem_id . "tickets where isticket=\"1\" order by time desc";
        $number = sql_query($querystr); 
        $number_tickets = @sql_num_rows($number);
        $a=0;
        if (!$number_tickets) {
             mxErrorScreen(""._ERROR11."");
        }else{
        	$lastvisit = $rowx['lastvisit'];
		}
		include("header.php");
		menue();
		OpenTable();
        if ($alles_anzeigen == 'true') {
        	echo "[<a href=\"modules.php?name=$module_name&op=admin&alles_anzeigen=false\">"._ADMIN2."$tage_timeout "._ADMIN2_1."</a>]<br>";
        }else{
       		echo "[<a href=\"modules.php?name=$module_name&op=admin&alles_anzeigen=true\">"._ADMIN3."</a>]<br>";
        }
        echo"<table border=\"0\" width=\"100%\"><tr><td>";

        $tickets = array();
        $times = array();
        while ($a < $number_tickets) {
        	$row = sql_fetch_array($number);
            $querystr = "select * from ${prefix}_" . $ticketsystem_id . "tickets where id=\"".$row['id']."\" order by time desc";
            $numberx = sql_query($querystr);
            $rowx = sql_fetch_array($numberx);
            $row['ltime'] = $rowx['time'];
            $tickets[$row['ltime']] = $row;
            if (time() - $row['ltime'] < $tage_timeout * 24 * 60*60 || $alles_anzeigen == 'true') {
            	array_push($times,$row['ltime']);
            }
            $a++;
        }
        arsort($times);
        $a = 0;

             foreach ($times as $a) {
                    $row = $tickets[$a];
					
                    if ($row['closed']) {
						$fontcolor=$textcolor2;
						$openclose = ""._ADMIN4."";
                    }else{
						$fontcolor=$textcolor1;
						$openclose = ""._ADMIN5."";
                    }
                    echo "<table border=\"0\" width=\"95%\"><tr><td>";
                    echo "<font size=\"1\" color=\"$fontcolor\"><b>"._ADMIN7."#".($row['id'])."</b> (". uhrzeit($row['time']).")<br>";
					//Hier noch eine Konstante einbauen für Kategorie -> Notwending ? 
					echo "Kategorie:<b>".$row['kategorie']."</b><br>";
					 $lastticket = "select * from ${prefix}_" . $ticketsystem_id . "tickets where id=\"".$row['id']."\" order by time desc";
					 $lastticket1 = sql_query($lastticket);
					 $rows = sql_fetch_array($lastticket1);
					 
                    if ($lastvisit < $row['ltime']) {
                    	echo "<i>"._ADMIN8." ".uhrzeit($row['ltime'])."</i>";

						if (($rows['tname']== "$support_name") || (!empty($rows['closed']))){
							echo $image_green;
						}else{
							echo $image_red;
						}
                    }else{
                    	echo ""._ADMIN8." ".uhrzeit($row['ltime'])."<br>";
						
						if (($rows['tname']== "$support_name") || (!empty($rows['closed']))){
							echo "".$image_green."<br>";
						}else{
							echo "".$image_red."<br>";
						}
                    }
                    echo "</td><td align=\"right\">[ <a href=\"modules.php?name=$module_name&op=admin_anzeigen&id=$row[id]\">"._ADMIN9."</a>&nbsp;&nbsp;|&nbsp;&nbsp;";
                    echo"<a href=\"modules.php?name=$module_name&op=admin_open&id=".$row['id']."\">$openclose</a>&nbsp;&nbsp;|&nbsp;&nbsp;";
                    echo"<a href=\"modules.php?name=$module_name&op=delete&id=$row[id]\">"._ADMIN10."</a> ]</font></td></tr></table>";
                    echo " <a href=\"modules.php?name=Userinfo&uname=".$row['tname']."\">";
                    echo $row['tname'];
                    echo "</a> - ";
                    echo $row['betreff']."<br><hr>";
             }
			 
			 echo"<center>"._ADMIN16." ".$image_green."<br>"._ADMIN17." ".$image_red."</center>";
             echo"</td></tr></table>";
        }
	}else{
		mxErrorScreen(""._ERROR10."");
	}
	CloseTable();
	include("footer.php");
}
##############################################################
# Ticket oeffnen oder  Schliessen
function admin_open($id) {
global $ticketsystem_id, $module_name, $prefix;
if (MX_IS_ADMIN) {
       			$fehler = false;
			if ($fehler == false) {
				$query = "select * from ${prefix}_" . $ticketsystem_id . "tickets where id=\"$id\" and isticket=\"1\"";
				$var = sql_fetch_array(sql_query($query));
				
				if ($var['closed']) {
					$closed = '0';
				}else{
					$closed = '1';
				}
				$query = "update ${prefix}_" . $ticketsystem_id . "tickets set closed=\"" . intval($closed) . "\" where id=\"" . intval($id) . "\"";
				if (sql_query($query)) {
					mxRedirect("modules.php?name=".$module_name."&op=admin", ""._ADMIN4."/"._ADMIN5." "._ADMIN6." # $id<br>"._ADMIN11."", 4);
				}else{
				mxErrorScreen(""._ADMIN13."");
				}
			}
}else{
	mxErrorScreen (""._ERROR10."");
}
}
########################################################################
# Admin Ticket Anzeige ?
function admin_anzeigen($id) {
include("header.php");
menue();
OpenTable();
global $ticketsystem_id,$support_name, $module_name, $prefix,$textcolor1,$textcolor2,$bgcolor1, $bgcolor2, $bgcolor3, $wysiwyg, $wysiwyg_btnset, $wysiwyg_toolbar;
if (MX_IS_ADMIN) {
        	$fehler=false;
        if ($fehler == false) {
			$querystr = "select * from ${prefix}_" . $ticketsystem_id . "tickets where id=\"$id\" order by time asc";
			$number = sql_query($querystr);
			$number_tickets = sql_num_rows($number);
			$a=0;
			if (!$number_tickets) {
				 mxErrorScreen(""._ERROR11."<br>");
			}
			else
			{
				 echo ""._ADMIN14." <b>$id</b> ("._MESSAGE6." ".($number_tickets - 1).")<br><br>";
	
			$row = sql_fetch_array($number);
			$querystr = "select * from ${prefix}_" . $ticketsystem_id . "tickets where id=\"$id\" order by time desc";
			$number = sql_query($querystr);
			if (!$row['closed']) {
				echo "[ <a href=\"modules.php?name=$module_name&op=admin\">"._ADMIN12."</a> ]<br>";
				echo "<form ENCTYPE=\"multipart/form-data\" action=\"modules.php?name=$module_name\" method=post name=posting>\n
				<input type=hidden name=\"op\" value=\"admin_antw\">
				<input type=hidden name=\"id\" value=\"".$row['id']."\">
				<input type=hidden name=\"tname\" value=\"".$support_name."\">";
				echo "<div align=\"center\"><center><table width=\"90%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"CENTER\" bgcolor=\"$bgcolor1\"><tr><td>";
				echo "<table width=\"100%\" valign=\"middle\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\">";
				echo "<tr><td bgcolor=\"$bgcolor2\" colspan=\"3\"><center><font size=\"1\"><b>"._MESSAGE6."</b></font></center></td></tr>";
				echo "<tr><td bgcolor=\"$bgcolor2\" width=\"130\"><p align=\"right\">"._NAME."</p></td>";
				echo "<td bgcolor=\"$bgcolor2\">".$support_name."</td></tr>";
					if ($row['kategorie']) {
						echo "<tr><td bgcolor=\"$bgcolor2\"><p align=\"right\">"._KATEGORIE.":</p></td><td bgcolor=\"$bgcolor2\" >".$row['kategorie']."</td></tr>";
					}
				echo "<tr><td bgcolor=\"$bgcolor2\" width=\"130\"><p align=\"right\">"._SUBJECT."</p></td>";
				echo "<td bgcolor=\"$bgcolor2\"><input type=\"text\" name=\"betreff\" size=\"52\" value=\"RE: ".$row['betreff']."\"></td></tr>";
				echo "</tr><tr>";
				echo "<td bgcolor=\"$bgcolor2\" colspan=\"2\" align=\"center\">";
				#echo "<textarea name=\"message\" rows=\"10\" cols=\"60\" wrap=\"virtual\"></textarea>";
				
				if ($GLOBALS['wysiwyg'] && $GLOBALS['wysiwyg_ticket']){
					// Vorgegebene Variablen in den Editor einbinden
					$sw = new SPAW_Wysiwyg('message','',_DOC_LANGUAGE,$wysiwyg_toolbar,$wysiwyg_btnset,'100%','300');
					$sw->show();
				}else{
					// Wenn Editor aus oder nicht vorhanden -normale- Textarea laden
					echo "<textarea name=\"message\" cols=\"60\" rows=\"10\"></textarea>";
				}
				
				echo "</td></tr>";
				echo "<tr><td bgcolor=\"$bgcolor2\" colspan=\"3\"><center>Ticket schlie&szlig;en ?";
				echo "<input type=\"checkbox\" value=\"1\" name=\"xclose\" > Ja";
				echo "</center></td></tr>";
				echo "<tr><td bgcolor=\"$bgcolor2\" colspan=\"3\"><center><input type=\"submit\" value=\""._SUBMIT."\" size=\"10\"></center></td></tr>";
				echo "</form></table></td></tr></table></div><br>";
			}else{
				openTableAl();
				echo '<div style="text-align: left;"><h2>Dieses Ticket wurde bereits geschlossen!</h2><ul><li>Sie können nicht mehr auf dieses Ticket antworten.</li></ul></div>';
				closeTableAl();
				echo '<br>';
			}	
             while ($a < $number_tickets) {
                    $row = sql_fetch_array($number);
                    echo "<div align=\"center\"><center><table width=\"90%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"CENTER\" bgcolor=\"$bgcolor1\"><tr><td>";
                    echo "<table width=\"100%\" valign=\"middle\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\">";
                    echo "<tr>";
                    echo "<td bgcolor=\"$bgcolor2\" colspan=\"3\"><center><font size=\"1\"><b>Antwort#".($number_tickets-$a)."</b> (". uhrzeit($row['time']).")";
                    	if ($row['tname'] == "$support_name"){
							echo" - <b>"._MESSAGE7."</b>";
						}
                    echo"</font></center></td></tr>";
                    echo "<tr><td bgcolor=\"$bgcolor2\">"._MESSAGE." "._FROM.":&nbsp;".$row['tname']."</td></tr>";
                    echo "<tr><td bgcolor=\"$bgcolor2\">Betreff:&nbsp;".$row['betreff']."</td></tr>";
                    	if ($row['kategorie']) {
                    		echo "<tr><td bgcolor=\"$bgcolor2\">"._KATEGORIE.":&nbsp;".$row['kategorie']."</td></tr>";
                    	}
                    echo "<tr>";
                    echo "<td bgcolor=\"$bgcolor2\" colspan=\"3\"><br><b>"._MESSAGE.":</b><br><br>".mxPrepareToDisplay($row['message'])."<br>&nbsp;</td>";
                    echo "</table></td></tr></table></div><br>";

                    $a++;
             }
        }
        }
	}else{
	mxErrorScreen(""._ERROR10."");
	}
	CloseTable();
	include("footer.php");
}
#####################################################################
# Admin auf Ticket Antworten
function admin_antw($tname,$id,$betreff,$message,$xclose) {
global $ticketsystem_id,$ticketlink,$fromemail,$absendername,$support_name, $module_name, $prefix;
if (MX_IS_ADMIN) {
         	$fehler=false;
        if ($fehler == false) {
			if (!$support_name) {
			  mxErrorScreen(""._ERROR2."<br>");
			  $fehler = true;
			}
			if (!$betreff) {
			  mxErrorScreen(""._ERROR3."<br>");
			  $fehler = true;
			}
			if (!$message) {
			  mxErrorScreen(""._ERROR4."<br>");
			  $fehler = true;
			}
			if(empty($_POST['xclose'])) $_POST['xclose'] = 0;
        $querystr = "select * from ${prefix}_" . $ticketsystem_id . "tickets where id=\"$id\" order by time asc";
        $number = sql_query($querystr);
        $row = sql_fetch_array($number);
		$query = "insert into ${prefix}_" . $ticketsystem_id . "tickets (id, time, tname, email, kategorie, password, betreff, message, isticket, closed) values
                                            (\"" . intval($id) . "\",\"" . intval(time()) . "\", \"" . mxAddSlashesForSQL($support_name) . "\",\"\",\"\",\"" . intval($row['password']) . "\",\"" . mxAddSlashesForSQL($betreff) . "\",\"" . mxAddSlashesForSQL($message) . "\",\"0\",\"" . intval($xclose) . "\")";
        
		  if (!sql_query($query)) {
              mxErrorScreen("<b"._ERROR5."</b>");
          }else{
		  	 $query2 = "update ${prefix}_" . $ticketsystem_id . "tickets set closed=\"" . intval($_POST['xclose']) . "\" where id=\"" . intval($id) . "\"";  
			 sql_query($query2);
			 $message1=""._MAIL1.",\n\n"._MAIL12."\n\n$message\n\n"._MAIL13."\n".$ticketlink."/modules.php?name=$module_name&op=show2&id=$id&code=$row[password]\n"._MAIL14."\n\n"._MAIL3." ".$id."\n"._MAIL4." ".$row['password']."\n\n"._MAIL15." ".$ticketlink."/modules.php?name=$module_name. \n\n$absendername";
			 mxStripSlashes($message1);
			 mxStripSlashes($betreff);
			 mxMail($row['email'],"$betreff (Ticket#$id)",$message1,"" . $fromemail . "","text", "", $absendername);
			 mxRedirect("modules.php?name=$module_name&op=admin_anzeigen&id=".$id."",""._MESSAGE8."",4);
		  }
        }
	}else{
	mxErrorScreen(""._ERROR10."");
	}
}
#########################################################
# Neuen Accescode zuschicken
function pw($id) {
global $ticketsystem_id,$ticketlink,$absendername,$fromemail, $module_name, $prefix;
         $querystr = "select * from ${prefix}_" . $ticketsystem_id . "tickets where id=\"$id\" order by time asc";
         $number = sql_query($querystr);
         $row = sql_fetch_array($number);
		 if(($row['id'] == $id) && (is_numeric($id))){
         $message1=""._MAIL1." ".$row['tname'].",\n\n"._MAIL16."\n\n"._MAIL3." ".$id."\n"._MAIL4." ".$row['password']."\n\n"._MAIL5." ".$ticketlink."/modules.php?name=$module_name. \n\n$absendername";
         mxStripSlashes($message1);
		 mxMail($row['email'],"RE:(Ticket#$id) "._MAIL4."",$message1,"" . $fromemail . "","text", "", $absendername);
		 mxRedirect("modules.php?name=".$module_name."&op=show",""._MAIL17."",5);
		 }else{
		 $error['ticketerror'][] = "Sie haben keinen g&uuml;ltigen Ticket ID angegeben.";
		 }
		 if (isset($error['ticketerror'])) {
			show($error);
		}
}
##################################################################################
# Ticket Loeschen
function delete($id) {
global $ticketsystem_id,$support_name, $module_name,$absendername,$ticketlink,$fromemail, $prefix;
if(MX_IS_ADMIN){
		$fehler = false;

 		$querystr = "select * from ${prefix}_" . $ticketsystem_id . "tickets where id=\"$id\"";
        $number = sql_query($querystr);
        $rowm = sql_fetch_array($number);

        $message1=""._MAIL1." ".$rowm['tname'].",\n\n"._MAIL18." $support_name "._MAIL19." \n"._MAIL20." ".$ticketlink."/modules.php?name=$module_name. \n\n$absendername";
		mxStripSlashes($message1);
		mxMail($rowm['email'],""._MAIL21."",$message1,"" . $fromemail . "","text", "", $absendername);

        if ($fehler == false) {
        	$query = "delete from ${prefix}_" . $ticketsystem_id . "tickets where id=\"$id\"";
			sql_query($query);
			mxRedirect("modules.php?name=".$module_name."&op=admin","Lösche TicketID # " . $id ."<br>"._ADMIN11."",4);
		}else{
			mxErrorScreen(""._ADMIN13."");
        }
}
}
#############################################################################
# Admin Config
function config(){
global $module_name,$prefix,$ticketsystem_id, $userclose;
if (MX_IS_ADMIN){ 
	include("header.php");
	$queryconfig = "select * from ${prefix}_" . $ticketsystem_id . "ticketconfig";
	$info = sql_query($queryconfig);
	$infox = sql_fetch_array($info);
	menue();
	OpenTable();
	$ticketsystem_id = (empty($ticketsystem_id)) ? 1 : intval($ticketsystem_id);
	$userclose = (empty($userclose)) ? 0 : intval($userclose);
	printOverlibDiv();
	$kc_overlib = new Overlib();
	$kc_overlib->ol_delay = 200;
	$kc_overlib->ol_hauto = "True";
	$kc_overlib->ol_vauto = "True";
	$kc_overlib->ol_width = "250";
	$myover=$kc_overlib->vover(pmValueToText("Wird gebraucht, wenn bei einer Kategorie keine extra Mail Adresse angegeben wurde."),pmValueToText("Antwort"));
	$myover2=$kc_overlib->vover(pmValueToText("Diese eMail Adresse wird dem Ticketempfänger als Absender angezeigt."),pmValueToText("Antwort"));
	$myover3=$kc_overlib->vover(pmValueToText("Der Name, der dem Empfänger bei erhalt des Tickets angezeigt wird."),pmValueToText("Antwort"));
	$myover4=$kc_overlib->vover(pmValueToText("Der Name, der dem Empfänger als Absender angezeigt wird."),pmValueToText("Antwort"));
	$myover5=$kc_overlib->vover(pmValueToText("Wie lange sollen die Nachrichten in der Übersicht angezeigt werden ?"),pmValueToText("Antwort"));
	$myover6=$kc_overlib->vover(pmValueToText("Die Ticket System ID"),pmValueToText("Antwort"));
	$myover7=$kc_overlib->vover(pmValueToText("Duerfen User Ihre eigenen Tickets selber schließen ?"),pmValueToText("Antwort"));
	echo"<center><b>"._CONFIG1."</b></center><br>";
	echo "<form action=\"modules.php?name=$module_name&op=save_config\" method=post>";
	echo "<table valign=\"middle\" border=\"0\" cellspacing=\"1\" cellpadding=\"3\">";
	echo "<tr><td align=\"right\">";
	echo""._CONFIG2.":";
	echo"</td><td>";
	echo"<input type=\"text\" name=\"bemail1\" size=\"30\" value=\"$infox[bemail]\"></td><td><a href=\"modules.php?name=TicketSystem&op=config\"".$myover.">?</a>";
	echo"</td><td><font size=\"-1\"> "._CONFIG2_1."</font><br></td></tr>";
	
	echo "<tr><td align=\"right\">";
	echo""._CONFIG3.":";
	echo"</td><td>";
	echo"<input type=\"text\" name=\"frommail1\" size=\"30\" value=\"$infox[frommail]\"></td><td><a href=\"modules.php?name=$module_name&op=config\"".$myover2.">?</a>";
	echo"</td><td><font size=\"-1\"> "._CONFIG3_1."</font></td></tr>";
	
	echo "<tr><td align=\"right\">";
	echo""._CONFIG4.":";
	echo"</td><td>";
	echo"<input type=\"text\" name=\"support_name1\" size=\"30\" value=\"$infox[support_name]\"></td><td><a href=\"modules.php?name=$module_name&op=config\"".$myover3.">?</a>";
	echo"</td><td></td></tr>";
	
	echo "<tr><td align=\"right\">";
	echo""._CONFIG5.":";
	echo"</td><td>";
	echo"<input type=\"text\" name=\"absendername1\" size=\"30\" value=\"$infox[absendername]\"></td><td><a href=\"modules.php?name=$module_name&op=config\"".$myover4.">?</a>";
	echo"</td><td><font size=\"-1\"> "._CONFIG5_1."</font></td></tr>";
	echo "<tr><td align=\"right\">";
	echo"D&uuml;rfen Benutzer ihre Tickets schließen?";
	echo"</td><td>";
	if (empty($userclose)) echo"<input type=\"checkbox\" value=\"1\" name=\"xuserclose\" >";
	else                   echo"<input type=\"checkbox\" value=\"1\" name=\"xuserclose\" checked>";
	echo"</td><td><a href=\"modules.php?name=$module_name&op=config\"".$myover7.">?</a>";
	echo"</td>";
	echo "<td></td></tr>";
	echo "<tr><td align=\"right\">";
	echo""._CONFIG7.":";
	echo"</td>";
	echo "<td>";
	echo"<input type=\"text\" name=\"tage_timeout1\" size=\"1\" value=\"$infox[tage_timeout]\"> "._CONFIG7_1."</td><td><a href=\"modules.php?name=$module_name&op=config\"".$myover5.">?</a>";
	echo"</td>";
	echo "</tr>";
	echo "<tr><td align=\"right\">";
	echo"Ticket System ID:";
	echo"</td><td>";
	echo"<input type=\"text\" name=\"xticketsystem_id\" size=\"1\" value=\"$ticketsystem_id\"></td><td><a href=\"modules.php?name=$module_name&op=config\"".$myover6.">?</a>";
	echo"</td>";
	echo "<td></td></tr>";
	
	echo"<tr><td>";
	echo"<input type=\"hidden\" name=\"ticketlink1\" size=\"30\" value=\"" . MX_HOME_URL . "\">";
	echo"<input type=\"hidden\" name=\"ticketsystem_id1\" size=\"30\" value=\"$ticketsystem_id\">";
	echo"</td><td>";
	echo"<input type=submit value=\""._SUBMIT."\" size=\"10\"></form>";
	echo"</td><td></td></tr>";
	echo"</table>";
	CloseTable();
}else{
	mxErrorScreen("Sie sind nicht als Admin angemeldet");
}
include("footer.php");
}
################################################################################
//Config speichern
function save_config($bemail1,$frommail1,$support_name1,$absendername1,$ticketlink1,$tage_timeout1,$xticketsystem_id,$ticketsystem_id1) {
if (MX_IS_ADMIN){
	global $module_name, $prefix, $dbi,$ticketsystem_id;
	$query = "UPDATE ".$prefix."_".$ticketsystem_id."ticketconfig set bemail=\"" . mxAddSlashesForSQL($bemail1) . "\", frommail=\"" . mxAddSlashesForSQL($frommail1) . "\", support_name=\"" . mxAddSlashesForSQL($support_name1) . "\", absendername=\"" . mxAddSlashesForSQL($absendername1) . "\", ticketlink=\"" . mxAddSlashesForSQL($ticketlink1) . "\", tage_timeout=\"" . intval($tage_timeout1) . "\"";
 	sql_query($query);
	//config.php speichern
	$_POST['xticketsystem_id'] = (empty($_POST['xticketsystem_id'])) ? 1 : intval($_POST['xticketsystem_id']);
	$_POST['xuserclose'] = (empty($_POST['xuserclose'])) ? 0 : intval($_POST['xuserclose']);
	$xuserclose = $_POST['xuserclose'];
	#extract($_POST);
	$line = "/*------------------------------------*/\n";
    $confi_inc = "<?php\n";
    $confi_inc .= "/*************************************************************\n";
    $confi_inc .= "* pragmaMx  Content Management System                        *\n";
    $confi_inc .= "* Copyright (c) 2006 pragmaMx Dev Team                       *\n";
    $confi_inc .= "* http://pragmaMx.org                                        *\n";
    $confi_inc .= "**************************************************************\n";
	$confi_inc .= "* Ticket System is Copyright (c) 2007 by                     *\n";
	$confi_inc .= "* Future, http://global-studios.de                           *\n";
	$confi_inc .= "* Ticket System is only for PragmaMX 0.1.9.                  *\n";
    $confi_inc .= "* This file is to configure the Ticket System for your site  *\n";
    $confi_inc .= "/*************************************************************\n";
    $confi_inc .= "$line";
    $confi_inc .= "/* Konfiguration  *\n";
    $confi_inc .= "$line";
    $confi_inc .= "\$ticketsystem_id = $xticketsystem_id;\n";
	$confi_inc .= "\$userclose = $xuserclose;\n";
	$confi_inc .= "$line";
    $confi_inc .= "/* Wird gebraucht um die Version zu bestimmen. Nicht aendern!  *\n";
    $confi_inc .= "$line";
    $confi_inc .= "\$was = array('pragmaMx','.');\n";
	$confi_inc .= "define('MXVERSION', str_replace(\$was,'', MX_VERSION));\n";
    $confi_inc .= "\n";
    $confi_inc .= "?>";

    /* Bei Readonly versuchen 666 zu setzen*/
    #if (!is_writable("modules/".$module_name."/config.inc.php")) {
        mxChangeFilePerms("modules/".$module_name."/config.inc.php", 0666);
    #} 

    /* Config speichern*/
    $file = fopen("modules/".$module_name."/config.inc.php", "w");
    $ok =@fwrite($file, $confi_inc);
    @fclose($file);

    /*Versuche aus Sicherheitsgründen 644 zu setzen*/
    #if (is_writable("modules/".$module_name."/config.inc.php")) {
        mxChangeFilePerms("modules/".$module_name."/config.inc.php", 0644);
    #} 
		
		if ($ok) {
        mxRedirect("modules.php?name=".$module_name."&op=config", "Daten wurden gespeichert", 4);
        return;
    	}else{
		mxErrorScreen("Konfiguration konnte nicht gespeichert werden!");
		}
	}else{
	mxErrorScreen("Sie sind nicht als Admin angemeldet");
	}
}
################################################################################
//Kategorien
function kategorien(){
global $module_name, $prefix, $dbi,$ticketsystem_id;
include("header.php");
menue();
if (MX_IS_ADMIN){
OpenTable();
	echo"<center><b>Ticket - Kategorien</b></center><br>";
	echo "<table border=\"1\" width=\"100%\" bordercolor=\"$bgcolor2\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">";
	echo "<tr><td align=\"center\"><center><b>Folgende Kategorien existieren</center></b></td><td align=\"center\"><center><b>eMail</center></b></td><td colspan=\"2\"><center><b>Aktion</center></b></td></tr>";
	$result = sql_query("SELECT * from ".$GLOBALS['prefix']."_" . $ticketsystem_id . "ticketkategorien ORDER BY kat ASC");
	while(list($did, $kat, $mail) = sql_fetch_row($result)) {
	echo "<tr><td ><center>".$kat."</center></td><td><center>".mxPrepareToDisplay($mail)."</center></td><td ><a href=\"modules.php?name=".$module_name."&op=edit_kategorien&did=".$did."\"><center>&Auml;ndern</a> | <a href=\"modules.php?name=".$module_name."&op=del_kategorien&did=".$did."\">L&ouml;schen</center></a></td></tr>";	
	}
	echo "</table><br><br>";
	echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\"><tr>";
	echo "<form action=\"modules.php?name=".$module_name."\" method=\"post\">\n";
	echo "<td align=\"center\" colspan=\"2\"><center><b>Neue Kategorie Speichern</b></center><br><br></td></tr>";
	echo "<tr><td align=\"center\">Name: </td><td align=\"center\"><input type=\"text\" name=\"kategorie\"></td></tr><tr><td align=\"center\">eMail: </td><td align=\"center\"><input type=\"text\" name=\"mail\"></td></tr>";
	echo "<input type=\"hidden\" name=\"op\" value=\"save_kategorien\">";
	echo "<tr><td align=\"center\" colspan='2'><input type=\"submit\" name=\"Submit\" value=\"Speichern\"></td></tr></table></form>";	
CloseTable();
}else{
mxErrorScreen("Sie sind nicht als Admin angemeldet");
}

include("footer.php");
}
################################################################################
//Kategorien speichern
function save_kategorien($kategorie, $mail){
global $module_name, $prefix, $dbi,$ticketsystem_id;
if (MX_IS_ADMIN){
	if (empty($kategorie)) $error .= mxErrorScreen("Keine Kategorie angegeben");
	if (empty($error)){
	sql_query("INSERT INTO ".$GLOBALS['prefix']."_" . $ticketsystem_id . "ticketkategorien VALUES (NULL, \"".mxAddSlashesForSQL($kategorie)."\", \"".mxAddSlashesForSQL($mail)."\")");		
	 mxRedirect("modules.php?name=".$module_name."&op=kategorien", "Daten wurden gespeichert", 4);			
}				
	}else{
	mxErrorScreen("Sie sind nicht als Admin angemeldet");
}
}
################################################################################
//Kategorien löschen
function del_kategorien($did){
global $module_name, $prefix, $dbi,$ticketsystem_id;
if (MX_IS_ADMIN){
	sql_query("DELETE from ".$GLOBALS['prefix']."_" . $ticketsystem_id . "ticketkategorien WHERE did=\"$did\"");
	mxRedirect("modules.php?name=".$module_name."&op=kategorien", "Daten wurden gel&ouml;scht", 4);		
	}else{
	mxErrorScreen("Sie sind nicht als Admin angemeldet");
}
}

################################################################################
//Kategorien editieren
function edit_kategorien($did){
global $module_name, $prefix, $dbi,$ticketsystem_id;
include("header.php");

menue();
if (MX_IS_ADMIN){
	OpenTable();
	$result = sql_query("SELECT * from ".$GLOBALS['prefix']."_" . $ticketsystem_id . "ticketkategorien WHERE did=\"$did\"");
	list($did, $kat, $mail) = sql_fetch_row($result);
	echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\"><tr>";
	echo "<form action=\"modules.php?name=".$module_name."\" method=\"post\">\n";
	echo "<td align=\"center\" colspan=\"2\"><center><b>&Auml;ndern</b></center></td></tr>";
	echo "<tr><td align=\"center\">Name: </td><td align=\"center\"><input type=\"text\" name=\"kategorie\" value=\"".$kat."\"></td></tr><tr><td align=\"center\">eMail: </td><td align=\"center\"><input type=\"text\" name=\"mail\" value=\"".$mail."\"></td></tr>";
	echo "<input type=\"hidden\" name=\"op\" value=\"save_edit_kategorien\">";
	echo "<input type=\"hidden\" name=\"did\" value=\"".$did."\">";
	echo "<tr><td align=\"center\" colspan=\"2\"><input type=\"submit\" name=\"Submit\" value=\"&Auml;ndern\"></td></tr></table>";
	CloseTable();
}else{
	mxErrorScreen("Sie sind nicht als Admin angemeldet");
}
include("footer.php");
}
################################################################################
//Editierte Kategorie speichern
function save_edit_kategorien($did, $kategorie, $mail){
if (MX_IS_ADMIN){
global $module_name, $prefix, $dbi,$ticketsystem_id;
sql_query("UPDATE ".$GLOBALS['prefix']."_" . $ticketsystem_id . "ticketkategorien set kat=\"" . mxAddSlashesForSQL($kategorie) . "\", mail=\"" . mxAddSlashesForSQL($mail) . "\" WHERE did=\"". intval($did) . "\"");
mxRedirect("modules.php?name=".$module_name."&op=kategorien", "Daten wurden ge&auml;ndert", 4);
}else{
	mxErrorScreen("Sie sind nicht als Admin angemeldet");
}
}
#################################################################################
$op = (isset($_REQUEST['op'])) ? $_REQUEST['op'] : "";
switch($op) {

    case "admin":
    admin($ticketsystem_id,$tage_timeout);
    break;

    case "admin_open":
    admin_open($id);
    break;

	case "help":
    help();
    break;

    case "admin_anzeigen":
    admin_anzeigen($id);
    break;

	case "admin_antw":
     admin_antw($tname,$id,$betreff,$message,$fromemail);
    break;

    case "pw":
    pw($id);
    break;

    case "delete":
    delete($id);
    break;

	case "show":
    show();
    break;

	case "show2":
    show2($id,$code);
    break;


	case "ticketnew":
    ticketnew($tname,$email,$kategorie,$betreff,$message);
    break;

	case "antw_ticket":
    antw_ticket($tname,$id,$code,$betreff,$message);
    break;

   	case "install":
    include("modules/$module_name/install.php");
    break;

    case "config";
	config();
	break;

	case "save_config";
	save_config($bemail1,$frommail1,$support_name1,$absendername1,$ticketlink1,$tage_timeout1,$xticketsystem_id,$ticketsystem_id1);
	break;
	
	case "kategorien";
	kategorien();
	break;
	
	case "save_kategorien";
	save_kategorien($kategorie, $mail);
	break;
	
	case "del_kategorien";
	del_kategorien($did);
	break;
	
	case "edit_kategorien";
	edit_kategorien($did);
	break;
	
	case "save_edit_kategorien";
	save_edit_kategorien($did, $kategorie, $mail);
	break;

    default:
    start();
    break;

}
?>