$id = absint($_GET['id'] ?? 0); check_admin_referer('sa_download_' . $id); global $wpdb; $r = $wpdb->get_row($wpdb->prepare('SELECT * FROM ' . $wpdb->prefix . 'special_auditor_files WHERE id = %d', $id)); if (!$r || !preg_match('/^[a-f0-9]{40}\.pdf$/', $r->stored_name)) wp_die('Documento não encontrado.', '', ['response'=>404]); $dir = sa_storage_status(); if (is_wp_error($dir)) wp_die('Armazenamento indisponível.'); $path = $dir . DIRECTORY_SEPARATOR . $r->stored_name; if (!is_file($path)) wp_die('Documento não encontrado.', '', ['response'=>404]); while (ob_get_level()) ob_end_clean(); nocache_headers(); header('Content-Type: application/pdf'); header('X-Content-Type-Options: nosniff'); header('Content-Disposition: attachment; filename="documento-' . $id . '.pdf"'); header('Content-Length: ' . filesize($path)); readfile($path); exit; }); // Credencial protegida em repouso: AES-256-GCM com chave derivada dos segredos do WordPress. // Se os salts do WordPress forem alterados, será necessário cadastrar a chave novamente. function sa_ai_crypto_key() { if (!function_exists('openssl_encrypt') || !function_exists('openssl_decrypt') || !defined('AUTH_KEY') || !defined('SECURE_AUTH_KEY') || !defined('LOGGED_IN_KEY') || !defined('NONCE_KEY')) return false; return hash('sha256', AUTH_KEY . SECURE_AUTH_KEY . LOGGED_IN_KEY . NONCE_KEY . 'special-auditor-openai-v1', true); } function sa_ai_encrypt($secret) { $key = sa_ai_crypto_key(); if (!$key || !in_array('aes-256-gcm', openssl_get_cipher_methods(), true)) return false; try { $iv = random_bytes(12); } catch (Exception $e) { return false; } $tag = ''; $cipher = openssl_encrypt($secret, 'aes-256-gcm', $key, OPENSSL_RAW_DATA, $iv, $tag); return $cipher === false ? false : base64_encode($iv . $tag . $cipher); } function sa_ai_secret() { $encoded = get_option('sa_ai_secret_v1', ''); if (!is_string($encoded) || $encoded === '') return ''; $raw = base64_decode($encoded, true); $key = sa_ai_crypto_key(); if (!$key || $raw === false || strlen($raw) < 29) return ''; $plain = openssl_decrypt(substr($raw, 28), 'aes-256-gcm', $key, OPENSSL_RAW_DATA, substr($raw, 0, 12), substr($raw, 12, 16)); return $plain === false ? '' : $plain; } function sa_ai_settings_page() { if (!current_user_can('manage_options')) wp_die('Acesso não autorizado.', '', ['response'=>403]); $configured = sa_ai_secret() !== ''; echo '

Special Auditor — Integração OpenAI

'; $notice = isset($_GET['sa_ai_notice']) ? sanitize_key(wp_unslash($_GET['sa_ai_notice'])) : ''; $messages = [ 'saved'=>['updated','Chave salva de forma criptografada.'], 'removed'=>['updated','Chave removida.'], 'invalid'=>['error','Informe uma chave de API válida.'], 'crypto'=>['error','Criptografia AES-256-GCM indisponível no servidor. Nada foi salvo.'], 'ok'=>['updated','Conexão com a API OpenAI confirmada.'], 'failed'=>['error','Não foi possível confirmar a conexão. Verifique a chave, permissões e conectividade do servidor.'] ]; if (isset($messages[$notice])) echo '

' . esc_html($messages[$notice][1]) . '

'; echo '

Status da chave: ' . ($configured ? 'Configurada' : 'Não configurada') . '

'; echo '

A chave não é exibida após o salvamento. Apenas administradores podem alterá-la. A configuração ainda não envia PDFs à OpenAI.

'; echo '
'; echo '' . wp_nonce_field('sa_ai_save', '_sa_ai_nonce', true, false); echo '

'; echo '

'; if ($configured) { echo '
'; echo '' . wp_nonce_field('sa_ai_test', '_sa_ai_nonce', true, false); echo '
'; echo '
'; echo '' . wp_nonce_field('sa_ai_remove', '_sa_ai_nonce', true, false); echo '
'; } echo '

Versão 1.3.0 — Credencial preservada. Extração e auditoria financeira ainda não habilitadas.

