param = $this->parseArgs($argv); } /* * arg parse function, based on one found on the php help page, originally by * patrick@pwfisher.com */ private function parseArgs($argv) { if (is_null($argv)) return array(); array_shift($argv); $out = array(); foreach($argv as $arg) { if(substr($arg, 0, 2) == '--') { $eqPos = strpos($arg, '='); if($eqPos === false) { $key = substr($arg, 2); $out[$key] = isset($out[$key]) ? $out[$key] : true; } else { $key = substr($arg, 2, $eqPos - 2); $out[$key] = substr($arg, $eqPos + 1); } } elseif(substr($arg, 0, 1) == '-') { if(substr($arg, 2, 1) == '=') { $key = substr($arg, 1, 1); $out[$key] = substr($arg, 3); } else { $chars = str_split(substr($arg, 1)); foreach($chars as $char) { $key = $char; $out[$key] = isset($out[$key]) ? $out[$key] : true; } } } else { $out[] = $arg; } } return $out; } public function getType() { return 'CLI'; } public function getParam($key = NULL) { if(!is_null($key)) return $this->param[(string) $key]; return $this->param; } public function update($key, $value) { $this->param[$key] = $value; } public function getUserAgent() { return $this->agent; } public function isValid() { return true; } }