/** * Tarkistaa salasana merkit ja pituuden. Ei tee tietokantahakuja. */ static function salasana_ok($sala) { if (Tunnukset::tunnuksen_merkit_ja_pituus_ok($sala, Tunnukset::$pituus_min_salasana, Tunnukset::$pituus_max_salasana)) { return true; } else { return false; } }
function tunnukset_ok($uusi_olio) { $ok = true; $muokkaustapa = $this->get_tunnusten_muokkaus(); $salavahvistus = $this->get_salavahvistus(); $sala = $this->get_arvo(Henkilo::$sarakenimi_salasana); // Mihin tahansa if-lauseeseen joutuminen merkitsee virhettä. // Käyttäjätunnus jo käytössä? Muokatessa tarkistetaan vain, jos // sitä on tarkoitus muuttaa. if ($uusi_olio || $muokkaustapa === Tunnukset::$kumpikin || $muokkaustapa === Tunnukset::$vain_kayttis) { $taulunimi = Henkilo::$taulunimi; $sarakenimi = Henkilo::$sarakenimi_kayttajatunnus; $ktunnus = $this->get_arvo(Henkilo::$sarakenimi_kayttajatunnus); if (Yleismetodit::arvo_jo_kaytossa($taulunimi, $sarakenimi, $ktunnus, $this->tietokantaolio)) { $this->lisaa_virheilmoitus(Kayttajatekstit::$tunnus_jo_kaytossa); $ok = false; } // Käyttäjätunnuksen merkit ja pituus: if (!Tunnukset::kayttajatunnus_ok($ktunnus)) { $this->lisaa_virheilmoitus(Kayttajatekstit::$tunnus_kayttajatunnus_pituus_tai_merkkivirhe . "<br/>" . Kayttajatekstit::$tunnus_kayttajatunnuksen_min_pituus_on . " " . Tunnukset::$pituus_min_kayttajatunnus . ". " . Kayttajatekstit::$tunnus_kayttajatunnuksen_max_pituus_on . " " . Tunnukset::$pituus_max_kayttajatunnus . ".<br/>" . Kayttajatekstit::$tunnus_vain_seuraavat_merkit_sopivat . ": " . Tunnukset::$sallitut_merkit); $ok = false; } } // Salasana tarkistetaan vain uudelle oliolle tai muokattaessa: if ($uusi_olio || $muokkaustapa === Tunnukset::$kumpikin || $muokkaustapa === Tunnukset::$vain_salis) { // Salasana ja vahvistus täsmäävät? if ($salavahvistus !== $sala) { $this->lisaa_virheilmoitus(Kayttajatekstit::$tunnus_vahvistus_ei_tasmaa); $ok = false; } // Salasanan merkit ja pituus: if (!Tunnukset::salasana_ok($sala)) { $this->lisaa_virheilmoitus(Kayttajatekstit::$tunnus_salasana_pituus_tai_merkkivirhe . "<br/>" . Kayttajatekstit::$tunnus_salasanan_min_pituus_on . " " . Tunnukset::$pituus_min_salasana . ". " . Kayttajatekstit::$tunnus_salasanan_max_pituus_on . " " . Tunnukset::$pituus_max_salasana . ".<br/>" . Kayttajatekstit::$tunnus_vain_seuraavat_merkit_sopivat . ": " . Tunnukset::$sallitut_merkit); $ok = false; } } return $ok; }