Advertisement
Guest User

Untitled

a guest
Dec 25th, 2012
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. protected function _generate_short_code($id, $length = 6, $randomizer = '171823')
  2. {
  3. // Get the randomized number based on $id
  4. $number = bcmod(bcmul($id, $randomizer), bcpow(10, $length));
  5.  
  6. // Make sure number id is long enough and it's length is even
  7. $length = max(strlen($number), $length) + (max(strlen($number), $length) % 2);
  8. $number = str_pad($number, $length, '0', STR_PAD_LEFT);
  9.  
  10. $vowels = 'aeiou';
  11. $consonants = 'bcdfghjklmnpqrstvwxyz';
  12. $short_code = '';
  13.  
  14. // Parse the id
  15. for ($i = 0; $i < $length; $i = $i + 2)
  16. {
  17. $slice = substr($number, $i, 2);
  18. $num = intval($slice);
  19.  
  20. $vowel_index = intval(floor($num / strlen($consonants)));
  21. $consonant_index = $num % strlen($consonants);
  22.  
  23. $short_code .= $vowels[$vowel_index].$consonants[$consonant_index];
  24. }
  25.  
  26. return $short_code;
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement