File indexing completed on 2025-01-19 05:21:35
0001 <?php 0002 /** 0003 * Zend Framework 0004 * 0005 * LICENSE 0006 * 0007 * This source file is subject to the new BSD license that is bundled 0008 * with this package in the file LICENSE.txt. 0009 * It is also available through the world-wide-web at this URL: 0010 * http://framework.zend.com/license/new-bsd 0011 * If you did not receive a copy of the license and are unable to 0012 * obtain it through the world-wide-web, please send an email 0013 * to license@zend.com so we can send you a copy immediately. 0014 * 0015 * @category Zend 0016 * @package Zend_Tool 0017 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 0018 * @license http://framework.zend.com/license/new-bsd New BSD License 0019 * @version $Id$ 0020 */ 0021 0022 /** 0023 * @category Zend 0024 * @package Zend_Tool 0025 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 0026 * @license http://framework.zend.com/license/new-bsd New BSD License 0027 */ 0028 class Zend_Tool_Framework_Client_Interactive_InputHandler 0029 { 0030 0031 /** 0032 * @var Zend_Tool_Framework_Client_Interactive_InputInterface 0033 */ 0034 protected $_client = null; 0035 0036 protected $_inputRequest = null; 0037 0038 public function setClient(Zend_Tool_Framework_Client_Interactive_InputInterface $client) 0039 { 0040 $this->_client = $client; 0041 return $this; 0042 } 0043 0044 public function setInputRequest($inputRequest) 0045 { 0046 if (is_string($inputRequest)) { 0047 // require_once 'Zend/Tool/Framework/Client/Interactive/InputRequest.php'; 0048 $inputRequest = new Zend_Tool_Framework_Client_Interactive_InputRequest($inputRequest); 0049 } elseif (!$inputRequest instanceof Zend_Tool_Framework_Client_Interactive_InputRequest) { 0050 // require_once 'Zend/Tool/Framework/Client/Exception.php'; 0051 throw new Zend_Tool_Framework_Client_Exception('promptInteractive() requires either a string or an instance of Zend_Tool_Framework_Client_Interactive_InputRequest.'); 0052 } 0053 0054 $this->_inputRequest = $inputRequest; 0055 return $this; 0056 } 0057 0058 public function handle() 0059 { 0060 $inputResponse = $this->_client->handleInteractiveInputRequest($this->_inputRequest); 0061 0062 if (is_string($inputResponse)) { 0063 // require_once 'Zend/Tool/Framework/Client/Interactive/InputResponse.php'; 0064 $inputResponse = new Zend_Tool_Framework_Client_Interactive_InputResponse($inputResponse); 0065 } elseif (!$inputResponse instanceof Zend_Tool_Framework_Client_Interactive_InputResponse) { 0066 // require_once 'Zend/Tool/Framework/Client/Exception.php'; 0067 throw new Zend_Tool_Framework_Client_Exception('The registered $_interactiveCallback for the client must either return a string or an instance of Zend_Tool_Framework_Client_Interactive_InputResponse.'); 0068 } 0069 0070 return $inputResponse; 0071 } 0072 0073 0074 }