# Kran – fristående testprojekt

Den här mappen fungerar självständigt. Den använder **inte** ditt nuvarande projekts `config.php`, inloggning, tabeller eller `uploads`. Bilder sparas som filer i den här mappens `uploads`; databasen innehåller bara filnamn och koppling till ärende.

## Starta

1. Skapa en **ny, tom MySQL/MariaDB-databas**, exempelvis `kran_test`. Använd inte databasen som ditt nuvarande Kran använder. Skapa gärna en separat databasanvändare som bara får åtkomst till testdatabasen.
2. Importera `schema.sql` i **den nya databasen** via phpMyAdmin. Importera inte den gamla `kran.sql` här.
3. Redigera `config.php` i denna mapp och ange anslutningen till den nya databasen.
4. Kopiera hela mappen `kran-standalone` till valfri plats under din webbserver, till exempel `/var/www/html/kran-test/`. Gör `uploads` skrivbar för webbserverns PHP-användare.
5. Öppna `https://din-domän/kran-test/app/setup.php`, skapa ett eget konto och börja testa. Efter att första kontot skapats leder setup automatiskt till inloggningen.

PHP behöver `mysqli`, `mbstring` och `fileinfo`. För stora uppladdningar behöver `upload_max_filesize` vara minst `10M` och `post_max_size` minst `120M`. Servern bör blockera körning av PHP i `uploads`. Med Apache finns en `.htaccess` i mappen; använder du Nginx ska du även blockera PHP-körning där i Nginx-konfigurationen.

Det finns ingen automatisk import av gamla ärenden, inga pushnotiser och ingen användaradministration i testversionen. Befintligt projekt berörs inte. Arkivet innehåller inga lösenord eller API-nycklar från de bifogade originalfilerna.

## Uppdatera en installerad testversion

1. Ta gärna en kopia av **testdatabasen** och mappen `uploads` först.
2. Kör **bara** `uppdatera_befintlig.sql` i din nuvarande **separata testdatabas** via phpMyAdmin. Kör inte `schema.sql` igen. Kör uppdateringsfilen endast en gång.
3. Ersätt mappen `app` i din befintliga testinstallation med `app` från detta paket. Behåll din befintliga `config.php` och `uploads`.
4. Öppna `app/index.php`. Det konto som skapades först i testversionen är nu **admin**. Gå till **Användare & status** och skapa ett konto med rollen **Tekniker**.
5. Öppna ett ärende som tekniker. Under **Svar och åtgärder** skriver teknikern sitt svar, väljer status och sparar. Historiken visar tidigare svar och vem som skrev dem.

För en helt ny installation: använd `schema.sql`, sedan `app/setup.php`; första kontot blir admin automatiskt. Roller: **Anmälare** kan skapa och läsa ärenden, **Tekniker** kan dessutom svara och ändra status, **Admin** kan också redigera grunduppgifter och hantera konton och statusar. Egna statusar går att lägga till. En status som används av ärenden kan inte tas bort.
