Plugin Directory

Changeset 3436209


Ignore:
Timestamp:
01/09/2026 06:10:16 PM (3 months ago)
Author:
andre.luiz
Message:

Versao 2.7.4 com modo debug para analytics

Location:
digi-report/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • digi-report/trunk/digi-report.php

    r3436192 r3436209  
    33Plugin Name: Digi Report
    44Description: A plugin that generates and sends WordPress maintenance reports via email (Integrated with Independent Analytics).
    5 Version: 2.7.3
     5Version: 2.7.4
    66Author: DigiPerforma - Marketing Digital [digiperforma.com.br]
    77License: GPLv2 or later
     
    112112        <?php else: ?>
    113113            <div class="notice notice-warning inline" style="display:block;">
    114                 <p><strong>Status do Analytics:</strong> Não detectado.</p>
    115                 <p style="font-size:0.85em; color: #666; background: #fff; padding: 5px; border: 1px solid #ccc;">
    116                     <strong>Diagnóstico Técnico:</strong><br>
    117                     Tabela procurada: <code><?php echo esc_html($analytics['table_name']); ?></code><br>
    118                     Erro retornado: <em><?php echo esc_html($analytics['error_msg'] ? $analytics['error_msg'] : 'Tabela vazia ou inexistente'); ?></em>
    119                 </p>
     114                <p><strong>Status do Analytics:</strong> Erro ao encontrar tabela.</p>
     115                <div style="font-size:0.85em; color: #666; background: #fff; padding: 10px; border: 1px solid #ccc; max-height: 200px; overflow: auto;">
     116                    <strong>Relatório de Detetive (Debug):</strong><br>
     117                    1. Nome que tentamos buscar automaticamente: <code><?php echo esc_html($analytics['found_table_views'] ? $analytics['found_table_views'] : 'NENHUMA ENCONTRADA'); ?></code><br>
     118                    2. Lista de TODAS as tabelas encontradas no seu banco:<br>
     119                    <pre><?php print_r($analytics['all_tables']); ?></pre>
     120                </div>
    120121            </div>
    121122        <?php endif; ?>
     
    142143
    143144// =========================================================
    144 // 2. FUNÇÃO: BUSCAR DADOS DO ANALYTICS (FORÇA BRUTA + DEBUG)
     145// 2. FUNÇÃO: AUTO-DETECÇÃO DE TABELA (SHERLOCK HOLMES)
    145146// =========================================================
    146147function digi_report_get_analytics_data() {
    147148    global $wpdb;
    148149
    149     // Constrói o nome esperado da tabela
    150     $table_views = $wpdb->prefix . 'ia_views';
    151     $table_sessions = $wpdb->prefix . 'ia_sessions';
     150    // 1. PROCURA A TABELA CORRETA NO BANCO (Ignorando prefixos padrão)
     151    // Busca qualquer tabela que termine em 'ia_views'
     152    $found_views_table = $wpdb->get_var("SHOW TABLES LIKE '%ia_views'");
     153    $found_sessions_table = $wpdb->get_var("SHOW TABLES LIKE '%ia_sessions'");
    152154
    153155    // Datas (Últimos 30 dias)
     
    155157    $end_date   = date('Y-m-d');
    156158
    157     // TENTA LER DIRETAMENTE (Sem verificar se existe antes)
    158     // Suprime erros para não quebrar a tela se a tabela não existir
    159     $wpdb->suppress_errors();
    160     $views = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $table_views WHERE `date` BETWEEN %s AND %s", $start_date, $end_date));
    161     $last_error = $wpdb->last_error; // Captura erro se houver
    162     $wpdb->suppress_errors(false);
    163 
    164     // Se a variável $views for nula, significa que a query falhou (tabela não existe ou erro de acesso)
    165     if ($views === null) {
     159    // Se NÃO achou a tabela, retorna erro e lista todas as tabelas para debug
     160    if (!$found_views_table) {
     161        $all_tables = $wpdb->get_col("SHOW TABLES");
    166162        return array(
    167163            'active' => false,
    168             'table_name' => $table_views,
    169             'error_msg' => $last_error
     164            'found_table_views' => null,
     165            'all_tables' => $all_tables // Lista completa para você ver o nome real
    170166        );
    171167    }
    172168
    173     // Se chegou aqui, a tabela EXISTE. Busca o resto.
    174     $visitors = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $table_sessions WHERE `date` BETWEEN %s AND %s", $start_date, $end_date));
     169    // Se achou, usa o nome encontrado (seja ele qual for)
     170    $views = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $found_views_table WHERE `date` BETWEEN %s AND %s", $start_date, $end_date));
     171    $visitors = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $found_sessions_table WHERE `date` BETWEEN %s AND %s", $start_date, $end_date));
    175172
    176173    $top_pages = $wpdb->get_results($wpdb->prepare(
    177         "SELECT page_path as name, COUNT(*) as views FROM $table_views WHERE `date` BETWEEN %s AND %s GROUP BY page_path ORDER BY views DESC LIMIT 3",
     174        "SELECT page_path as name, COUNT(*) as views FROM $found_views_table WHERE `date` BETWEEN %s AND %s GROUP BY page_path ORDER BY views DESC LIMIT 3",
    178175        $start_date, $end_date
    179176    ), ARRAY_A);
    180177
    181178    $top_cities = $wpdb->get_results($wpdb->prepare(
    182         "SELECT city, COUNT(*) as visitors FROM $table_sessions WHERE `date` BETWEEN %s AND %s AND city != '' GROUP BY city ORDER BY visitors DESC LIMIT 3",
     179        "SELECT city, COUNT(*) as visitors FROM $found_sessions_table WHERE `date` BETWEEN %s AND %s AND city != '' GROUP BY city ORDER BY visitors DESC LIMIT 3",
    183180        $start_date, $end_date
    184181    ), ARRAY_A);
  • digi-report/trunk/readme.txt

    r3436192 r3436209  
    44Requires at least: 5.0
    55Tested up to: 6.8
    6 Stable tag: 2.7.3
     6Stable tag: 2.7.4
    77Requires PHP: 7.2
    88License: GPLv2 or later
Note: See TracChangeset for help on using the changeset viewer.