• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

Modules/TestQuestionPool/classes/class.assClozeSelectGap.php

Go to the documentation of this file.
00001 <?php
00002  /*
00003    +----------------------------------------------------------------------------+
00004    | ILIAS open source                                                          |
00005    +----------------------------------------------------------------------------+
00006    | Copyright (c) 1998-2001 ILIAS open source, University of Cologne           |
00007    |                                                                            |
00008    | This program is free software; you can redistribute it and/or              |
00009    | modify it under the terms of the GNU General Public License                |
00010    | as published by the Free Software Foundation; either version 2             |
00011    | of the License, or (at your option) any later version.                     |
00012    |                                                                            |
00013    | This program is distributed in the hope that it will be useful,            |
00014    | but WITHOUT ANY WARRANTY; without even the implied warranty of             |
00015    | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              |
00016    | GNU General Public License for more details.                               |
00017    |                                                                            |
00018    | You should have received a copy of the GNU General Public License          |
00019    | along with this program; if not, write to the Free Software                |
00020    | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 
00021    +----------------------------------------------------------------------------+
00022 */
00023 
00024 include_once "./Modules/TestQuestionPool/classes/class.assClozeGap.php";
00025 
00037 class assClozeSelectGap extends assClozeGap
00038 {
00044   var $shuffle;
00045 
00052   function assClozeSelectGap($a_type)
00053   {
00054     $this->type = $a_type;
00055                 $this->items = array();
00056                 $this->shuffle = TRUE;
00057   }
00058   
00068   function getShuffle() 
00069         {
00070     return $this->shuffle;
00071   }
00072 
00082   function setType($a_shuffle = TRUE) 
00083         {
00084     $this->shuffle = $a_shuffle ? TRUE : FALSE;
00085   }
00086 
00095         function arrayShuffle($array)
00096         {
00097                 mt_srand((double)microtime()*1000000);
00098                 $i = count($array);
00099                 if ($i > 0)
00100                 {
00101                         while(--$i)
00102                         {
00103                                 $j = mt_rand(0, $i);
00104                                 if ($i != $j)
00105                                 {
00106                                         // swap elements
00107                                         $tmp = $array[$j];
00108                                         $array[$j] = $array[$i];
00109                                         $array[$i] = $tmp;
00110                                 }
00111                         }
00112                 }
00113                 return $array;
00114         }
00115 
00125   function getItems() 
00126         {
00127                 if ($this->shuffle)
00128                 {
00129             return $this->arrayShuffle($this->items);
00130                 }
00131                 else
00132                 {
00133                         return $this->items;
00134                 }
00135   }
00136 }
00137 
00138 ?>

Generated on Fri Dec 13 2013 17:56:53 for ILIAS Release_3_9_x_branch .rev 46835 by  doxygen 1.7.1