diff --git a/core/PasswordPhraseGenerator.php b/core/PasswordPhraseGenerator.php index c30bbd3..bdaf141 100644 --- a/core/PasswordPhraseGenerator.php +++ b/core/PasswordPhraseGenerator.php @@ -28,14 +28,26 @@ class PasswordPhraseGenerator } - private function rando($arr) + /** + * Random sub element + * + * @param array $arr + * @return array + */ + private function _rando($arr) { return $arr[array_rand($arr)]; } - private function word($cla, $conj = null) + /** + * Select random word from class + * + * @param string $cla + * @param int $conj + * @return string $word + */ + private function _word($cla, $conj = null) { - global $ord; $word = $this->ord[$cla][array_rand($this->ord[$cla])]; //rand(0,count($ord[$cla])); if ($conj == null) { return $word; @@ -44,14 +56,20 @@ class PasswordPhraseGenerator } } + /** + * Main model generator + * + * @param integer $conj + * @return string $phrase + */ function lego($conj = 0) { // 0 = ubestemt ental, eks. "en grim tyr" el. "et dumt æg". // 1 = bestemt ental, eks. "den grimme tyr" el. "det dumme æg" // 2 = ubestemt flertal, eks. "ægte tedåser" // 3 = bestemt flertal, eks. "de rådne æbler" - $main = $this->word("sub"); - $desc = $this->word("adj"); + $main = $this->_word("sub"); + $desc = $this->_word("adj"); if ($main[4] == "t") { $neutrum = true; } else { @@ -61,28 +79,33 @@ class PasswordPhraseGenerator switch ($conj) { case 0: if ($neutrum) { - $phrase = "et " . $this->word("adj")[1] . " " . $main[0]; + $phrase = "et " . $this->_word("adj")[1] . " " . $main[0]; } else { - $phrase = "en " . $this->word("adj")[0] . " " . $main[0]; + $phrase = "en " . $this->_word("adj")[0] . " " . $main[0]; } break; case 1: if ($neutrum) { - $phrase = "det " . $this->word("adj")[2] . " " . $main[0]; + $phrase = "det " . $this->_word("adj")[2] . " " . $main[0]; } else { - $phrase = "den " . $this->word("adj")[2] . " " . $main[0]; + $phrase = "den " . $this->_word("adj")[2] . " " . $main[0]; } break; case 2: - $phrase = $this->word("adj")[2] . " " . $main[2]; + $phrase = $this->_word("adj")[2] . " " . $main[2]; break; case 3: - $phrase = "de " . $this->word("adj")[2] . " " . $main[2]; + $phrase = "de " . $this->_word("adj")[2] . " " . $main[2]; break; } return $phrase; } + /** + * Generate phrase + * + * @return string $phrase + */ public function generate() { switch ($this->model) { @@ -92,8 +115,8 @@ class PasswordPhraseGenerator } else { $b = $this->lego(rand(0, 1)); } - $c = $this->word("ver", rand(1, 4)); - $d = $this->word("sub", $this->rando([1, 3])); + $c = $this->_word("ver", rand(1, 4)); + $d = $this->_word("sub", $this->_rando([1, 3])); if (rand(0, 1) > 0) { $which = rand(1, 3); switch ($which) { @@ -111,12 +134,12 @@ class PasswordPhraseGenerator $result = "{$this->tal} $b $c $d{$this->tegn}"; break; case 1: - $a = $this->lego($this->rando([0, 1, 3])); - $b = $this->word("ver", rand(1, 4)); + $a = $this->lego($this->_rando([0, 1, 3])); + $b = $this->_word("ver", rand(1, 4)); if ($this->tal > 1) { - $c = $this->word("sub", 2); + $c = $this->_word("sub", 2); } else { - $c = $this->word("sub", $this->rando([1, 3])); + $c = $this->_word("sub", $this->_rando([1, 3])); } $result = "$a $b {$this->tal} $c{$this->tegn}"; break;