$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 31 de 72 - Special Imóveis

Sobrado na Vila Santa Isabel com 225 metros.

Este sobrado à venda na Vila Santa Isabel possui uma excelente área de 225 m² e é ideal para quem busca conforto e espaço. O imóvel conta com 4 quartos, sendo 1 suíte, proporcionando privacidade e praticidade para a família. Além disso, oferece 3 vagas de garagem, garantindo comodidade e segurança. A casa é bem […]

Sobrado com 3 quartos à venda, Vila Carrão, 154m2

Sobrado à venda na Vila Carrão, 154m2 Próximo a Rua 19 de Janeiro, terreno 5 X50 metros. 3 dormitórios, sendo 1 suíte, closet, varanda,sala 2 ambientes, copa e cozinha, 2 garagens, quintal grande bom para espaço gourmet e piscina.

Sobrado condomínio na Vila Carrão.

Sobrado de condomínio na Vila Carrão. Ótimo em Rua nobre. 3 suítes. Closet. Sala e cozinha amplas. 4 vagas de garagem. Área gourmet com churrasqueira. Quintal. Entrada lateral. Ótimo acabamento. Próximo a todo comércio, bancos, escolas; a poucos minutos do Shopping Anália Franco, fácil acesso a linhas de ônibus e metrô bem como as principais […]

Terreno com 5,50X17, 93 m² de terreno

Terreno com 5,50X17, 93 m² de terreno Localizada na Vila Carrão próxima ao comércio, farta condução, necessitando de reparos; Não aceita financiamento. REF. AF18996

Apartamento à venda na Vila Carrão.

Apartamento à venda na Vila Carrão. Área: 90 m² bem distribuídos 2 suítes Sala ampliada Cozinha funcional Varanda gourmet espaçosa, já envidraçada 2 vagas de garagem + depósito amplo Lazer completo Localização privilegiada: Rua nobre da Vila Carrão Próximo a todo comércio, Shopping Anália Franco e Parque Ceret Fácil acesso a linhas de ônibus, metrô […]

Terreno a venda na Vila Carrão.

Terreno com casas na Vila Carrão. Com 248 metros próximo a 19 de janeiro com 3 casas no quintal sendo todas elas com 1 dormitório, sala, cozinha e banheiro. Ótimo para renda ou construtor. REF. TA5926

Apartamento na Vila Carrão.

Apartamento na Vila Carrão. Novo, com 2 dormitórios, todo em porcelanato, sacada. Próximo aos principais comércios, a futura estacão de Metrô, Apartamento à venda na Vila Carrão. Novo com 2 dormitórios, todo em porcelanato, sacada. Próximo aos principais comércios, a futura estacão de Metrô, fácil acesso a locais como Casa da Criança Betinho Lar Espírita […]

WhatsApp