StatPress Dashboard

'; // --- MIGRATION NOTICE --- // Show the migration button if it hasn't been completed yet. if ( ! get_option( 'statpress_migration_complete' ) ) { $migration_url = wp_nonce_url( admin_url( 'admin.php?page=statpress-dashboard&action=statpress_migrate_data' ), 'statpress_migration_nonce' ); echo '
'; echo '

Migracja danych StatPress

'; echo '

Wygląda na to, że istnieją dane w starych tabelach (mystat_*), które można przenieść. Kliknij przycisk poniżej, aby rozpocząć proces.

'; echo '

Ważne: Ta operacja jest jednorazowa i powinna być wykonana tylko raz, na pustej instalacji wtyczki StatPress.

'; echo 'Rozpocznij migrację danych'; echo '
'; } // Show the results of the migration after it's done. $migration_results = get_transient( 'statpress_migration_results' ); if ( $migration_results ) { echo '
'; echo '

Migracja zakończona!

'; echo ''; echo '

Twoje dane powinny być teraz widoczne. Stare tabele (' . esc_html( $GLOBALS['wpdb']->prefix ) . 'mystat_*) wciąż istnieją w bazie danych, ale nie są już używane. Możesz je usunąć ręcznie (np. przez phpMyAdmin), jeśli wszystko działa poprawnie.

'; echo '
'; delete_transient( 'statpress_migration_results' ); } // --- END MIGRATION NOTICE --- statpress_render_history_table(); echo ''; } function statpress_render_history_table() { global $wpdb; // Definicje nazw tabel (z uwzględnieniem prefixu WP, jeśli był użyty przy tworzeniu) // Zakładam, że tabele nazywają się dokładnie tak jak w dokumentacji, ale dobrą praktyką jest $wpdb->prefix // Jeśli tabele są "sztywne" (bez prefixu wp_), usuń $wpdb->prefix. $table_activities = $wpdb->prefix . 'statpress_activities'; $table_categories = $wpdb->prefix . 'statpress_categories'; // --- 1. OBSŁUGA USUWANIA (DELETE) --- if ( isset( $_GET['action'], $_GET['id'], $_GET['_wpnonce'] ) && 'statpress_delete' === $_GET['action'] ) { $activity_id = intval( $_GET['id'] ); // Weryfikacja bezpieczeństwa (Nonce) if ( wp_verify_nonce( $_GET['_wpnonce'], 'statpress_delete_' . $activity_id ) ) { $result = $wpdb->delete( $table_activities, array( 'id' => $activity_id ), array( '%d' ) ); if ( $result ) { echo '

Aktywność została usunięta.

'; } else { echo '

Wystąpił błąd podczas usuwania.

'; } } else { echo '

Błąd weryfikacji bezpieczeństwa (Nonce).

'; } } // --- 2. USTAWIENIA PAGINACJI --- $items_per_page = 20; // Ile wpisów na stronę $current_page = isset( $_GET['paged'] ) ? max( 1, intval( $_GET['paged'] ) ) : 1; $offset = ( $current_page - 1 ) * $items_per_page; // --- 3. POBIERANIE DANYCH (SELECT) --- // Pobranie całkowitej liczby wpisów do paginacji $total_items = $wpdb->get_var( "SELECT COUNT(id) FROM $table_activities" ); $total_pages = ceil( $total_items / $items_per_page ); // Pobieramy wpisy dla bieżącej strony $sql = $wpdb->prepare( " SELECT a.*, c.name as category_name, c.icon, c.color, et.name as event_type_name, eq.name as equipment_name FROM $table_activities a LEFT JOIN $table_categories c ON a.category_id = c.id LEFT JOIN {$wpdb->prefix}statpress_event_types et ON a.event_type_id = et.id LEFT JOIN {$wpdb->prefix}statpress_equipment eq ON a.equipment_id = eq.id ORDER BY a.date DESC, a.id DESC LIMIT %d OFFSET %d ", $items_per_page, $offset ); $activities = $wpdb->get_results( $sql ); // --- 4. WIDOK TABELI (HTML) --- ?>

Historia Aktywności

1 ) : ?>
aktywności add_query_arg( 'paged', '%#%' ), 'format' => '', 'total' => $total_pages, 'current' => $current_page, 'prev_text' => '« Poprzednia', 'next_text' => 'Następna »', ) ); ?>
'statpress_delete', 'id' => $row->id, ) ), 'statpress_delete_' . $row->id ); $edit_url = add_query_arg( array( 'page' => 'statpress-edit-activity', 'id' => $row->id, ), admin_url( 'admin.php' ) ); $details_url = add_query_arg( array( 'page' => 'statpress-view-activity', 'id' => $row->id, ), admin_url( 'admin.php' ) ); ?>
Ikona Data Tytuł Kategoria Typ Sprzęt Dystans (km) Czas Śr. prędkość Akcja
icon ) ) : ?> date ); ?> title ? wp_trim_words( $row->title, 6 ) : '(bez tytułu)' ); ?> category_name ); ?> event_type_name ); ?> equipment_name ); ?> distance, 2, ',', ' ' ); ?> duration ); ?> avg_speed ? number_format( $row->avg_speed, 1, ',', ' ' ) . ' km/h' : '-'; ?> Edytuj Szczegóły Usuń
Brak zarejestrowanych aktywności. Dodaj pierwszy trening powyżej!
1 ) : ?>
aktywności add_query_arg( 'paged', '%#%' ), 'format' => '', 'total' => $total_pages, 'current' => $current_page, 'prev_text' => '« Poprzednia', 'next_text' => 'Następna »', ) ); ?>