# Guia de instalación y uso - Sonics NBA Manager

## 📋 Wymagania
- WordPress 5.0+
- PHP 7.2+
- MySQL 5.7+
- Akces do panelu admin WordPress

## 🚀 Szybki Start

### 1. Instalacja
```bash
# Skopiuj folder do instalacji WordPress
cp -r wtyczka /path/to/wordpress/wp-content/plugins/

# Lub przez SFTP/FTP
# Wgraj folder wtyczka do wp-content/plugins/
```

### 2. Aktywacja
- Zaloguj się do panelu WordPress
- Przejdź do Wtyczki > Zainstalowane wtyczki
- Kliknij "Aktywuj" na "Sonics NBA Manager"

### 3. Konfiguracja
- W menu po lewej stronie powinna pojawić się opcja **Sonics**
- Kliknij na Sonics > Dashboard

## 📊 Panel Admin

### Dashboard
Główna strona z:
- Aktualnym sezonem
- Ostatnim meczem
- Następnym meczem
- Dostęp do zasobów
- Lista dostępnych shortcodes

### Zarządzanie sezonami
- Dodaj nowy sezon (rok: 1995-2008)
- Wyświetl listę wszystkich sezonów
- Dostęp do meczów i zawodników każdego sezonu

### Zarządzanie meczami
- Filtruj mecze po sezonie
- Dodaj nowy mecz z danymi:
  - Data i czas
  - Przeciwnik
  - Wyniki (Sonics i opponent)
  - Lokalizacja
  - Notatki
- Edytuj wyniki meczów
- Usuń mecze z bazy

### Zarządzanie zawodnikami
- Wyświetl roster zespołu
- Dodaj zawodnika z danymi:
  - Imię i nazwisko
  - Numer
  - Pozycja (PG, SG, SF, PF, C)
  - Wzrost, waga
  - College
  - URL zdjęcia

### Import danych
- Import sezonów z Basketball Reference
- Wgrywanie plików CSV
- Wsparcie dla format CSV z danymi zawodników i meczów

## 🔤 Shortcodes - Użycie na stronach

### Ostatni mecz
```
[sonics_last_game]
[sonics_last_game season_id="1"]
```

### Następny mecz
```
[sonics_next_game]
[sonics_next_game season_id="1"]
```

### Lista meczów
```
[sonics_games season_id="1"]
[sonics_games season_id="1" limit="5"]
```

### Roster zespołu
```
[sonics_players season_id="1"]
```

### Box Score (przygotowany, wymaga danych)
```
[sonics_box_score game_id="1"]
```

## 💾 Format danych CSV

### Plik zawodników (players.csv)
```
name,number,position,height,weight,college
Gary Payton,20,PG,6'3",190,Oregon State
Shawn Kemp,40,PF,6'10",231,Concord Academy
Detlef Schrempf,22,SF,6'10",220,Washington
Hersey Hawkins,12,SG,6'3",190,Bradley
Sam Perkins,0,PF,6'9",235,North Carolina
```

### Plik meczów (games.csv)
```
date,opponent,sonics_score,opponent_score,location
2005-10-31 19:30,Denver Nuggets,98,96,KeyArena
2005-11-02 19:30,Utah Jazz,102,98,Delta Center
2005-11-04 20:00,Los Angeles Lakers,95,108,Staples Center
```

## 🎨 Styling i customizacja

### Zmienianie kolorów
Edytuj pliki CSS w `/assets/css/`:
- `admin-style.css` - Style panelu admin
- `public-style.css` - Style frontendu

### Kluczowe kolory
```css
Primary: #0073aa (niebieski WordPress)
Success: #10b981 (zielony)
Warning: #f59e0b (pomarańczowy)
Danger: #dc3545 (czerwony)
```

## 🔒 Bezpieczeństwo

- Wszystkie dane są czyszczone (sanitize)
- Wszystkie wyjścia są escapowane
- AJAX chronione nonce tokens
- Tylko administratorzy mają dostęp

## 🐛 Rozwiązywanie problemów

### Wtyczka się nie pojawia
- Sprawdź uprawnienia foldera `wp-content/plugins/`
- Upewnij się, że plik `sonics-nba-manager.php` jest w głównym katalogu wtyczki

### Bład: "Brakuje wymaganych danych"
- Sprawdź czy wypełniłeś wszystkie pola oznaczone jako wymagane
- Sprawdź format daty (YYYY-MM-DD HH:MM)

### AJAX nie działa
- Sprawdź konsolę przeglądarki (F12) na błędy
- Sprawdź czy admin-ajax.php jest dostępny
- Wyczyść cache WordPress

### Baza danych nie została utworzona
- Deaktywuj i aktywuj wtyczkę ponownie
- Sprawdź czy masz uprawnienia do tworzenia tabel

## 📚 Zaawansowane

### Dodawanie nowego shortcode
W pliku `includes/class-sonics-shortcodes.php`:
```php
public function shortcode_custom() {
    // Logika
}

// W public/class-sonics-public.php:
add_shortcode( 'sonics_custom', array( $shortcodes, 'shortcode_custom' ) );
```

### Dostęp do bazy z kodu
```php
$db = Sonics_Database::get_instance();
$games = $db->get_games( $season_id );
$players = $db->get_players( $season_id );
```

## 📞 Wsparcie

Jeśli napotkasz problemy:
1. Sprawdź ten plik README
2. Sprawdź logi WordPress (wp-content/debug.log)
3. Sprawdź konsolę przeglądarki (F12)
4. Utwórz issue w repozytorium

## 📝 Changelog

### v1.0.0 (2026-01-14)
- Wersja initial
- Zarządzanie sezonami, meczami, zawodnikami
- Panel admin z dashboardem
- Shortcodes dla frontendu
- Import danych
- Responsywny UX
