include("../connetti.php");
include("../conf.php");
$tabella_associata_ordini = $_REQUEST['tabella_associata_ordini'];
# $_REQUEST E' LA STRUTTURA DATI CONTENENTE I CAMPI DEL MODULO CARTACEO DA SMATERIALIZZARE
# E DEL TICKET CORRELATO DA INSERIRE.
# VEDO QUALI SONO LE COLONNE ESISTENTI NELLA TABELLA TICKETS
$result = mysql_query("SELECT column_name FROM information_schema.COLUMNS WHERE TABLE_SCHEMA ='helpdesk_ued' AND TABLE_NAME ='tickets'");
while ($row = mysql_fetch_array($result))
{
if (array_key_exists($row['column_name'], $_REQUEST))
{
$campi_ticket[$row['column_name']]=$_REQUEST[$row[column_name]];
}
}
# VEDO QUALI SONO LE COLONNE ESISTENTI NELLA TABELLA DATI_STUDENTE
$result = mysql_query("SELECT column_name FROM information_schema.COLUMNS WHERE TABLE_SCHEMA ='helpdesk_ued' AND TABLE_NAME ='dati_studenti'");
while ($row = mysql_fetch_array($result))
{
if (array_key_exists($row['column_name'], $_REQUEST))
{
$campi_dati_studente[$row['column_name']]=$_REQUEST[$row[column_name]];
}
}
$id_problema = $_REQUEST['id_problema'];
$query_modulo = @mysql_query("select * from problema where id_problema=$id_problema")or die(mysql_error());
$riga=@mysql_fetch_assoc($query_modulo);
$tabella_associata =$riga['tabella_associata'];
$id_servizio =$riga['id_servizio'];
# VEDO LE COLONNE DELLA TABELLA_ASSOCIATA_AL_MODULO CHE SONO
# COMPRESE IN $_REQUEST (E QUINDI CHE PROVENGONO DALLA FORM DI INPUT
$query = "SELECT column_name
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA ='helpdesk_ued' AND TABLE_NAME ='$tabella_associata'";
$query = "DESC $tabella_associata";
$result_colonne_modulo = mysql_query($query);
while ($row = mysql_fetch_array($result_colonne_modulo))
{
if (array_key_exists($row['Field'], $_REQUEST))
{
$campi_modulo[$row['Field']]=$_REQUEST[$row[Field]];
}
}
#*************************************************************************************************************************
# VEDO LE COLONNE DELLA TABELLA ORDINI_PRODOTTI_HARDWARE PER ESTRARLI
# DAL VETTORE $_REQUEST E SEPARARLI DAL RESTO DEL DATO
$query_colonne_ordini = mysql_query("SELECT column_name
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA ='appo' AND TABLE_NAME = '$tabella_associata_ordini'");
$i=0;
while ($row = mysql_fetch_array($query_colonne_ordini))
{
$colonne_ordini_hardware[$i]=$row[0];
$i++;
}
#*************************************************************************************************************************
$padre = $_POST['padre'];
$selected_operator = $_POST['selected_operator'];
$result = mysql_query("SELECT * FROM servizio where id_servizio=$id_servizio");
while ($row = mysql_fetch_array($result))
{
$gruppo =$row['gruppo'];
$servizio =$row['nominativo'];
}
$result = mysql_query("SELECT * FROM problema where id_problema=$id_problema");
while ($row = mysql_fetch_array($result))
{
$problema=$row['nominativo'];
}
#********************************
$priorita = $_POST['priorita'];
if ($priorita == '')
{
$priorita = $CFbassa;
}
#********************************
$Vtesto = str_replace($wrong,$right,$testo);
// Generazione TICKET_ID: 4 caratteri dell'email + 6 cifre casuali
// es: minu387320
srand(time() ^ (int)microtime() ^ @getmypid());
$unique_id=uniqid(rand(),1);
$ticket_num = substr($campi_ticket[email], 0, 4).substr($unique_id,0,6);
// Inserimento dati nel DB (tabella 'tickets')
#echo "
GRUPPO2 === $gruppo
";
// CRITICAL SECTION
mysql_query($query);
if ($selected_operator == '')
{
#$query="INSERT INTO tickets VALUES ('','$ticket_num', '$padre','$nome','$cognome','$telefono','$struttura','$via','$ufficio','$email','$id_problema','$mezzo','$gruppo',NULL,'$CFaperto',NOW(),NOW(),NOW(),'$priorita','$piano','$stanza')";
$query="INSERT INTO tickets VALUES
(0,\"$ticket_num\", \"$padre\",\"$campi_ticket[nome]\",\"$campi_ticket[cognome]\",
\"$campi_ticket[telefono]\",\"$campi_ticket[struttura]\",\"$campi_ticket[via]\",\"$campi_ticket[ufficio]\",
\"$campi_ticket[email]\",\"$campi_ticket[id_problema]\",\"$campi_ticket[mezzo]\",\"$gruppo\",
NULL,\"$CFaperto\",NOW(),NOW(),NOW(),\"$priorita\",\"$campi_ticket[piano]\",\"$campi_ticket[stanza]\")";
}
else
{
$query="INSERT INTO tickets VALUES
(0,\"$ticket_num\", \"$padre\",\"$campi_ticket[nome]\",\"$campi_ticket[cognome]\",
\"$campi_ticket[telefono]\",\"$campi_ticket[struttura]\",\"$campi_ticket[via]\",\"$campi_ticket[ufficio]\",
\"$campi_ticket[email]\",\"$campi_ticket[id_problema]\",\"$campi_ticket[mezzo]\",\"$gruppo\",
\"$selected_operator\",\"$CFin_carico\",NOW(),NOW(),NOW(),\"$priorita\",\"$campi_ticket[piano]\",\"$campi_ticket[stanza]\")";
}
#echo "QUERY===$query ";
# SE IL TICKET VIENE APERTO, VENGONO ASSOCIATE LE RISPETTIVE TRANSAZIONI
# O MODULI SULLE RISPETTIVE TABELLE DI APPOGGIO INDICATE ALL'INTERNO DELLA TUPLA
# CONTENTE IL PROBLEMA.
if( mysql_query($query) )
{
// Ottiene id del ticket
$id_tic = mysql_insert_id();
$last_id = mysql_insert_id();
$testo = 'Ticket associato a modulo cartaceo';
$query="INSERT INTO transazioni VALUES (0,$last_id,0,\"".mysql_real_escape_string($testo)."\",'$CFdomanda',now(),'')";
mysql_query($query);
$id_trans = mysql_insert_id();
# ID_TIC E' OBBLIGATORIO PERCHE' SERVE PER LEGARLO AL TICKET ASSOCIATO APPENA INSERITO
# LA CHIAVE DELLA TABELLA E' OBBLIGATORIA
$query="INSERT INTO ".$tabella_associata." SET id_tic=$last_id, ";
$last_id_modulo = mysql_insert_id();
foreach ($campi_modulo as $key=>$value)
{
$value=str_replace(array('"', '<', '>'), array('"', '<', '>'), $value);
$query = $query.$key."=\"".$value."\" ,";
}
$query = substr($query,0,-1);
mysql_query($query);
$last_id_modulo = mysql_insert_id();
}
#Inserimento hardware
for ($i=1; $i<10; $i++) // numero max di richieste che vengono dal modulo
{
$sw=0;
$stringa='INSERT INTO '.$tabella_associata_ordini.' SET id_modulo='.$last_id_modulo.', ';
foreach ($colonne_ordini_hardware as $key => $value) //colonne della tabella contenente un ordine associate al modulo selezionato
{
if ($_REQUEST[$value.$i])
{
$val=str_replace(array('"', '<', '>'), array('"', '<', '>'), $_REQUEST[$value.$i]);
$stringa = $stringa.$value.'="'.$val.'", ';
$sw=1;
}
}
$stringa=substr($stringa, 0, -2);
if ($sw==1)
mysql_query($stringa) or die(mysql_error());
}
# INIZIO INSERIMENTO TICKET STUDENTE
if ($gruppo=='studenti')
{
$query = "INSERT INTO dati_studenti VALUES
($last_id,\"$campi_dati_studente[nome]\",\"$campi_dati_studente[cognome]\",\"$campi_dati_studente[telefono]\",
\"$campi_dati_studente[email]\",\"$campi_dati_studente[matricola]\",
\"$campi_dati_studente[codice_fiscale]\",\"$campi_dati_studente[facolta]\",
\"$campi_dati_studente[corso_di_studi]\")";
mysql_query($query);
}
# FINE INSERIMENTO TICKET STUDENTE
# STAMPA NOTIFICA
$today = getdate();
$data = $today['mday']."/".$today['mon']."/".$today['year'];
$email= $_POST['email'];
#$Vteso= $POST['testo'];
echo "";
echo"
";
echo "
LA SUA SEGNALAZIONE E' STATA ACCETTATA DAL SISTEMA
\n";
echo "
Riepilogo dati della segnalazione generata :
\n";
echo "
 
";
echo "
Numero ticket : $ticket_num
\n";
echo "
Email utente : $email
\n";
echo "
Servizio : $servizio
\n";
echo "
Problema : $problema
\n";
echo "
Testo : $Vtesto
\n";
echo "
Data segnalazione : $data
\n";
echo "
";
echo"
";
# FINE STAMPA NOTIFICA
#print_r ($_REQUEST);
$modulo_pdf = '../stampe/'.$tabella_associata.'.php';
if (is_file($modulo_pdf))
{
include($modulo_pdf);
}
if ($email != '')
{
$email= $_POST['email'];
include ('../Email_class.php');
$transazione = $testo;
$address = $email;
#echo "INDIRIZZO E-MAIL ---->>>>".$address;
$reply = $homepage."user_to_admin.php?var0=-1&&var1=$last_id";
$transazione = "Gentile utente,\n in seguito alla sua richiesta è stato aperto il ticket N° ".$ticket_num." \n\n Per consultare lo stato di avanzamento del ticket od aggiungere altre segnalazioni è disponibile la pagina \n ".$reply;
$transazione.=" \n\n N.B.: Non utilizzare il reply di questa mail per sottoporre nuove segnalazioni relative a questo ticket";
$mail = new Email;
$mail->setTo($address);
$mail->setFrom($from);
$mail->setSubject("Ticket ".$ticket_num." (".$oggetto.")");
$mail->setText(str_replace(" ","\n",$transazione));
$mail->send();
echo "