ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.assClozeSelectGap.php
Go to the documentation of this file.
1 <?php
2  /*
3  +----------------------------------------------------------------------------+
4  | ILIAS open source |
5  +----------------------------------------------------------------------------+
6  | Copyright (c) 1998-2001 ILIAS open source, University of Cologne |
7  | |
8  | This program is free software; you can redistribute it and/or |
9  | modify it under the terms of the GNU General Public License |
10  | as published by the Free Software Foundation; either version 2 |
11  | of the License, or (at your option) any later version. |
12  | |
13  | This program is distributed in the hope that it will be useful, |
14  | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16  | GNU General Public License for more details. |
17  | |
18  | You should have received a copy of the GNU General Public License |
19  | along with this program; if not, write to the Free Software |
20  | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21  +----------------------------------------------------------------------------+
22 */
23 
24 include_once "./Modules/TestQuestionPool/classes/class.assClozeGap.php";
25 
38 {
44  var $shuffle;
45 
52  function assClozeSelectGap($a_type)
53  {
54  $this->type = $a_type;
55  $this->items = array();
56  $this->shuffle = TRUE;
57  }
58 
68  function getShuffle()
69  {
70  return $this->shuffle;
71  }
72 
82  function setType($a_shuffle = TRUE)
83  {
84  $this->shuffle = $a_shuffle ? TRUE : FALSE;
85  }
86 
95  function arrayShuffle($array)
96  {
97  mt_srand((double)microtime()*1000000);
98  $i = count($array);
99  if ($i > 0)
100  {
101  while(--$i)
102  {
103  $j = mt_rand(0, $i);
104  if ($i != $j)
105  {
106  // swap elements
107  $tmp = $array[$j];
108  $array[$j] = $array[$i];
109  $array[$i] = $tmp;
110  }
111  }
112  }
113  return $array;
114  }
115 
125  function getItems()
126  {
127  if ($this->shuffle)
128  {
129  return $this->arrayShuffle($this->items);
130  }
131  else
132  {
133  return $this->items;
134  }
135  }
136 }
137 
138 ?>