<?php
//conncections
require_once('Connections/outbound.php');
//query scripting
require_once('query_server.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" media="screen" href="css/liteom.css" />
<script type="text/javascript" src="js/lib/jquery.js"></script>
<script type="text/javascript" src="js/jquery.validate.js"></script>
<script language="javascript" type="text/javascript">
//validating form using JQUERY and validator plugin...
$(document).ready(function() {
$("#esito_chiamata").validate();
});
//validate call state and outcome dropdowns
$.validator.addMethod("validate_select_state", function(value) {
return value != "select state";
}, 'select something!')
$.validator.addMethod("validate_select_outcome", function(value) {
return value != "select option";
}, 'Select something!')
//script per la gestione delle triplette
<?php //carico XML esterno per esiti chiamata (tripletta di dropdown)
$fp = file_get_contents("data/tripletta.xml");
$xml = new SimpleXMLElement($fp);
?>
function dropdownlist(listindex)
{
document.esito_chiamata.esito.options.length = 0;
//Clear child listbox
for(var i=document.esito_chiamata.motivazione.length;i>0;i--) {
document.esito_chiamata.motivazione.options[i] = null;
}
switch (listindex)
{
case "select state":
for(var i=document.esito_chiamata.esito.length;i>0;i--) {
document.esito_chiamata.esito.options[i] = null;
}
document.esito_chiamata.esito.options[0] = new Option('-','');
document.esito_chiamata.motivazione.options[0] = new Option('-','');
showAppuntamento(0);
break;
<?php //stampa javascript per gestire la dipendenza tra le dropdownlists e popolarle
foreach($xml->stato_contatti->stato_contatto as $stato){
echo "case \"".$stato->value."\" :";
$esito_index=0; //metodo per scorrere indice da rivedere
foreach($stato->esiti->esito as $esito){
if(isset($esito->value)){
echo "document.esito_chiamata.esito.options[$esito_index]=new Option(\"".$esito->value."\",\"".$esito->value."\");";
$esito_index++;
}else{
echo "document.esito_chiamata.esito.options[$esito_index]=new Option('-','');";
echo "document.esito_chiamata.motivazione.options[$esito_index]=new Option('-','');";
}
}
if($stato->value['show_recall']=="true"){
echo 'showAppuntamento(1);';
//setto il campo hidden della form
echo 'document.esito_chiamata.is_recall.value="true";';
}else {
echo 'showAppuntamento(0);';
echo 'document.esito_chiamata.is_recall.value="false";';
}
//individuo quale stato è da considerare "nessuna risposta" (aumenta di uno i tenteativi di chiamata sul DB)
//serve per astrarre dalla lingua in uso, utilizza la proprietà del nodo XML. Utilizzo campo hidden nella form.
if($stato->value['no_reply']=="true")
$no_reply=$stato->value;
echo 'break;';
}
?>
default: showAppuntamento(0);
}
return true;
}
//funzione per il controllo della scelta motivazione
function child_dropdownlist(listindex)
{
document.esito_chiamata.motivazione.options.length = 0;
switch (listindex)
{
<?php //stampa javascript per gestire la dipendenza tra le dropdownlists e popolarle (motivazioni)
foreach($xml->stato_contatti->stato_contatto->esiti->esito as $esito){
echo "case \"".$esito->value."\" :";
$motivo_index=0; //metodo per scorrere indice da rivedere
foreach($esito->motivazioni->motivazione as $motivazione){
if(isset($motivazione->value)){
echo "document.esito_chiamata.motivazione.options[$motivo_index]=new Option(\"".$motivazione->value."\",\"".$motivazione->value."\");";
}else{
echo "document.esito_chiamata.motivazione.options[$esito_index]=new Option('-','');";
}
$motivo_index++;
}
echo 'showAppuntamento(0);';
echo 'break;';
}
?>
}
return true;
}
//Funzione per il controllo del campo appuntamento (appare/scompare)
function showAppuntamento(visible){
var el = document.getElementById('appuntamento');
//var el2 = document.getElementById('year_label');
if(visible)
el.style.visibility = 'visible';
//el2.style.visibility = 'visible';
else
el.style.visibility = 'hidden';
}
</script>
<title>Lite Outbound Manager - Chiamata a <?php echo $row_nuovo_nominativo['NOME'];?> <?php echo $row_nuovo_nominativo['COGNOME'];?></title>
<style type="text/css">
.block { display: block; }
form.cmxform label.error { display: none; }
</style>
</head>
<body>
<div id="call_details">
<p class="block">Operator <?php print $_GET['operatore']; ?></p>
<p> </p>
<p><strong>Telephone number :<?php echo $row_nuovo_nominativo['NUM_TEL']; ?></strong></p>
<p><strong>Name:<?php echo $row_nuovo_nominativo['NOME']; ?></strong></p>
<p><strong>Surname:<?php echo $row_nuovo_nominativo['COGNOME']; ?></strong></p>
<p>Info #1 : <?php echo $row_nuovo_nominativo['VALORE_CAMPO_1']; ?></p>
<p>Info #2 :<?php echo $row_nuovo_nominativo['VALORE_CAMPO_2']; ?></p>
<p>Info #3 :<?php echo $row_nuovo_nominativo['VALORE_CAMPO_3']; ?></p>
<p>Last contact status :
<?php if (isset($row_nuovo_nominativo['STATO_CONTATTO']))
echo $row_nuovo_nominativo['STATO_CONTATTO'];
else printf('NEVER CALLED'); ?></p>
<p>Date / Time:
<?php if (isset($row_nuovo_nominativo['IN_PROGRESS_TIMESTAMP']))
echo $row_nuovo_nominativo['IN_PROGRESS_TIMESTAMP'];
else printf('-'); ?></p>
<p>Current call is try # : <?php if(isset($row_nuovo_nominativo['num']))
echo ($row_nuovo_nominativo['num']+1);
else printf ('1');//la chiamata in corso è il tentativo presente +1; ?></p>
</div>
<div id="outcome">
<p><strong>CALL OUTCOME: </strong></p>
<p> </p>
<form action="<?php echo $editFormAction; ?>" method="POST" enctype="multipart/form-data" name="esito_chiamata" id="esito_chiamata">
<p><span>Contact Status </span>
<span>
<select name="stato_contatto" id="stato_contatto" title="Please select something!" class="validate_select_state" onchange="javascript: dropdownlist(this.options[this.selectedIndex].value);">
<option value="select state">select state</option>
<?php
//popola la lista della prima dropdown caricando la lista degli stati
foreach($xml->stato_contatti->stato_contatto as $stato){
echo "<option value=\"".$stato->value."\">$stato->value</option>";
}
?>
</select>
</span></p>
<p>
<span>Outcome</span><span>
<script type="text/javascript" language="JavaScript">
document.write('<select name="esito" id="esito" class="validate_select_outcome" onchange="javascript: child_dropdownlist(this.options[this.selectedIndex].value);"><option value="">-</option></select>')
</script>
<noscript>
<select name="esito" id="esito" class="validate_select_outcome" onchange="javascript: child_dropdownlist(this.options[this.selectedIndex].value);" >
<option value="">-</option>
</select>
</noscript>
</span>
</p>
</p>
<p>
<label for="motivazione" >Motivation</label>
<script type="text/javascript" language="JavaScript">
document.write('<select name="motivazione"><option value="">-</option></select>')
</script>
<noscript><select name="motivazione" id="motivazione">
<option value="">-</option>
</select>
</noscript>
</p>
<div id="appuntamento" style="visibility:hidden" align="left"><strong>Recall details</strong>
<label> :<br />
<br />
Today
<input type="radio" name="day" id="today" value="today" checked="checked"/>
<br />
</label>
Tomorrow
<label>
<input name="day" type="radio" id="tomorrow" value="tomorrow" />
</label>
</p>
<p>Other date
<label>
<input type="radio" name="day" id="other_d" value="other_d" />
</label>
<label>
<input name="date" type="text" class="date" size="10" maxlength="10" />
</label>
</p>
<p>Hour (24h)
<label>
<input name="hour" type="text" class="number" id="hour" value="09" size="2" maxlength="2" />
</label>
<input name="min" type="text" class="number" id="min" value="00" size="2" maxlength="2" />
<br />
</p>
</div>
<span>
<p>note:</p>
</span>
<p>
<textarea name="note" id="note" cols="40" rows="5"></textarea>
</p>
</p>
<p>
<input name="call_id" type="hidden" id="call_id" value="<?php echo $call_id; ?>" />
<input name="no_reply" type="hidden" id="no_reply" value="<?php echo $no_reply; ?>" />
<input name="is_recall" type="hidden" id="is_recall" value="false" />
</p>
<?php
//visualizzo l'intervista se richiesto
if(isset($_GET['interview'])){
require_once("interview.php");
//setting interview XML source..
$interview_source = file_get_contents("data/qa.xml");
$interview_xml = new SimpleXMLElement($interview_source);
printInterview($interview_xml);
}
?>
<input type="hidden" name="MM_update" value="esito_chiamata" />
<p>
<label>
<input type="submit" name="submit" id="submit" class"submit" value="Save and exit" />
</label>
</p>
</form>
</div>
</body>
</html>
<?php
mysql_free_result($nuovo_nominativo);
?>