<?php
if ( ! defined('BASEPATH')) exit('No se permite el acceso directo a las p&aacute;ginas de este sitio.');

class ClienteControl extends CI_Controller 
{
   function  __construct() 
   {
      parent::__construct();

      $this->load->library('nu_soap');
   } // end Constructor

   function index() 
   {
	   
   }  // end function
	
	public function registrarEventos() 
	{
		// Estos parametros no los necesitamos en este ejemplo, pero los pongo para que tengas idea de
		// todo lo que se puede configurar en nuestra petición
		$proxyhost = isset($_POST['proxyhost']) ? $_POST['proxyhost'] : '';
		$proxyport = isset($_POST['proxyport']) ? $_POST['proxyport'] : '';
		$proxyusername = isset($_POST['proxyusername']) ? $_POST['proxyusername'] : '';
		$proxypassword = isset($_POST['proxypassword']) ? $_POST['proxypassword'] : '';
		
		// Instanciamos la clase cliente de nusoap
		$this->client = new nusoap_client('http://localhost/produccion/controlUsuarios/index/wsdl', 'wsdl',
		$proxyhost, $proxyport, $proxyusername, $proxypassword);
		
		// Cachamos algún error en los parámetros dados
		$error = $this->client->getError();
		
		if ($error) 
		{
			echo '<h2>Constructor error</h2><pre>' . $error . '</pre>';
		} // endif
		
		// ¡Importante!
		//  Hacemos la llamada al método en forma de clase (Controlador..Nombre del método)
		$funcion = 'ControlUsuarios..registroEventos';
		
		$eventos=array();
		
		$eventos['nIdLlave'][0]="22";
		$eventos['sLlave'][0]="48CA4E22";
		$eventos['nIdEvento'][0]="6";
		$eventos['nIdModulo'][0]="6";
		$eventos['dFecha'][0]="2012-03-09 10:00:00";
		$eventos['nEstatus'][0]="1";
		
		$eventos=array
		(
			
		);
		
		
		$eventos[1]="22";
		$eventos[2]="48CA4E22";
		$eventos[3]="6";
		$eventos[4]="6";
		$eventos[5]="2012-03-09 10:00:00";
		$eventos[6]="1";
		
		
		/*$eventos['nIdLlave'][1]="25";
		$eventos['sLlave'][1]="48CA4E22";
		$eventos['nIdEvento'][1]="1";
		$eventos['nIdModulo'][1]="1";
		$eventos['dFecha'][1]="2012-03-10 10:00:00";
		$eventos['nEstatus'][1]="1";
		
		$eventos['nIdLlave'][2]="22";
		$eventos['sLlave'][2]="48CA4E22";
		$eventos['nIdEvento'][2]="2";
		$eventos['nIdModulo'][2]="2";
		$eventos['dFecha'][2]="2012-03-11 10:00:00";
		$eventos['nEstatus'][2]="1";*/

		$datos = array('a_Eventos' => $eventos);
		
		$respuesta = $this->client->call($funcion, $datos);
		
		// Gestionamos la respuesta
		$this->respuesta($respuesta, $this->client->fault, $this->client->getError());
		
		return;
	} // end function
	
   /*
    * Acción predeterminada para las pruebas del webservices cliente
   */
	private function respuesta($respuesta, $is_fault, $is_error) 
	{
		// Fallas
		if ($is_fault) 
		{
			echo '<h2>Falla:</h2><pre>';
			print_r($result);
			echo '</pre>';
			echo '<h2>Request</h2><pre>' . htmlspecialchars($this->client->request, ENT_QUOTES) . '</pre>';
			echo '<h2>Response</h2><pre>' . htmlspecialchars($this->client->response, ENT_QUOTES) . '</pre>';
			echo '<h2>Debug</h2><pre>' . htmlspecialchars($this->client->debug_str, ENT_QUOTES) . '</pre>';
		}
		else 
		{
			// Errores
			if ($is_error) 
			{
				// Imprimir los detalles del error
				echo '<h2>Error:</h2><pre>' . $is_error . '</pre>';
				echo '<h2>Request</h2><pre>' . htmlspecialchars($this->client->request, ENT_QUOTES) . '</pre>';
				echo '<h2>Response</h2><pre>' . htmlspecialchars($this->client->response, ENT_QUOTES) . '</pre>';
				echo '<h2>Debug</h2><pre>' . htmlspecialchars($this->client->debug_str, ENT_QUOTES) . '</pre>';
			} 
			else 
			{
				// ¡Que felicidad, desplegamos el resultado!
				echo '<h2>Resultado:</h2><pre>';
				print_r($result);
				echo '</pre>';
			}
		}
		
		return;
	}
} 

?>
