=== Ansico Ansøgninger ===
Contributors: andreasandersen
Requires at least: 6.0
Requires PHP: 7.4
Stable tag: 1.0.0.6
License: GPL-2.0-or-later

Vurder ansøgninger til jobsamtaler med ansættelsesrunder, forløb, prioriteringer og visuel scoring.

== Sikkerhed – PDF-beskyttelse ==

Fra version 1.0.0.6 serveres alle PDF-filer igennem en loginbeskyttet proxy.
Direkte URL'er til filer i wp-content/uploads/ er blokeret.

--- Apache (automatisk) ---
Pluginet skriver automatisk følgende blok til .htaccess i uploads-mappen ved
aktivering og versionsopdatering:

    # BEGIN Ansico PDF Protection
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule \.pdf$ - [F,L]
    # END Ansico PDF Protection

Blokken fjernes automatisk ved deaktivering af pluginet.

--- Nginx (manuel konfiguration krævet) ---
.htaccess virker ikke på Nginx. Tilføj følgende regel i din server-blok,
tilpasset din faktiske uploads-sti:

    location ~* ^/wp-content/uploads/.*\.pdf$ {
        return 403;
    }

Placér reglen FØR din generelle WordPress location-blok.

--- Login på hele sitet ---
For at sikre at ingen sider er tilgængelige uden login, tilføj dette
i wp-config.php eller et must-use plugin (mu-plugins/):

    define('ANSICO_FORCE_LOGIN', true);

Og i functions.php eller et mu-plugin:

    add_action('init', function() {
        if (!is_user_logged_in() && !is_login()) {
            auth_redirect();
        }
    });

== Changelog ==

= 1.0.0.6 =
* Tilføjet: PDF-proxy – alle PDF-links går nu igennem admin-ajax.php med
  nonce-validering og manage_options-check. Den reelle fil-URL eksponeres aldrig.
* Tilføjet: Automatisk .htaccess-beskyttelse af uploads-mappen ved aktivering.
* Tilføjet: .htaccess fjernes automatisk ved deaktivering (register_deactivation_hook).
* Tilføjet: Sikkerhedsstatusside under Indstillinger viser om beskyttelsen er aktiv.
* Tilføjet: Manuel "Opdater .htaccess"-knap i indstillinger hvis automatisk skrivning fejlede.

= 1.0.0.5 =
* Tilføjet: Sortering i ansøgerlisten på nr., navn, status og screeing-/samtalescorer.

= 1.0.0.4 =
* Tilføjet: Eksport til CSV med alle scoringer og rangeringer.
* Tilføjet: Bulk "Klar til samtale" med checkbokse.
* Tilføjet: Hurtig note per ansøger direkte i listen.
* Tilføjet: Søg og filtrer ansøgere på navn, status og forløb.
* Tilføjet: "↩ Screening"-knap til at nulstille status.
* Tilføjet: Slet hel ansættelsesrunde fra rundelisten.
* Rettet: Undefined variable $round_id i save_committee_scores().

= 1.0.0.3 =
* Rettet: Undefined variable $round_id i save_committee_scores().
* Tilføjet: Farvekodede statusbadges, flash-beskeder, tomme tilstande.
* Forbedret: Kodestruktur og indrykning.


= 1.0.1.1 =
* Rundeoprettelse, import, forløb og ny ansøger flyttet til modalvinduer.
* Handlinger på ansættelsesrunde samlet over ansøgerlisten.


= 1.0.1.1 =
* Se scoring viser nu kun ansøgere, der er indkaldt til samtale.


= 1.0.1.1 =
* Blind screening kan slås til/fra under Indstillinger.
* Samtaletidspunkt kan angives ved flytning til samtale og redigeres på samtaleansøgere.
* Ansøgere i samtale sorteres som standard efter samtaletidspunkt.


= 1.0.1.1 =
* Tomme PDF-felter viser ikke længere teksten “Ingen PDF”.
