ILIAS  eassessment Revision 61809
 All Data Structures Namespaces Files Functions Variables Groups Pages
Logical.php
Go to the documentation of this file.
1 <?php
30 if (!defined('PHPEXCEL_ROOT')) {
34  define('PHPEXCEL_ROOT', dirname(__FILE__) . '/../../');
35  require(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
36 }
37 
38 
47 
60  public static function TRUE() {
61  return true;
62  } // function TRUE()
63 
64 
77  public static function FALSE() {
78  return false;
79  } // function FALSE()
80 
81 
103  public static function LOGICAL_AND() {
104  // Return value
105  $returnValue = True;
106 
107  // Loop through the arguments
108  $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args());
109  $argCount = 0;
110  foreach ($aArgs as $arg) {
111  // Is it a boolean value?
112  if (is_bool($arg)) {
113  $returnValue = $returnValue && $arg;
114  } elseif ((is_numeric($arg)) && (!is_string($arg))) {
115  $returnValue = $returnValue && ($arg != 0);
116  } elseif (is_string($arg)) {
117  $arg = strtoupper($arg);
118  if (($arg == 'TRUE') || ($arg == PHPExcel_Calculation::getTRUE())) {
119  $arg = true;
120  } elseif (($arg == 'FALSE') || ($arg == PHPExcel_Calculation::getFALSE())) {
121  $arg = false;
122  } else {
124  }
125  $returnValue = $returnValue && ($arg != 0);
126  }
127  ++$argCount;
128  }
129 
130  // Return
131  if ($argCount == 0) {
133  }
134  return $returnValue;
135  } // function LOGICAL_AND()
136 
137 
159  public static function LOGICAL_OR() {
160  // Return value
161  $returnValue = False;
162 
163  // Loop through the arguments
164  $aArgs = PHPExcel_Calculation_Functions::flattenArray(func_get_args());
165  $argCount = 0;
166  foreach ($aArgs as $arg) {
167  // Is it a boolean value?
168  if (is_bool($arg)) {
169  $returnValue = $returnValue || $arg;
170  } elseif ((is_numeric($arg)) && (!is_string($arg))) {
171  $returnValue = $returnValue || ($arg != 0);
172  } elseif (is_string($arg)) {
173  $arg = strtoupper($arg);
174  if (($arg == 'TRUE') || ($arg == PHPExcel_Calculation::getTRUE())) {
175  $arg = true;
176  } elseif (($arg == 'FALSE') || ($arg == PHPExcel_Calculation::getFALSE())) {
177  $arg = false;
178  } else {
180  }
181  $returnValue = $returnValue || ($arg != 0);
182  }
183  ++$argCount;
184  }
185 
186  // Return
187  if ($argCount == 0) {
189  }
190  return $returnValue;
191  } // function LOGICAL_OR()
192 
193 
214  public static function NOT($logical) {
216  if (is_string($logical)) {
217  $logical = strtoupper($logical);
218  if (($logical == 'TRUE') || ($logical == PHPExcel_Calculation::getTRUE())) {
219  return false;
220  } elseif (($logical == 'FALSE') || ($logical == PHPExcel_Calculation::getFALSE())) {
221  return true;
222  } else {
224  }
225  }
226 
227  return !$logical;
228  } // function NOT()
229 
262  public static function STATEMENT_IF($condition = true, $returnIfTrue = 0, $returnIfFalse = False) {
263  $condition = (is_null($condition)) ? True : (boolean) PHPExcel_Calculation_Functions::flattenSingleValue($condition);
264  $returnIfTrue = (is_null($returnIfTrue)) ? 0 : PHPExcel_Calculation_Functions::flattenSingleValue($returnIfTrue);
265  $returnIfFalse = (is_null($returnIfFalse)) ? False : PHPExcel_Calculation_Functions::flattenSingleValue($returnIfFalse);
266 
267  return ($condition ? $returnIfTrue : $returnIfFalse);
268  } // function STATEMENT_IF()
269 
270 
283  public static function IFERROR($testValue = '', $errorpart = '') {
284  $testValue = (is_null($testValue)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($testValue);
285  $errorpart = (is_null($errorpart)) ? '' : PHPExcel_Calculation_Functions::flattenSingleValue($errorpart);
286 
287  return self::STATEMENT_IF(PHPExcel_Calculation_Functions::IS_ERROR($testValue), $errorpart, $testValue);
288  } // function IFERROR()
289 
290 } // class PHPExcel_Calculation_Logical