Changeset 3436209
- Timestamp:
- 01/09/2026 06:10:16 PM (3 months ago)
- Location:
- digi-report/trunk
- Files:
-
- 2 edited
-
digi-report.php (modified) (4 diffs)
-
readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
digi-report/trunk/digi-report.php
r3436192 r3436209 3 3 Plugin Name: Digi Report 4 4 Description: A plugin that generates and sends WordPress maintenance reports via email (Integrated with Independent Analytics). 5 Version: 2.7. 35 Version: 2.7.4 6 6 Author: DigiPerforma - Marketing Digital [digiperforma.com.br] 7 7 License: GPLv2 or later … … 112 112 <?php else: ?> 113 113 <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> 120 121 </div> 121 122 <?php endif; ?> … … 142 143 143 144 // ========================================================= 144 // 2. FUNÇÃO: BUSCAR DADOS DO ANALYTICS (FORÇA BRUTA + DEBUG)145 // 2. FUNÇÃO: AUTO-DETECÇÃO DE TABELA (SHERLOCK HOLMES) 145 146 // ========================================================= 146 147 function digi_report_get_analytics_data() { 147 148 global $wpdb; 148 149 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'"); 152 154 153 155 // Datas (Últimos 30 dias) … … 155 157 $end_date = date('Y-m-d'); 156 158 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"); 166 162 return array( 167 163 'active' => false, 168 ' table_name' => $table_views,169 ' error_msg' => $last_error164 'found_table_views' => null, 165 'all_tables' => $all_tables // Lista completa para você ver o nome real 170 166 ); 171 167 } 172 168 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)); 175 172 176 173 $top_pages = $wpdb->get_results($wpdb->prepare( 177 "SELECT page_path as name, COUNT(*) as views FROM $ table_viewsWHERE `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", 178 175 $start_date, $end_date 179 176 ), ARRAY_A); 180 177 181 178 $top_cities = $wpdb->get_results($wpdb->prepare( 182 "SELECT city, COUNT(*) as visitors FROM $ table_sessionsWHERE `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", 183 180 $start_date, $end_date 184 181 ), ARRAY_A); -
digi-report/trunk/readme.txt
r3436192 r3436209 4 4 Requires at least: 5.0 5 5 Tested up to: 6.8 6 Stable tag: 2.7. 36 Stable tag: 2.7.4 7 7 Requires PHP: 7.2 8 8 License: GPLv2 or later
Note: See TracChangeset
for help on using the changeset viewer.