Countdown Admin
$i,
’name‘ => „Countdown $i“,
‚duration‘ => 3600,
’start_time‘ => null,
‚is_running‘ => false,
‚remaining_at_pause‘ => 3600
];
}
update_option(‚rrc_countdown_frontend_data‘, $default_data);
}
}
// AJAX Handler für Datenabruf (öffentlich)
add_action(‚wp_ajax_rrc_frontend_get_data‘, ‚rrc_frontend_ajax_get_data‘);
add_action(‚wp_ajax_nopriv_rrc_frontend_get_data‘, ‚rrc_frontend_ajax_get_data‘);
function rrc_frontend_ajax_get_data() {
$data = get_option(‚rrc_countdown_frontend_data‘);
wp_send_json($data);
}
// AJAX Handler für Admin-Aktionen
add_action(‚wp_ajax_rrc_frontend_admin_action‘, ‚rrc_frontend_ajax_admin_action‘);
function rrc_frontend_ajax_admin_action() {
// Passwort prüfen
$password = isset($_POST[‚password‘]) ? $_POST[‚password‘] : “;
$admin_password = ‚admin123‘; // ÄNDERN SIE DIESES PASSWORT!
if ($password !== $admin_password) {
wp_send_json([‚error‘ => ‚Falsches Passwort‘]);
}
$action = isset($_POST[‚action_type‘]) ? $_POST[‚action_type‘] : “;
$id = isset($_POST[‚countdown_id‘]) ? intval($_POST[‚countdown_id‘]) : 0;
$data = get_option(‚rrc_countdown_frontend_data‘);
if ($action === ’save‘) {
$data[$id][’name‘] = sanitize_text_field($_POST[’name‘]);
$data[$id][‚duration‘] = intval($_POST[‚minutes‘]) * 60;
if (!$data[$id][‚is_running‘]) {
$data[$id][‚remaining_at_pause‘] = $data[$id][‚duration‘];
}
} elseif ($action === ’start‘) {
if (!$data[$id][‚is_running‘]) {
$data[$id][‚is_running‘] = true;
$data[$id][’start_time‘] = time();
}
} elseif ($action === ’stop‘) {
if ($data[$id][‚is_running‘]) {
$elapsed = time() – $data[$id][’start_time‘];
$data[$id][‚remaining_at_pause‘] -= $elapsed;
$data[$id][‚is_running‘] = false;
$data[$id][’start_time‘] = null;
}
} elseif ($action === ‚reset‘) {
$data[$id][‚is_running‘] = false;
$data[$id][’start_time‘] = null;
$data[$id][‚remaining_at_pause‘] = $data[$id][‚duration‘];
}
update_option(‚rrc_countdown_frontend_data‘, $data);
wp_send_json([’success‘ => true, ‚data‘ => $data]);
}
// Shortcode
add_shortcode(‚rrc_countdown_system‘, ‚rrc_countdown_system_shortcode‘);
function rrc_countdown_system_shortcode() {
ob_start();
?>
