Location: PHPKode > projects > Lite Outbound Manager > outbound/nominativo.php
<?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>&nbsp;</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>&nbsp;</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);
?>
Return current item: Lite Outbound Manager