File manager - Edit - /home/webapp69.cm.in.th/u69319090048/shop69319090048/analytics.php
Back
<?php // PHP 7.4 compatible analytics logging system. // Saves daily metrics in data/analytics.json. if (session_status() === PHP_SESSION_NONE) { session_start(); } require_once __DIR__ . '/db.php'; function init_analytics_file() { // No-op for backward compatibility since we transitioned to MySQL } function load_analytics_data() { $data = array(); try { $db = get_db_connection(); if ($db) { $stmt = $db->query("SELECT * FROM analytics ORDER BY date ASC"); while ($row = $stmt->fetch()) { $data[$row['date']] = array( 'visitors' => (int)$row['visitors'], 'order_requests' => (int)$row['order_requests'], 'items_sold' => (int)$row['items_sold'], 'amount_sold' => (float)$row['amount_sold'] ); } } } catch (Exception $e) { error_log("Failed to load analytics: " . $e->getMessage()); } return $data; } function save_analytics_data($data) { // No-op since tracking functions perform real-time updates direct to database } function get_today_key() { return date('Y-m-d'); } // Track unique daily visitor session function track_visitor() { $today = get_today_key(); if (!isset($_SESSION['visited_today']) || $_SESSION['visited_today'] !== $today) { $_SESSION['visited_today'] = $today; try { $db = get_db_connection(); if ($db) { $stmt = $db->prepare("INSERT INTO analytics (date, visitors, order_requests, items_sold, amount_sold) VALUES (:date, 1, 0, 0, 0.0) ON DUPLICATE KEY UPDATE visitors = visitors + 1"); $stmt->execute(array('date' => $today)); } } catch (Exception $e) { error_log("Failed to track visitor: " . $e->getMessage()); } } } // Track checkout attempt (bag-to-checkout conversion hit) function track_order_request() { $today = get_today_key(); try { $db = get_db_connection(); if ($db) { $stmt = $db->prepare("INSERT INTO analytics (date, visitors, order_requests, items_sold, amount_sold) VALUES (:date, 0, 1, 0, 0.0) ON DUPLICATE KEY UPDATE order_requests = order_requests + 1"); $stmt->execute(array('date' => $today)); } } catch (Exception $e) { error_log("Failed to track order request: " . $e->getMessage()); } } // Track items sold and sales amounts on order success function track_checkout_success($items_count, $total_amount) { $today = get_today_key(); try { $db = get_db_connection(); if ($db) { $stmt = $db->prepare("INSERT INTO analytics (date, visitors, order_requests, items_sold, amount_sold) VALUES (:date, 0, 0, :items, :amount) ON DUPLICATE KEY UPDATE items_sold = items_sold + :items, amount_sold = amount_sold + :amount"); $stmt->execute(array( 'date' => $today, 'items' => $items_count, 'amount' => $total_amount )); } } catch (Exception $e) { error_log("Failed to track checkout success: " . $e->getMessage()); } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.25 |
proxy
|
phpinfo
|
Settings