/[drupal]/contributions/modules/randomizer/randomizer.module
ViewVC logotype

Diff of /contributions/modules/randomizer/randomizer.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.2, Wed May 31 19:43:31 2006 UTC revision 1.3, Wed Jun 21 20:44:08 2006 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id: randomizer.module,v 1.1 2006/05/31 19:35:55 deekayen Exp $  // $Id:$
3    
4  /**  /**
5   * @file   * @file
# Line 110  function randomizer_menu($may_cache) { Line 110  function randomizer_menu($may_cache) {
110   * @return string   * @return string
111   */   */
112  function randomizer_page() {  function randomizer_page() {
113    $edit = $_POST['edit'];    if(isset($_POST['edit'])) {
114    if(isset($edit)) {      $edit = $_POST['edit'];
115      if (!is_numeric($edit['randomizer_sets'])) {      if (!is_numeric($edit['randomizer_sets'])) {
116        $error = true;        $error = true;
117        form_set_error('randomizer_sets', t('The entered sets of numbers must be numeric.'));        form_set_error('randomizer_sets', t('The entered sets of numbers must be numeric.'));
# Line 167  function randomizer_page() { Line 167  function randomizer_page() {
167    
168        for ($i=0; $i<$edit['randomizer_sets']; $i++) {        for ($i=0; $i<$edit['randomizer_sets']; $i++) {
169          $list = array();          $list = array();
170          if ($edit['randomizer_unique']) {          for ($j=0; $j < $edit['randomizer_per_set']; ) {
171            $diff = $edit['randomizer_range_to'] - $edit['randomizer_range_from'];            $number = mt_rand($edit['randomizer_range_from'], $edit['randomizer_range_to']);
172            if($diff < $edit['randomizer_per_set']) { // user asked for more numbers in the set then was available in the range            if (!$edit['randomizer_unique'] || ($edit['randomizer_unique'] && !in_array($number, $list))) {
173              $edit['randomizer_per_set'] = $diff + 1;              $list[] = $number;
174            }              $j++;
           unset($diff);  
   
           $numbers = range($edit['randomizer_range_from'], $edit['randomizer_range_to']);  
           for ($j=0; $j < $edit['randomizer_per_set']; $j++) {  
             shuffle($numbers);  
             foreach ($numbers as $key => $number) {  
               $list[] = $number;  
               unset($numbers[$key]);  
               break;  
             }  
           }  
         }  
         else {  
           for($j=0; $j < $edit['randomizer_per_set']; $j++) {  
             $list[] = mt_rand($edit['randomizer_range_from'], $edit['randomizer_range_to']);  
175            }            }
176          }          }
177          if ($edit['randomizer_sort'] == '1') {          if ($edit['randomizer_sort'] == '1') {

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.2