PHP Classes

File: class.randomWord.php

Recommend this page to a friend!
  Classes of kumar mcmillan  >  randomWord  >  class.randomWord.php  >  Download  
File: class.randomWord.php
Role: ???
Content type: text/plain
Description: class
Class: randomWord
makes a random 'readable' word (example: Huchafo!)
Author: By
Last change:
Date: 20 years ago
Size: 2,953 bytes
 

Contents

Class file image Download
<?php /*! class: randomWord released: 2002-04-27 author: kumar mcmillan (kumar@chicagomodular.com) class description: makes a random 'readable' word (currently english-only). this is useful if you want to randomly generate passwords that your user can read and remember (instead of giving them a bunch of numbers). some examples: Huchafo, Pequizu, Zequiju, Chomoxy ... ). have fun. license: The GNU General Public License (GPL) http://www.opensource.org/licenses/gpl-license.html requirements: PHP >= 4.0 !*/ class randomWord { // formatting preferences // (decisions are made in the order your see here): var $makeMoreRandom = TRUE; // it takes a little longer var $isLowerCase = TRUE; var $isUCFirst = TRUE; // first letter upper-case, the rest lower var $isUpperCase = FALSE; var $shoutIt = FALSE; // example: chivoy! // private: var $vowels = array("a","e","i","o","u","y"); var $consonants = array(array()); // see the constructor var $word = ""; // constructor: function randomWord() { $this->consonants[0] = array( "b","c","d","f","g","h","j","k","l","m","n","p","r","s","t","v","w","z"); $this->consonants[1] = array("ch","qu","th","xy"); } // ------------------------------------------------------- | // public: function set($var,$value) { $this->$var = $value; } // public: function buildWord($length=10) { $done = FALSE; $cons_or_vowel = 1; // makes the word: while(!$done){ $this->seed(); // 1 adds a consonant: if(1==$cons_or_vowel){ $i = rand(0,1); $add = $this->consonants[$i][array_rand($this->consonants[$i])]; $cons_or_vowel = 2; } // 2 adds a vowell: elseif(2==$cons_or_vowel){ $add = $this->vowels[array_rand($this->vowels)]; $cons_or_vowel = 1; } $this->word .= $add; if(strlen($this->word)>=$length) $done=TRUE; } // truncate word to fit desired length: // (in case a double-consonant was added for the last char build) $this->word = substr($this->word,0,$length); // change case according to var prefs: $this->formatCase(); // shout it: if($this->shoutIt) $this->word .= "!"; return $this->word; } // public: // (you need to call buildWord() first though) function addNumbers($length=4) { for($i=1; $i<=$length; $i++){ $this->seed(); $this->word .= (string) rand(0,9); } return $this->word; } // ------------------------------------------------------- | // private: function formatCase() { if($this->isLowerCase) $this->word = strtolower($this->word); if($this->isUCFirst) $this->word = ucfirst(strtolower($this->word)); if($this->isUpperCase) $this->word = strtoupper($this->word); return $this->word; } // private: function seed() { if($this->makeMoreRandom) usleep(1); srand((double)microtime()*1000000); } } // end of class ?>