'; } function sa_ai_redirect($notice) { wp_safe_redirect(add_query_arg('sa_ai_notice', $notice, admin_url('admin.php?page=special-auditor-ai'))); exit; } add_action('admin_post_sa_ai_save', function () { if (!current_user_can('manage_options')) wp_die('Acesso não autorizado.', '', ['response'=>403]); check_admin_referer('sa_ai_save', '_sa_ai_nonce'); $secret = isset($_POST['sa_ai_key']) && is_string($_POST['sa_ai_key']) ? trim(wp_unslash($_POST['sa_ai_key'])) : ''; if (!preg_match('/^sk-[A-Za-z0-9_-]{16,}$/', $secret) || strlen($secret) > 512) sa_ai_redirect('invalid'); $encrypted = sa_ai_encrypt($secret); if ($encrypted === false) sa_ai_redirect('crypto'); update_option('sa_ai_secret_v1', $encrypted, false); sa_ai_redirect('saved'); }); add_action('admin_post_sa_ai_remove', function () { if (!current_user_can('manage_options')) wp_die('Acesso não autorizado.', '', ['response'=>403]); check_admin_referer('sa_ai_remove', '_sa_ai_nonce'); delete_option('sa_ai_secret_v1'); sa_ai_redirect('removed'); }); add_action('admin_post_sa_ai_test', function () { if (!current_user_can('manage_options')) wp_die('Acesso não autorizado.', '', ['response'=>403]); check_admin_referer('sa_ai_test', '_sa_ai_nonce'); $secret = sa_ai_secret(); if ($secret === '') sa_ai_redirect('failed'); $response = wp_remote_get('https://api.openai.com/v1/models', [ 'timeout'=>20, 'redirection'=>0, 'headers'=>['Authorization'=>'Bearer ' . $secret, 'Accept'=>'application/json'] ]); if (is_wp_error($response)) sa_ai_redirect('failed'); sa_ai_redirect(wp_remote_retrieve_response_code($response) === 200 ? 'ok' : 'failed'); }); Arquivo de Vila Carrão - Página 33 de 72 - Special Imóveis

Casa com 3 quartos à venda na Vila Carrão.

Casa à venda na Vila Carrão. Terreno 8×29,75 metros. Você está em busca de um novo lar? Temos a oportunidade perfeita para você! Detalhes do Imóvel: Localização: Vila Carrão Terreno: 238 metros quadrados Dormitórios: 3 Suítes: 3 Banheiros: 3 Vagas de Garagem: 4 Esta encantadora casa oferece amplo espaço para toda a família, com três […]

Sobrado residencial com 3 quartos à venda, Vila Carrão.

Sobrado na Vila Carrão. Em terreno de 8 x 25, com 5 vagas, são 2 casas independentes, ótima localização. Entrada lateral, churrasqueira, lavanderia, quintal com cobertura em Zetaflex. Pode ser para residência ou comercial. REF. AF14613

Apartamento na Vila Carrão.

Apartamento tipo Studio para venda na Vila Carrão com 34 metros, 2 dormitórios, oportunidade não perca. Rua bem localizado no bairro entre a rua Rogerio Giorgi e Avenida Conselheiro Carrão próximo a comercio em geral. REF. AF27809

Apartamento de 60 metros Jardim Têxtil.

Apartamento de 60 metros no Jardim Têxtil, com 2 dormitórios, sala, cozinha, 1 banheiro, sacada, lazer, 1 vaga fixa e escriturada. Em rua nobre do bairro, proximo a todo comércio, a poucos minutos do Shopping Anália Franco e clube Cerét, fácil acesso a linhas de ônibus e metrô bem como as principais avenidas e marginais. […]

Sobrado com 3 quartos a venda na Vila Carrão com 132 metros.

Está à venda um magnífico sobrado localizado na Vila Carrão, com 132 m² de área construída. Este imóvel destaca-se pelo seu fino acabamento e decoração sofisticada, contando com armários planejados em diversos ambientes, proporcionando praticidade e elegância. O sobrado possui 2 dormitórios, sendo 1 suíte com sacada, garantindo conforto e privacidade para a família e […]

Terreno a venda na Vila Carrão.

Terreno a venda na Vila Carrão , 500 m² com ótima localização à 5 minutos do Shopping Analia Franco. REF. AF25334 Sobre a imobiliária: A Special Imóveis é especialista em administrar carteira imobiliária, intermediar negociações de compra, venda e locação de imóveis. Sempre comprometida em realizar as negociações com a máxima segurança jurídica aos clientes. […]

Apartamento na Vila Carrão novo com 2 quartos, sacada e 1 vaga de garagem.

Apartamento novo na Vila Carrão com 39 metros. Equilíbrio entre espaço e conforto, esta planta oferece o melhor em praticidade, ideal para quem precisa de mais espaço sem perder a funcionalidade. Com 2 quartos, sala de estar e jantar conjugadas, criando um ambiente amplo e iluminado. Cozinha americana com bancada moderna e espaço para eletrodomésticos, […]

Sobrado à venda, Vila Carrão.

Sobrado à venda na Vila Carrão, suíte com terraço, Quintal com entrada lateral e churrasqueira, bem localizado. REF. AF3657

WhatsApp