From 22577b17edf1d901ed4f8a3089ed539d89e5f1e4 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 29 May 2008 11:23:04 -0400 Subject: even better boolean handling darcs-hash:20080529152304-84dde-b0b0ea1f919701c2d821d9bf589a30db34dcc015.gz --- lib/action.php | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'lib/action.php') diff --git a/lib/action.php b/lib/action.php index dae50e6e3..50370c09f 100644 --- a/lib/action.php +++ b/lib/action.php @@ -48,14 +48,16 @@ class Action { // lawsuit } function boolean($key, $def=false) { - $arg = $this->arg($key); - return (is_null($arg)) ? $def : - (strcasecmp($arg, 'true') == 0) ? true : - (strcasecmp($arg, 'yes') == 0) ? true : - (strcasecmp($arg, '1') == 0) ? true : - (strcasecmp($arg, 'false') == 0) ? false : - (strcasecmp($arg, 'no') == 0) ? false : - (strcasecmp($arg, '0') == 0) ? false : - $def; + $arg = strtolower($this->trimmed($key)); + + if (is_null($arg)) { + return $def; + } else if (in_array($arg, array('true', 'yes', '1'))) { + return true; + } else if (in_array($arg, array('false', 'no', '0'))) { + return false; + } else { + return $def; + } } } -- cgit v1.2.3-54-g00ecf