Gestione Utenti
Totale utenti registrati:
| Nome | Stato Email | Registrato il | Ultimo Accesso | Acquisti | Speso | Status | Azioni | |
|---|---|---|---|---|---|---|---|---|
| โ Verificata โ ๏ธ Non verificata | โ Attivo โ Bloccato | ๐ง Re-Invia |
Nessun utente registrato ancora.
prepare("UPDATE users SET is_active = NOT is_active WHERE id = ?"); if ($stmt->execute([$user_id])) { set_flash_message('success', 'Stato utente aggiornato'); } else { set_flash_message('error', 'Errore durante l\'aggiornamento'); } header('Location: users.php'); exit; } // Gestione re-invio email verifica if (isset($_GET['resend_verification']) && is_numeric($_GET['resend_verification'])) { $user_id = (int)$_GET['resend_verification']; try { $pdo = get_db_connection(); $stmt = $pdo->prepare("SELECT id, email, first_name, email_verified FROM users WHERE id = ?"); $stmt->execute([$user_id]); $user = $stmt->fetch(); if ($user && !$user['email_verified']) { // Genera nuovo token $email_token = bin2hex(random_bytes(32)); $token_expires = date('Y-m-d H:i:s', strtotime('+24 hours')); $stmt = $pdo->prepare("UPDATE users SET email_token = ?, email_token_expires = ? WHERE id = ?"); $stmt->execute([$email_token, $token_expires, $user_id]); // Invia email $verify_url = SITE_URL . "/verify_email.php?token=" . $email_token; $subject = "Conferma il tuo account su " . SITE_NAME; $body = "
Ciao " . htmlspecialchars($user['first_name']) . ",
Un amministratore ha inviato nuovamente il link di verifica per il tuo account.
Questo link รจ valido per 24 ore.
"; send_email($user['email'], $subject, $body); set_flash_message('success', 'Email di verifica inviata a ' . htmlspecialchars($user['email'])); } else { set_flash_message('error', 'Utente giร verificato o non trovato'); } } catch (Exception $e) { set_flash_message('error', 'Errore durante l\'invio dell\'email'); } header('Location: users.php'); exit; } // Ottieni tutti gli utenti non admin $pdo = get_db_connection(); $stmt = $pdo->query(" SELECT u.*, COUNT(DISTINCT p.id) as purchase_count, SUM(CASE WHEN p.status = 'completed' THEN p.amount ELSE 0 END) as total_spent FROM users u LEFT JOIN purchases p ON u.id = p.user_id WHERE u.is_admin = 0 AND u.deleted_at IS NULL GROUP BY u.id ORDER BY u.created_at DESC "); $users = $stmt->fetchAll(); ?>
Admin
Totale utenti registrati:
| Nome | Stato Email | Registrato il | Ultimo Accesso | Acquisti | Speso | Status | Azioni | |
|---|---|---|---|---|---|---|---|---|
| โ Verificata โ ๏ธ Non verificata | โ Attivo โ Bloccato | ๐ง Re-Invia |
Nessun utente registrato ancora.