From: <var...@us...> - 2012-03-28 15:41:12
|
Revision: 8253 http://phpwiki.svn.sourceforge.net/phpwiki/?rev=8253&view=rev Author: vargenau Date: 2012-03-28 15:41:01 +0000 (Wed, 28 Mar 2012) Log Message: ----------- Whitespace only Modified Paths: -------------- trunk/lib/Units.php Modified: trunk/lib/Units.php =================================================================== --- trunk/lib/Units.php 2012-03-15 16:24:51 UTC (rev 8252) +++ trunk/lib/Units.php 2012-03-28 15:41:01 UTC (rev 8253) @@ -26,8 +26,8 @@ if (DISABLE_UNITS) $this->errcode = 1; elseif (defined("UNITS_EXE")) // ignore dynamic check - $this->errcode = 0; - else + $this->errcode = 0; + else exec("units m2", $o, $this->errcode); } @@ -35,30 +35,30 @@ * $this->_attribute_base = $units->Definition($this->_attribute); */ function Definition ($query) { - static $Definitions = array(); - if (isset($Definitions[$query])) return $Definitions[$query]; - if ($this->errcode) + static $Definitions = array(); + if (isset($Definitions[$query])) return $Definitions[$query]; + if ($this->errcode) return $query; - $query = preg_replace("/,/","", $query); - if ($query == '' or $query == '*') - return ($Definitions[$query] = ''); - // detect date values, currently only ISO: YYYY-MM-DD or YY-MM-DD - if (preg_match("/^(\d{2,4})-(\d{1,2})-(\d{1,2})$/",$query, $m)) { - $date = mktime(0,0,0,$m[2],$m[3],$m[1]); - return ($Definitions[$query] = "$date date"); + $query = preg_replace("/,/","", $query); + if ($query == '' or $query == '*') + return ($Definitions[$query] = ''); + // detect date values, currently only ISO: YYYY-MM-DD or YY-MM-DD + if (preg_match("/^(\d{2,4})-(\d{1,2})-(\d{1,2})$/",$query, $m)) { + $date = mktime(0,0,0,$m[2],$m[3],$m[1]); + return ($Definitions[$query] = "$date date"); + } + if (preg_match("/^(\d{2,4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{2}):?(\d{2})?$/",$query, $m)) { + $date = mktime($m[4],$m[5],@$m[6],$m[2],$m[3],$m[1]); + return ($Definitions[$query] = "$date date"); + } + $def = $this->_cmd("\"$query\""); + if (preg_match("/Definition: (.+)$/",$def,$m)) + return ($Definitions[$query] = $m[1]); + else { + trigger_error("units: ". $def, E_USER_WARNING); + return ''; + } } - if (preg_match("/^(\d{2,4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{2}):?(\d{2})?$/",$query, $m)) { - $date = mktime($m[4],$m[5],@$m[6],$m[2],$m[3],$m[1]); - return ($Definitions[$query] = "$date date"); - } - $def = $this->_cmd("\"$query\""); - if (preg_match("/Definition: (.+)$/",$def,$m)) - return ($Definitions[$query] = $m[1]); - else { - trigger_error("units: ". $def, E_USER_WARNING); - return ''; - } - } /** * We must ensure that the same baseunits are matched against. @@ -66,37 +66,36 @@ * $val_base = $this->_units->basevalue($value); // SemanticAttributeSearchQuery */ function basevalue($query, $def = false) { - if (!$def) $def = $this->Definition($query); - if ($def) { - if (is_numeric($def)) // e.g. "1 million" - return $def; - if (preg_match("/^([-0-9].*) \w.*$/",$def,$m)) - return $m[1]; + if (!$def) $def = $this->Definition($query); + if ($def) { + if (is_numeric($def)) // e.g. "1 million" + return $def; + if (preg_match("/^([-0-9].*) \w.*$/",$def,$m)) + return $m[1]; + } + return ''; } - return ''; - } /** * $this->_unit = $units->baseunit($this->_attribute); // SemanticAttributeSearchQuery * and Cached_SemanticLink::_expandurl() */ function baseunit($query, $def = false) { - if (!$def) $def = $this->Definition($query); - if ($def) { - if (preg_match("/ (.+)$/",$def,$m)) - return $m[1]; + if (!$def) $def = $this->Definition($query); + if ($def) { + if (preg_match("/ (.+)$/",$def,$m)) + return $m[1]; + } + return ''; } - return ''; - } function _cmd($args) { - if ($this->errcode) return $args; - if (defined("UNITS_EXE")) { - $s = UNITS_EXE ." $args"; - $result = `$s`; + if ($this->errcode) return $args; + if (defined("UNITS_EXE")) { + $s = UNITS_EXE ." $args"; + $result = `$s`; + } else + $result = `units $args`; + return trim($result); } - else - $result = `units $args`; - return trim($result); - } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |