sistema/painel/paginas/analises/processar.php
Endpoint que lê a foto da análise, consulta configurações e chama a IA para preencher o diagnóstico.
Endpoint que lê a foto da análise, consulta configurações e chama a IA para preencher o diagnóstico.
Dependências observadas:
Conexão PDO / configurações globaisOpenAIResposta JSONBanco de dados
Endpoint de processamento IA
Análises
355
| Linha | Código | Explicação técnica |
|---|---|---|
| 1 | <?php | Abre um bloco PHP. A partir daqui o arquivo passa a executar lógica no servidor. |
| 2 | header('Content-Type: application/json; charset=utf-8'); | Define a resposta como JSON UTF-8. Isso é importante para o AJAX interpretar corretamente o retorno do endpoint. |
| 3 | require_once("../../../conexao.php"); | Importa `../../../conexao.php` para disponibilizar conexão, sessão, funções utilitárias ou validações necessárias ao restante do fluxo. |
| 4 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 5 | $tabela = 'analise_capilar'; | Centraliza o nome da tabela `analise_capilar` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo. |
| 6 | $id = @$_POST['id']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 7 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 8 | if($id == ""){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 9 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 10 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 11 | 'mensagem' => 'ID não informado' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 12 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 13 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 14 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 15 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 16 | $query = $pdo->prepare("SELECT * FROM $tabela WHERE id = :id LIMIT 1"); | Centraliza o nome da tabela `tabela` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo. |
| 17 | $query->bindValue(":id", $id); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 18 | $query->execute(); | Executa a query preparada no banco de dados. |
| 19 | $res = $query->fetchAll(PDO::FETCH_ASSOC); | Lê o resultado retornado pelo banco e o converte para uma estrutura PHP que o restante do arquivo consegue consumir. |
| 20 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 21 | if(@count($res) == 0){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 22 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 23 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 24 | 'mensagem' => 'Registro não encontrado' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 25 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 26 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 27 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 28 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 29 | $foto = trim(@$res[0]['foto']); | Inicializa `$foto` já removendo espaços nas pontas, reduzindo ruído antes de validar ou salvar. |
| 30 | $grau_falha_banco = trim(@$res[0]['grau_falha']); | Inicializa `$grau_falha_banco` já removendo espaços nas pontas, reduzindo ruído antes de validar ou salvar. |
| 31 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 32 | if($foto == ""){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 33 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 34 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 35 | 'mensagem' => 'Nenhuma foto enviada para análise' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 36 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 37 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 38 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 39 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 40 | $pasta = __DIR__ . '/../../images/analises/'; | Define a variável `$pasta`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 41 | $caminho_foto = $pasta . $foto; | Define a variável `$caminho_foto`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 42 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 43 | if(!is_dir($pasta)){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 44 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 45 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 46 | 'mensagem' => 'Pasta de imagens da análise não encontrada' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 47 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 48 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 49 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 50 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 51 | if(!file_exists($caminho_foto)){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 52 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 53 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 54 | 'mensagem' => 'Arquivo da foto não encontrado' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 55 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 56 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 57 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 58 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 59 | if(!is_file($caminho_foto)){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 60 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 61 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 62 | 'mensagem' => 'Arquivo inválido para análise' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 63 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 64 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 65 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 66 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 67 | $query2 = $pdo->query("SELECT * FROM config LIMIT 1"); | Executa uma consulta direta no banco. É um ponto que merece atenção extra quando houver dados vindos do usuário. |
| 68 | $res2 = $query2->fetchAll(PDO::FETCH_ASSOC); | Lê o resultado retornado pelo banco e o converte para uma estrutura PHP que o restante do arquivo consegue consumir. |
| 69 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 70 | if(@count($res2) == 0){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 71 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 72 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 73 | 'mensagem' => 'Configurações não encontradas' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 74 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 75 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 76 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 77 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 78 | $openai_key = trim(@$res2[0]['openai_key']); | Inicializa `$openai_key` já removendo espaços nas pontas, reduzindo ruído antes de validar ou salvar. |
| 79 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 80 | if($openai_key == ""){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 81 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 82 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 83 | 'mensagem' => 'OpenAI Key não cadastrada' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 84 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 85 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 86 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 87 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 88 | $extensao = strtolower(pathinfo($caminho_foto, PATHINFO_EXTENSION)); | Define a variável `$extensao`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 89 | $mime = 'image/jpeg'; | Define `$mime` com um valor literal usado como configuração local do arquivo. |
| 90 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 91 | if($extensao == 'png'){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 92 | $mime = 'image/png'; | Define `$mime` com um valor literal usado como configuração local do arquivo. |
| 93 | }else if($extensao == 'webp'){ | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 94 | $mime = 'image/webp'; | Define `$mime` com um valor literal usado como configuração local do arquivo. |
| 95 | }else if($extensao == 'jpg' || $extensao == 'jpeg'){ | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 96 | $mime = 'image/jpeg'; | Define `$mime` com um valor literal usado como configuração local do arquivo. |
| 97 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 98 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 99 | $conteudo_imagem = @file_get_contents($caminho_foto); | Define a variável `$conteudo_imagem`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 100 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 101 | if($conteudo_imagem === false){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 102 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 103 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 104 | 'mensagem' => 'Não foi possível ler a imagem para análise' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 105 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 106 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 107 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 108 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 109 | $imagem_base64 = base64_encode($conteudo_imagem); | Define a variável `$imagem_base64`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 110 | $imagem_data_url = "data:" . $mime . ";base64," . $imagem_base64; | Define `$imagem_data_url` com um valor literal usado como configuração local do arquivo. |
| 111 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 112 | $prompt_final = "Você é um especialista em análise capilar para prótese capilar."; | Define `$prompt_final` com um valor literal usado como configuração local do arquivo. |
| 113 | $prompt_final .= "\nAnalise a imagem enviada do couro cabeludo."; | Manipula uma variável PHP usada na construção do fluxo. |
| 114 | $prompt_final .= "\nResponda somente em JSON válido."; | Manipula uma variável PHP usada na construção do fluxo. |
| 115 | $prompt_final .= "\nRetorne exatamente estas chaves:"; | Manipula uma variável PHP usada na construção do fluxo. |
| 116 | $prompt_final .= "\ncor_detectada"; | Manipula uma variável PHP usada na construção do fluxo. |
| 117 | $prompt_final .= "\ndensidade_detectada"; | Manipula uma variável PHP usada na construção do fluxo. |
| 118 | $prompt_final .= "\ngrau_falha"; | Manipula uma variável PHP usada na construção do fluxo. |
| 119 | $prompt_final .= "\nsugestao_protese"; | Manipula uma variável PHP usada na construção do fluxo. |
| 120 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 121 | $prompt_final .= "\n\nRegras obrigatórias:"; | Manipula uma variável PHP usada na construção do fluxo. |
| 122 | $prompt_final .= "\n1. Não escreva explicações."; | Manipula uma variável PHP usada na construção do fluxo. |
| 123 | $prompt_final .= "\n2. Não escreva markdown."; | Manipula uma variável PHP usada na construção do fluxo. |
| 124 | $prompt_final .= "\n3. Não escreva texto fora do JSON."; | Manipula uma variável PHP usada na construção do fluxo. |
| 125 | $prompt_final .= "\n4. cor_detectada deve ser SOMENTE um dos códigos abaixo:"; | Manipula uma variável PHP usada na construção do fluxo. |
| 126 | $prompt_final .= "\n#1B, #1B10, #1B20, #1B30, #1B40, #1B50, #1B60, #2, #210, #220, #230, #240, #250, #3, #310, #320, #330, #340, #4, #410, #420, #430, #440, #5, #6"; | Manipula uma variável PHP usada na construção do fluxo. |
| 127 | $prompt_final .= "\n5. Interprete obrigatoriamente os códigos com branco/grisalho da seguinte forma:"; | Manipula uma variável PHP usada na construção do fluxo. |
| 128 | $prompt_final .= "\n#1B10 = preto natural + 10% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 129 | $prompt_final .= "\n#1B20 = preto natural + 20% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 130 | $prompt_final .= "\n#1B30 = preto natural + 30% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 131 | $prompt_final .= "\n#1B40 = preto natural + 40% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 132 | $prompt_final .= "\n#1B50 = preto natural + 50% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 133 | $prompt_final .= "\n#1B60 = preto natural + 60% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 134 | $prompt_final .= "\n#210 = castanho escuro + 10% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 135 | $prompt_final .= "\n#220 = castanho escuro + 20% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 136 | $prompt_final .= "\n#230 = castanho escuro + 30% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 137 | $prompt_final .= "\n#240 = castanho escuro + 40% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 138 | $prompt_final .= "\n#250 = castanho escuro + 50% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 139 | $prompt_final .= "\n#310 = castanho médio + 10% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 140 | $prompt_final .= "\n#320 = castanho médio + 20% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 141 | $prompt_final .= "\n#330 = castanho médio + 30% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 142 | $prompt_final .= "\n#340 = castanho médio + 40% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 143 | $prompt_final .= "\n#410 = castanho + 10% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 144 | $prompt_final .= "\n#420 = castanho + 20% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 145 | $prompt_final .= "\n#430 = castanho + 30% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 146 | $prompt_final .= "\n#440 = castanho + 40% branco"; | Manipula uma variável PHP usada na construção do fluxo. |
| 147 | $prompt_final .= "\n6. É obrigatório respeitar o grisalho visível da foto. Se houver branco/grisalho, retornar o código com percentual de branco correspondente da lista permitida."; | Manipula uma variável PHP usada na construção do fluxo. |
| 148 | $prompt_final .= "\n7. Não simplifique uma cor grisalha para uma cor sólida. Exemplo: não retornar #1B se houver percentual visível de branco."; | Manipula uma variável PHP usada na construção do fluxo. |
| 149 | $prompt_final .= "\n8. densidade_detectada deve ser SOMENTE um destes valores:"; | Manipula uma variável PHP usada na construção do fluxo. |
| 150 | $prompt_final .= "\n80%, 100%, 130%, 150%"; | Manipula uma variável PHP usada na construção do fluxo. |
| 151 | $prompt_final .= "\n9. grau_falha NÃO deve ser calculado pela IA."; | Manipula uma variável PHP usada na construção do fluxo. |
| 152 | $prompt_final .= "\n10. grau_falha deve retornar exatamente este valor já existente no sistema: " . $grau_falha_banco; | Manipula uma variável PHP usada na construção do fluxo. |
| 153 | $prompt_final .= "\n11. sugestao_protese deve ser SOMENTE um dos modelos abaixo:"; | Manipula uma variável PHP usada na construção do fluxo. |
| 154 | $prompt_final .= "\nMicropele 0.04, Micropele 0.06, Micropele 0.08, Micropele 0.10"; | Manipula uma variável PHP usada na construção do fluxo. |
| 155 | $prompt_final .= "\n12. A sugestão de prótese deve respeitar o que o profissional utiliza no sistema, sem inventar outro modelo."; | Manipula uma variável PHP usada na construção do fluxo. |
| 156 | $prompt_final .= "\n13. Se houver dúvida entre dois códigos, escolha o código permitido mais próximo visualmente, mantendo o percentual de branco aparente."; | Manipula uma variável PHP usada na construção do fluxo. |
| 157 | $prompt_final .= "\n14. Nunca invente formato novo fora da lista permitida."; | Manipula uma variável PHP usada na construção do fluxo. |
| 158 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 159 | $prompt_final .= "\n\nExemplo de resposta válida:"; | Manipula uma variável PHP usada na construção do fluxo. |
| 160 | $prompt_final .= '\n{"cor_detectada":"#310","densidade_detectada":"100%","grau_falha":"15 X 24","sugestao_protese":"Micropele 0.08"}'; | Manipula uma variável PHP usada na construção do fluxo. |
| 161 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 162 | $modelo_ia = 'gpt-4o'; | Define `$modelo_ia` com um valor literal usado como configuração local do arquivo. |
| 163 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 164 | $dados = array( | Define a variável `$dados`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 165 | 'model' => $modelo_ia, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 166 | 'input' => array( | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 167 | array( | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 168 | 'role' => 'user', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 169 | 'content' => array( | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 170 | array( | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 171 | 'type' => 'input_text', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 172 | 'text' => $prompt_final | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 173 | ), | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 174 | array( | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 175 | 'type' => 'input_image', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 176 | 'image_url' => $imagem_data_url | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 177 | ) | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 178 | ) | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 179 | ) | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 180 | ) | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 181 | ); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 182 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 183 | $ch = curl_init(); | Define a variável `$ch`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 184 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 185 | curl_setopt($ch, CURLOPT_URL, "https://api.openai.com/v1/responses"); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 186 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 187 | curl_setopt($ch, CURLOPT_POST, true); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 188 | curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 189 | curl_setopt($ch, CURLOPT_TIMEOUT, 90); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 190 | curl_setopt($ch, CURLOPT_HTTPHEADER, array( | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 191 | "Content-Type: application/json", | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 192 | "Authorization: Bearer " . $openai_key | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 193 | )); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 194 | curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($dados)); | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 195 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 196 | $resposta = curl_exec($ch); | Define a variável `$resposta`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 197 | $http = curl_getinfo($ch, CURLINFO_HTTP_CODE); | Define a variável `$http`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 198 | $erro = curl_error($ch); | Define a variável `$erro`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 199 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 200 | curl_close($ch); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 201 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 202 | if($erro != ""){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 203 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 204 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 205 | 'mensagem' => 'Erro ao processar análise' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 206 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 207 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 208 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 209 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 210 | if($resposta == ""){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 211 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 212 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 213 | 'mensagem' => 'Resposta vazia da análise' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 214 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 215 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 216 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 217 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 218 | $resposta_decodificada = json_decode($resposta, true); | Define a variável `$resposta_decodificada`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 219 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 220 | if(!is_array($resposta_decodificada)){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 221 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 222 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 223 | 'mensagem' => 'Resposta inválida da análise' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 224 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 225 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 226 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 227 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 228 | if($http != 200){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 229 | $mensagem_erro = 'Erro ao processar análise'; | Define `$mensagem_erro` com um valor literal usado como configuração local do arquivo. |
| 230 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 231 | if(isset($resposta_decodificada['error']['message']) && $resposta_decodificada['error']['message'] != ''){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 232 | $mensagem_erro = $resposta_decodificada['error']['message']; | Define a variável `$mensagem_erro`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 233 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 234 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 235 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 236 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 237 | 'mensagem' => $mensagem_erro | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 238 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 239 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 240 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 241 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 242 | $texto_resposta = ''; | Define `$texto_resposta` com um valor literal usado como configuração local do arquivo. |
| 243 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 244 | if(isset($resposta_decodificada['output']) && is_array($resposta_decodificada['output'])){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 245 | for($i = 0; $i < count($resposta_decodificada['output']); $i++){ | Inicia um laço de repetição para percorrer registros, opções ou elementos da interface. |
| 246 | if(isset($resposta_decodificada['output'][$i]['content']) && is_array($resposta_decodificada['output'][$i]['content'])){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 247 | for($j = 0; $j < count($resposta_decodificada['output'][$i]['content']); $j++){ | Inicia um laço de repetição para percorrer registros, opções ou elementos da interface. |
| 248 | if( | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 249 | isset($resposta_decodificada['output'][$i]['content'][$j]['type']) && | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 250 | $resposta_decodificada['output'][$i]['content'][$j]['type'] == 'output_text' | Manipula uma variável PHP usada na construção do fluxo. |
| 251 | ){ | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 252 | $texto_resposta .= $resposta_decodificada['output'][$i]['content'][$j]['text']; | Manipula uma variável PHP usada na construção do fluxo. |
| 253 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 254 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 255 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 256 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 257 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 258 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 259 | if($texto_resposta == '' && isset($resposta_decodificada['output_text'])){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 260 | $texto_resposta = $resposta_decodificada['output_text']; | Define a variável `$texto_resposta`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 261 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 262 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 263 | if($texto_resposta == ''){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 264 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 265 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 266 | 'mensagem' => 'A IA não retornou dados para análise' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 267 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 268 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 269 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 270 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 271 | $texto_resposta = trim($texto_resposta); | Inicializa `$texto_resposta` já removendo espaços nas pontas, reduzindo ruído antes de validar ou salvar. |
| 272 | $texto_resposta = preg_replace('/^```json/i', '', $texto_resposta); | Define a variável `$texto_resposta`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 273 | $texto_resposta = preg_replace('/^```/i', '', $texto_resposta); | Define a variável `$texto_resposta`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 274 | $texto_resposta = preg_replace('/```$/i', '', $texto_resposta); | Define a variável `$texto_resposta`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 275 | $texto_resposta = trim($texto_resposta); | Inicializa `$texto_resposta` já removendo espaços nas pontas, reduzindo ruído antes de validar ou salvar. |
| 276 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 277 | $dados_ia = json_decode($texto_resposta, true); | Define a variável `$dados_ia`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 278 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 279 | if(!is_array($dados_ia)){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 280 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 281 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 282 | 'mensagem' => 'A IA retornou um formato inválido' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 283 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 284 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 285 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 286 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 287 | $cor_detectada = isset($dados_ia['cor_detectada']) ? trim($dados_ia['cor_detectada']) : ''; | Inicializa `$cor_detectada` já removendo espaços nas pontas, reduzindo ruído antes de validar ou salvar. |
| 288 | $densidade_detectada = isset($dados_ia['densidade_detectada']) ? trim($dados_ia['densidade_detectada']) : ''; | Inicializa `$densidade_detectada` já removendo espaços nas pontas, reduzindo ruído antes de validar ou salvar. |
| 289 | $grau_falha = isset($dados_ia['grau_falha']) ? trim($dados_ia['grau_falha']) : ''; | Inicializa `$grau_falha` já removendo espaços nas pontas, reduzindo ruído antes de validar ou salvar. |
| 290 | $sugestao_protese = isset($dados_ia['sugestao_protese']) ? trim($dados_ia['sugestao_protese']) : ''; | Inicializa `$sugestao_protese` já removendo espaços nas pontas, reduzindo ruído antes de validar ou salvar. |
| 291 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 292 | $cores_permitidas = array( | Define a variável `$cores_permitidas`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 293 | '#1B', '#1B10', '#1B20', '#1B30', '#1B40', '#1B50', '#1B60', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 294 | '#2', '#210', '#220', '#230', '#240', '#250', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 295 | '#3', '#310', '#320', '#330', '#340', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 296 | '#4', '#410', '#420', '#430', '#440', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 297 | '#5', '#6' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 298 | ); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 299 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 300 | $densidades_permitidas = array('80%', '100%', '130%', '150%'); | Define a variável `$densidades_permitidas`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 301 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 302 | $modelos_permitidos = array( | Define a variável `$modelos_permitidos`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 303 | 'Micropele 0.04', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 304 | 'Micropele 0.06', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 305 | 'Micropele 0.08', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 306 | 'Micropele 0.10' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 307 | ); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 308 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 309 | if(!in_array($cor_detectada, $cores_permitidas)){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 310 | $cor_detectada = ''; | Define `$cor_detectada` com um valor literal usado como configuração local do arquivo. |
| 311 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 312 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 313 | if(!in_array($densidade_detectada, $densidades_permitidas)){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 314 | $densidade_detectada = ''; | Define `$densidade_detectada` com um valor literal usado como configuração local do arquivo. |
| 315 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 316 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 317 | if(!in_array($sugestao_protese, $modelos_permitidos)){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 318 | $sugestao_protese = ''; | Define `$sugestao_protese` com um valor literal usado como configuração local do arquivo. |
| 319 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 320 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 321 | if($grau_falha_banco != ""){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 322 | $grau_falha = $grau_falha_banco; | Define a variável `$grau_falha`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 323 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 324 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 325 | if($cor_detectada == "" && $densidade_detectada == "" && $sugestao_protese == ""){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 326 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 327 | 'status' => 'Erro', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 328 | 'mensagem' => 'A IA não retornou dados válidos dentro do padrão' | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 329 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 330 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 331 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 332 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 333 | $query3 = $pdo->prepare("UPDATE $tabela SET | Centraliza o nome da tabela `tabela` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo. |
| 334 | cor_detectada = :cor_detectada, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 335 | densidade_detectada = :densidade_detectada, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 336 | grau_falha = :grau_falha, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 337 | sugestao_protese = :sugestao_protese | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 338 | WHERE id = :id"); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 339 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 340 | $query3->bindValue(":cor_detectada", $cor_detectada); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 341 | $query3->bindValue(":densidade_detectada", $densidade_detectada); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 342 | $query3->bindValue(":grau_falha", $grau_falha); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 343 | $query3->bindValue(":sugestao_protese", $sugestao_protese); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 344 | $query3->bindValue(":id", $id); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 345 | $query3->execute(); | Executa a query preparada no banco de dados. |
| 346 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 347 | echo json_encode(array( | Converte o array de resposta para JSON antes de devolver ao front-end. |
| 348 | 'status' => 'Sucesso', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 349 | 'mensagem' => 'Análise processada com sucesso', | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 350 | 'cor_detectada' => $cor_detectada, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 351 | 'densidade_detectada' => $densidade_detectada, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 352 | 'grau_falha' => $grau_falha, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 353 | 'sugestao_protese' => $sugestao_protese | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 354 | ), JSON_UNESCAPED_UNICODE); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 355 | ?> | Fecha o bloco PHP atual para voltar à saída HTML. |