<%@ language = "JavaScript" %>
<% /*
     $Revision$
     $Id$

    Description: Beetje minder lompe MVP-versie om statistics mbt persoonsgegevens te kunnen rapporteren, voor awareness.
                 Zou aan een Autoriteit kunnen worden gerapporteerd als er een datalek zou zijn
                 Kan ook als input dienen voor de Verwerkersovereenkomst: welke gegevens registreren we feitelijk
                 (en kan dat niet minder).
                 Kan ongetwijfeld nog uitgebreid worden.

*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery"], js: ["jquery-ui.js"] });
%>
<html>
  <head>
<%  FCLTHeader.Generate();
    var autfunction = "WEB_PRSSYS";
    var authparams = user.checkAutorisation(autfunction);
%>
  </head>
  <body class="showmode">
<% SUBFRAME_START(); 

// query bevat een totaal (issum==1) en daarna een onderverdeling daarvan. Volgorde (kolom 2) matters
// toevoeging  and prs_perslid_oslogin NOT LIKE '\\_%' ESCAPE '\\' zou overal mogen, dat zijn systeemusers, maar ik "weet" dat de rest leeg of irrelevant is bij dergelijke users
var sql = " select 0, 100 id,'Actieve personen' lbl,count(*) cnt from prs_perslid where prs_perslid_verwijder is null and prs_perslid_oslogin NOT LIKE '\\_%' ESCAPE '\\' UNION"
        + " select 0, 101,'met voornaam',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_voornaam is not null) UNION"
        + " select 0, 102,'met voorletters' ,count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_voorletters is not null) UNION"
        + " select 0, 103,'met e-mailadres',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_email is not null) and prs_perslid_oslogin NOT LIKE '\\_%' ESCAPE '\\'  UNION"
        + " select 0, 104,'met loginnaam',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_oslogin is not null or prs_perslid_oslogin2 is not null) and prs_perslid_oslogin NOT LIKE '\\_%' ESCAPE '\\' UNION"
        + " select 0, 105,'met mobiel nummer',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_mobiel is not null) UNION"
        + " select 0, 106,'met telefoonnummer',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_telefoonnr is not null) UNION"
        + " select 0, 107,'met geslachtsaanduiding',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_geslacht is not null) UNION"
        + " select 0, 108,'met personeelsnr',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_nr is not null) UNION"
        + " select 0, 109,'met (hashed) wachtwoord',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_wachtwoord_hash is not null and prs_perslid_salt is not null) UNION"

        + " select 0, 200,'Vervallen personen',count(*) from prs_perslid where prs_perslid_verwijder is not null UNION"
        + " select 0, 201,'geanonimiseerd',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_naam =lcl.l('lcl_prs_old_employee')) UNION"
        + " select 0, 202,'met voornaam',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_voornaam is not null) UNION"
        + " select 0, 203,'met voorletters',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_voorletters is not null) UNION"
        + " select 0, 204,'met e-mailadres',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_email is not null) UNION"
        + " select 0, 205,'met loginnaam',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_oslogin is not null or prs_perslid_oslogin2 is not null) UNION"
        + " select 0, 206,'met mobiel nummer',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_mobiel is not null) UNION"
        + " select 0, 207,'met telefoonnummer',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_telefoonnr is not null) UNION"
        + " select 0, 208,'met geslachtsaanduiding',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_geslacht is not null) UNION"
        + " select 0, 209,'met personeelsnr',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_nr is not null) UNION"
        + " select 0, 210,'met (hashed) wachtwoord',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_wachtwoord_hash is not null and prs_perslid_salt is not null) UNION"

        + " select 0, 301,'Actieve contactpersonen',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null UNION"
        + " select 0, 302,'met voornaam',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_voornaam IS NOT NULL) UNION"
        + " select 0, 303,'met voorletters',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_voorletters IS NOT NULL) UNION"
        + " select 0, 304,'met telefoonnr',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_telefoon_1 IS NOT NULL OR prs_contactpersoon_telefoon_2 IS NOT NULL) UNION"
        + " select 0, 305,'met e-mailadres',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_email IS NOT NULL) UNION"
        + " select 0, 306,'met functie',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_functie IS NOT NULL) UNION"

        + " select 0, 401,'Vervallen contactpersonen',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null UNION"
        + " select 0, 402,'met voornaam',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_voornaam IS NOT NULL) UNION"
        + " select 0, 403,'met voorletters',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_voorletters IS NOT NULL) UNION"
        + " select 0, 404,'met telefoonnr',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_telefoon_1 IS NOT NULL OR prs_contactpersoon_telefoon_2 IS NOT NULL) UNION"
        + " select 0, 405,'met e-mailadres',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_email IS NOT NULL) UNION"
        + " select 0, 406,'met functie',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_functie IS NOT NULL) UNION"

        + " select 0, 501,'Relaties',count(*) from prs_bedrijf where prs_bedrijf_verwijder is null AND prs_bedrijf_intern IS NULL UNION"
        + " select 0, 502,'met e-mailadres',count(*) from prs_bedrijf where prs_bedrijf_verwijder is null AND prs_bedrijf_intern IS NULL AND (prs_bedrijf_email IS NOT NULL) UNION"
        + " select 0, 503,'met telefoonnr',count(*) from prs_bedrijf where prs_bedrijf_verwijder is null AND prs_bedrijf_intern IS NULL AND (prs_bedrijf_telefoon IS NOT NULL OR prs_bedrijf_telefoon2 IS NOT NULL OR prs_bedrijf_contact_telefoon IS NOT NULL) UNION"

        + " select 0, 601,'Vervallen Relaties',count(*) from prs_bedrijf where prs_bedrijf_verwijder is not null AND prs_bedrijf_intern IS NULL UNION"
        + " select 0, 602,'met e-mailadres',count(*) from prs_bedrijf where prs_bedrijf_verwijder is not null AND prs_bedrijf_intern IS NULL AND (prs_bedrijf_email IS NOT NULL) UNION"
        + " select 0, 603,'met telefoonnr',count(*) from prs_bedrijf where prs_bedrijf_verwijder is not null AND prs_bedrijf_intern IS NULL AND (prs_bedrijf_telefoon IS NOT NULL OR prs_bedrijf_telefoon2 IS NOT NULL OR prs_bedrijf_contact_telefoon IS NOT NULL)"

        + " order by 2,3";

    oRs = Oracle.Execute(sql);

    facts = new Array;

    while (!oRs.eof)
    {
      facts.push({id: oRs("id").value, lbl: oRs("lbl").value, cnt: oRs("cnt").value})
      oRs.moveNext();
    }
    
    var buttons = [];
    IFRAMER_HEADER(L("lcl_prs_gdprstats"), buttons);
%>
    <form name=u2 onSubmit="return false;">
<%
    BLOCK_START("gdpr1", facts[0].lbl+": "+ safe.showFloat(facts[0].cnt,0), {icon: "fa-users"});
    for (var i=1; i<10; i++)
    {
      ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0), {suppressEmpty: true});
    }
    BLOCK_END();

    BLOCK_START("gdpr2", facts[10].lbl+": "+ safe.showFloat(facts[10].cnt,0), {icon: "fa-users-slash"});
    for (var i=11; i<21; i++)
    {
      ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0), {suppressEmpty: true});
    }
    BLOCK_END();

    BLOCK_START("gdpr3", facts[21].lbl+": "+ safe.showFloat(facts[21].cnt,0), {icon: "fa-user"});
    for (var i=22; i<27; i++)
    {
      ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0), {suppressEmpty: true});
    }
    BLOCK_END();

    BLOCK_START("gdpr4", facts[27].lbl+": "+ safe.showFloat(facts[27].cnt,0), {icon: "fa-user-slash"});
    for (var i=28; i<33; i++)
    {
      ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0), {suppressEmpty: true});
    }
    BLOCK_END();
    BLOCK_START("gdpr5", facts[33].lbl+": "+ safe.showFloat(facts[33].cnt,0), {icon: "fa-handshake"});
    for (var i=34; i<36; i++)
    {
      ROFIELDTR("fld", facts[i].lbl, facts[i].cnt, {suppressEmpty: true});
    }
    BLOCK_END();
    BLOCK_START("gdpr5", facts[36].lbl+": "+ safe.showFloat(facts[36].cnt,0), {icon: "fa-handshake-slash"});
    for (var i=37; i<39; i++)
    {
      ROFIELDTR("fld", facts[i].lbl, facts[i].cnt, {suppressEmpty: true});
    }
    BLOCK_END();
%>
    </form>
<% SUBFRAME_END(); %>
  </body>
</html>
<% ASPPAGE_END(); %>
