prefix . 'wof_wheels';
$wheels = $wpdb->get_results("SELECT * FROM $wheels_table ORDER BY id ASC", ARRAY_A);
// Izberi kolo (privzeto prvo)
$selected_wheel_id = isset($_GET['wheel_id']) ? intval($_GET['wheel_id']) : 1;
$selected_wheel = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wheels_table WHERE id = %d", $selected_wheel_id), ARRAY_A);
if (!$selected_wheel) {
$selected_wheel_id = 1;
$selected_wheel = $wpdb->get_row("SELECT * FROM $wheels_table WHERE id = 1", ARRAY_A);
}
// Obdelaj akcije
if (isset($_POST['add_spins_submit'])) {
check_admin_referer('wheel_add_spins_nonce', 'wheel_add_spins_nonce');
$user_id = intval($_POST['user_id']);
$spins = intval($_POST['spins']);
$wheel_id = intval($_POST['wheel_id']);
if ($user_id > 0 && $spins > 0 && $wheel_id > 0) {
$spins_table = $wpdb->prefix . 'wheel_spins';
// Preveri, če uporabnik že ima zapis za to kolo
$existing = $wpdb->get_var($wpdb->prepare(
"SELECT id FROM $spins_table WHERE user_id = %d AND wheel_id = %d",
$user_id, $wheel_id
));
if ($existing) {
$wpdb->query($wpdb->prepare(
"UPDATE $spins_table SET spins_available = spins_available + %d WHERE user_id = %d AND wheel_id = %d",
$spins, $user_id, $wheel_id
));
} else {
$wpdb->insert($spins_table, [
'user_id' => $user_id,
'wheel_id' => $wheel_id,
'spins_available' => $spins,
'last_spin_date' => null
], ['%d', '%d', '%d', '%s']);
}
echo '
' .
sprintf(__('Uporabniku ID %d je bilo uspešno dodanih %d spinov za kolo %s.', 'wheel-of-fortune'), $user_id, $spins, $selected_wheel['name']) .
'
';
}
}
if (isset($_POST['reset_spins_submit'])) {
check_admin_referer('wheel_reset_spins_nonce', 'wheel_reset_spins_nonce');
$user_id = intval($_POST['user_id']);
$wheel_id = intval($_POST['wheel_id']);
if ($user_id > 0 && $wheel_id > 0) {
$spins_table = $wpdb->prefix . 'wheel_spins';
$wpdb->update(
$spins_table,
array('spins_available' => 0),
array('user_id' => $user_id, 'wheel_id' => $wheel_id)
);
echo '' .
sprintf(__('Spini uporabnika ID %d za kolo %s so bili uspešno ponastavljeni na 0.', 'wheel-of-fortune'), $user_id, $selected_wheel['name']) .
'
';
}
}
// Pridobi podatke o uporabnikih
$users_table = $wpdb->prefix . 'users';
$spins_table = $wpdb->prefix . 'wheel_spins';
$log_table = $wpdb->prefix . 'wheel_log';
$prizes_table = $wpdb->prefix . 'wheel_prizes';
// Iskanje uporabnikov
$search = isset($_GET['s']) ? sanitize_text_field($_GET['s']) : '';
$search_condition = '';
if (!empty($search)) {
$search_condition = $wpdb->prepare(
"AND (u.user_login LIKE %s OR u.user_email LIKE %s OR u.display_name LIKE %s)",
"%{$search}%",
"%{$search}%",
"%{$search}%"
);
}
// Pridobi uporabnike z spin-i za izbrano kolo
$users = $wpdb->get_results(
$wpdb->prepare(
"SELECT u.ID, u.user_login, u.user_email, u.display_name,
COALESCE(s.spins_available, 0) as spins_available,
COUNT(l.id) as total_spins
FROM {$users_table} u
LEFT JOIN {$spins_table} s ON u.ID = s.user_id AND s.wheel_id = %d
LEFT JOIN {$log_table} l ON u.ID = l.user_id AND l.wheel_id = %d
WHERE 1=1 {$search_condition}
GROUP BY u.ID
HAVING total_spins > 0 OR spins_available > 0
ORDER BY total_spins DESC",
$selected_wheel_id, $selected_wheel_id
),
ARRAY_A
);
// Izbrani uporabnik za urejanje
$selected_user_id = isset($_GET['edit_user']) ? intval($_GET['edit_user']) : 0;
$selected_user = null;
$user_prizes = array();
if ($selected_user_id > 0) {
$selected_user = get_userdata($selected_user_id);
if ($selected_user) {
// Pridobi spine za izbrano kolo
$spins = $wpdb->get_var($wpdb->prepare(
"SELECT spins_available FROM $spins_table WHERE user_id = %d AND wheel_id = %d",
$selected_user_id, $selected_wheel_id
));
$spins = $spins ?: 0;
// Pridobi nagrade uporabnika za izbrano kolo
$user_prizes = $wpdb->get_results(
$wpdb->prepare(
"SELECT l.id, p.name as prize_name, p.description as prize_description,
l.spin_date, l.redeemed
FROM {$log_table} l
JOIN {$prizes_table} p ON l.prize_id = p.id
WHERE l.user_id = %d AND l.wheel_id = %d
ORDER BY l.spin_date DESC",
$selected_user_id, $selected_wheel_id
),
ARRAY_A
);
}
}
?>
display_name)); ?>
|
|
|
|
|
|
|
|
|
|
' . esc_html__('Unovčeno', 'wheel-of-fortune') :
' ' . esc_html__('Neunovčeno', 'wheel-of-fortune');
?>
|
|
0) : ?>