--- /dev/null
+<?php
+/**
+ * Copyright 2007 Maintainable Software, LLC
+ * Copyright 2008-2009 The Horde Project (http://www.horde.org/)
+ *
+ * @author Mike Naberezny <mike@maintainable.com>
+ * @author Derek DeVries <derek@maintainable.com>
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @category Horde
+ * @package Horde_Controller
+ * @subpackage Request
+ */
+
+/**
+ * Represents a command line invocation.
+ *
+ * @author Mike Naberezny <mike@maintainable.com>
+ * @author Derek DeVries <derek@maintainable.com>
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @category Horde
+ * @package Horde_Controller
+ * @subpackage Request
+ */
+class Horde_Controller_Request_Cli extends Horde_Controller_Request_Base
+{
+ /**
+ * Command line arguments
+ */
+ protected $_argv;
+
+ /**
+ */
+ public function __construct($options = array())
+ {
+ parent::__construct($options);
+
+ $parser = new Horde_Argv_Parser(array('allowUnknownArgs' => true));
+ list($this->_argv, $args) = $parser->parseArgs();
+ if (count($args) != 1) {
+ throw new Horde_Controller_Exception("unknown command: " . implode(' ', $args));
+ }
+ $this->_path = $args[0];
+ }
+
+ public function getUri()
+ {
+ return $this->getPath();
+ }
+
+ public function getPath()
+ {
+ return $this->_path;
+ }
+
+ /**
+ * Get all command line parameters.
+ * some wacky loops to make sure that nested values in one
+ * param list don't overwrite other nested values
+ *
+ * @return array
+ */
+ public function getParameters()
+ {
+ $allParams = array();
+ $paramArrays = array($this->_pathParams, $this->_argv);
+
+ foreach ($paramArrays as $params) {
+ foreach ((array)$params as $key => $value) {
+ if (!is_array($value) || !isset($allParams[$key])) {
+ $allParams[$key] = $value;
+ } else {
+ $allParams[$key] = array_merge($allParams[$key], $value);
+ }
+ }
+ }
+ return $allParams;
+ }
+
+}
--- /dev/null
+<?php
+/**
+ * Copyright 2007 Maintainable Software, LLC
+ * Copyright 2008-2009 The Horde Project (http://www.horde.org/)
+ *
+ * @author Mike Naberezny <mike@maintainable.com>
+ * @author Derek DeVries <derek@maintainable.com>
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @category Horde
+ * @package Horde_Controller
+ * @subpackage Response
+ */
+
+/**
+ * @author Mike Naberezny <mike@maintainable.com>
+ * @author Derek DeVries <derek@maintainable.com>
+ * @author Chuck Hagenbuch <chuck@horde.org>
+ * @license http://opensource.org/licenses/bsd-license.php
+ * @category Horde
+ * @package Horde_Controller
+ * @subpackage Response
+ */
+class Horde_Controller_Response_Cli extends Horde_Controller_Response_Base
+{
+}
</dir> <!-- /lib/Horde/Controller/Mime -->
<dir name="Request">
<file name="Base.php" role="php" />
+ <file name="Cli.php" role="php" />
<file name="Http.php" role="php" />
<file name="Mock.php" role="php" />
</dir> <!-- /lib/Horde/Controller/Request -->
<dir name="Response">
<file name="Base.php" role="php" />
+ <file name="Cli.php" role="php" />
<file name="Http.php" role="php" />
<file name="Mock.php" role="php" />
</dir> <!-- /lib/Horde/Controller/Response -->
<install name="lib/Horde/Controller/UrlWriter.php" as="Horde/Controller/UrlWriter.php" />
<install name="lib/Horde/Controller/Mime/Type.php" as="Horde/Controller/Mime/Type.php" />
<install name="lib/Horde/Controller/Request/Base.php" as="Horde/Controller/Request/Base.php" />
+ <install name="lib/Horde/Controller/Request/Cli.php" as="Horde/Controller/Request/Cli.php" />
<install name="lib/Horde/Controller/Request/Http.php" as="Horde/Controller/Request/Http.php" />
<install name="lib/Horde/Controller/Request/Mock.php" as="Horde/Controller/Request/Mock.php" />
<install name="lib/Horde/Controller/Response/Base.php" as="Horde/Controller/Response/Base.php" />
+ <install name="lib/Horde/Controller/Response/Cli.php" as="Horde/Controller/Response/Cli.php" />
<install name="lib/Horde/Controller/Response/Http.php" as="Horde/Controller/Response/Http.php" />
<install name="lib/Horde/Controller/Response/Mock.php" as="Horde/Controller/Response/Mock.php" />
</filelist>