/** * Gerencia a de criação * e edição dos consulta */ public function consultarWebServiceAction() { $o_consulta = new ConsultaModel(); //verificando se o id da consulta foi passado if (isset($_REQUEST['valor_consulta'])) { //verificando se o valor passado é valido if (DataValidator::isNumeric($_REQUEST['valor_consulta'])) { //buscando dados no webService 'http://www.w3schools.com/webservices/tempconvert.asmx' contato $client = new SoapClient('http://www.w3schools.com/webservices/tempconvert.asmx?WSDL'); if ($_REQUEST['tipo'] == 'Fahrenheit_Celsius') { $function = 'FahrenheitToCelsius'; $arguments = array('FahrenheitToCelsius' => array('Fahrenheit' => 123)); } else { $function = 'CelsiusToFahrenheit'; $arguments = array('CelsiusToFahrenheit' => array('Celsius' => $_REQUEST['valor_consulta'])); } $options = array('location' => 'http://www.w3schools.com/webservices/tempconvert.asmx?WSDL'); try { $result = $client->__soapCall($function, $arguments, $options); } catch (SoapFault $exception) { echo $exception; } if ($_REQUEST['tipo'] == 'Fahrenheit_Celsius') { $o_consulta->setRespostaTemperatura(DataFilter::cleanString($result->FahrenheitToCelsiusResult)); $o_consulta->setRequisicaoTipo('Fahrenhet'); } else { $o_consulta->setRespostaTemperatura(DataFilter::cleanString($result->CelsiusToFahrenheitResult)); $o_consulta->setRequisicaoTipo('Celsius'); } $o_consulta->setRequisicaoTemperatura(DataFilter::cleanString($_REQUEST['valor_consulta'])); $o_consulta->setIp(DataFilter::cleanString(ConsultaController::getIp())); $o_consulta->setXmlGerado(serialize($result)); $ultimo_id = $o_consulta->save(); } else { echo "<script>alert('Valor invalido')</script>"; $v_consultas = $o_consulta->_list(); //definindo qual o arquivo HTML que será usado para //mostrar a lista de consulta $o_view = new View('views/listarConsulta.phtml'); //Passando os dados da consulta para a View $o_view->setParams(array('v_consultas' => $v_consultas)); //Imprimindo código HTML $o_view->showContents(); exit; } } $v_consultas = $o_consulta->_list($ultimo_id); //definindo qual o arquivo HTML que será usado para //mostrar a lista de consulta $o_view = new View('views/listarXml.phtml'); //Passando os dados da consulta para a View $o_view->setParams(array('v_consultas' => $v_consultas)); //Imprimindo código HTML $o_view->showContents(); }
/** * Retorna um array contendo os contatos * @param string $st_nome * @return Array */ public function _list($id_cont = null) { if (!is_null($id_cont)) { $st_query = 'SELECT * FROM pesquisa where excluido = 0 and id_consulta = "' . $id_cont . '" order by id_consulta desc limit 1;'; } else { $st_query = 'SELECT * FROM pesquisa where excluido = 0 order by id_consulta desc ;'; } $v_consultas = array(); try { $o_data = $this->o_db->query($st_query); while ($o_ret = $o_data->fetchObject()) { $o_consulta = new ConsultaModel(); $o_consulta->setId($o_ret->id_consulta); $o_consulta->setRequisicaoTemperatura($o_ret->requisicao_temperatura); $o_consulta->setRequisicaoTipo($o_ret->requisicao_tipo); $o_consulta->setRespostaTemperatura($o_ret->resposta_temperatura); $o_consulta->setDataConsulta($o_ret->datahora_consulta); $o_consulta->setIp($o_ret->ip_requisitante); $o_consulta->setXmlGerado($o_ret->xml_gerado); array_push($v_consultas, $o_consulta); } } catch (PDOException $e) { } return $v_consultas; }