CC-2166: Packaging Improvements. Moved the Zend app into airtime_mvc. It is now installed to /var/www/airtime. Storage is now set to /srv/airtime/stor. Utils are now installed to /usr/lib/airtime/utils/. Added install/airtime-dircheck.php as a simple test to see if everything is install/uninstalled correctly.
This commit is contained in:
parent
514777e8d2
commit
b11cbd8159
4546 changed files with 138 additions and 51 deletions
95
airtime_mvc/library/Zend/Tool/Framework/Action/Base.php
Normal file
95
airtime_mvc/library/Zend/Tool/Framework/Action/Base.php
Normal file
|
@ -0,0 +1,95 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Base.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Action_Interface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Action/Interface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Action_Base implements Zend_Tool_Framework_Action_Interface
|
||||
{
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $_name = null;
|
||||
|
||||
/**
|
||||
* constructor -
|
||||
*
|
||||
* @param unknown_type $options
|
||||
*/
|
||||
public function __construct($options = null)
|
||||
{
|
||||
if ($options !== null) {
|
||||
if (is_string($options)) {
|
||||
$this->setName($options);
|
||||
}
|
||||
// implement $options here in the future if this is needed
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* setName()
|
||||
*
|
||||
* @param string $name
|
||||
* @return Zend_Tool_Framework_Action_Base
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
$this->_name = $name;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getName()
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
if ($this->_name == null) {
|
||||
$this->_name = $this->_parseName();
|
||||
}
|
||||
return $this->_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* _parseName - internal method to determine the name of an action when one is not explicity provided.
|
||||
*
|
||||
* @param Zend_Tool_Framework_Action_Interface $action
|
||||
* @return string
|
||||
*/
|
||||
protected function _parseName()
|
||||
{
|
||||
$className = get_class($this);
|
||||
$actionName = substr($className, strrpos($className, '_')+1);
|
||||
return $actionName;
|
||||
}
|
||||
|
||||
}
|
37
airtime_mvc/library/Zend/Tool/Framework/Action/Exception.php
Normal file
37
airtime_mvc/library/Zend/Tool/Framework/Action/Exception.php
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Exception.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Exception
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Exception.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Action_Exception extends Zend_Tool_Framework_Exception
|
||||
{
|
||||
|
||||
}
|
32
airtime_mvc/library/Zend/Tool/Framework/Action/Interface.php
Normal file
32
airtime_mvc/library/Zend/Tool/Framework/Action/Interface.php
Normal file
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Interface.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Action_Interface
|
||||
{
|
||||
public function getName();
|
||||
}
|
138
airtime_mvc/library/Zend/Tool/Framework/Action/Repository.php
Normal file
138
airtime_mvc/library/Zend/Tool/Framework/Action/Repository.php
Normal file
|
@ -0,0 +1,138 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Repository.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry_EnabledInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Action_Repository
|
||||
implements Zend_Tool_Framework_Registry_EnabledInterface, IteratorAggregate, Countable
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Registry_Interface
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_actions = array();
|
||||
|
||||
/**
|
||||
* setRegistry()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Registry_Interface $registry
|
||||
*/
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
}
|
||||
|
||||
/**
|
||||
* addAction()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Action_Interface $action
|
||||
* @return Zend_Tool_Framework_Action_Repository
|
||||
*/
|
||||
public function addAction(Zend_Tool_Framework_Action_Interface $action, $overrideExistingAction = false)
|
||||
{
|
||||
$actionName = $action->getName();
|
||||
|
||||
if ($actionName == '' || $actionName == 'Base') {
|
||||
require_once 'Zend/Tool/Framework/Action/Exception.php';
|
||||
throw new Zend_Tool_Framework_Action_Exception('An action name for the provided action could not be determined.');
|
||||
}
|
||||
|
||||
if (!$overrideExistingAction && array_key_exists(strtolower($actionName), $this->_actions)) {
|
||||
require_once 'Zend/Tool/Framework/Action/Exception.php';
|
||||
throw new Zend_Tool_Framework_Action_Exception('An action by the name ' . $actionName
|
||||
. ' is already registered and $overrideExistingAction is set to false.');
|
||||
}
|
||||
|
||||
$this->_actions[strtolower($actionName)] = $action;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* process() - this is called when the client is done constructing (after init())
|
||||
*
|
||||
* @return unknown
|
||||
*/
|
||||
public function process()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* getActions() - get all actions in the repository
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getActions()
|
||||
{
|
||||
return $this->_actions;
|
||||
}
|
||||
|
||||
/**
|
||||
* getAction() - get an action by a specific name
|
||||
*
|
||||
* @param string $actionName
|
||||
* @return Zend_Tool_Framework_Action_Interface
|
||||
*/
|
||||
public function getAction($actionName)
|
||||
{
|
||||
if (!array_key_exists(strtolower($actionName), $this->_actions)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return $this->_actions[strtolower($actionName)];
|
||||
}
|
||||
|
||||
/**
|
||||
* count() required by the Countable interface
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return count($this->_actions);
|
||||
}
|
||||
|
||||
/**
|
||||
* getIterator() - get all actions, this supports the IteratorAggregate interface
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getIterator()
|
||||
{
|
||||
return new ArrayIterator($this->_actions);
|
||||
}
|
||||
|
||||
}
|
333
airtime_mvc/library/Zend/Tool/Framework/Client/Abstract.php
Normal file
333
airtime_mvc/library/Zend/Tool/Framework/Client/Abstract.php
Normal file
|
@ -0,0 +1,333 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Abstract.php 20967 2010-02-07 18:17:49Z ralph $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Loader_Autoloader
|
||||
*/
|
||||
require_once 'Zend/Loader/Autoloader.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry_EnabledInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
abstract class Zend_Tool_Framework_Client_Abstract implements Zend_Tool_Framework_Registry_EnabledInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Registry
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
/**
|
||||
* @var callback|null
|
||||
*/
|
||||
protected $_interactiveCallback = null;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $_isInitialized = false;
|
||||
|
||||
/**
|
||||
* @var Zend_Log
|
||||
*/
|
||||
protected $_debugLogger = null;
|
||||
|
||||
public function __construct($options = array())
|
||||
{
|
||||
// require autoloader
|
||||
Zend_Loader_Autoloader::getInstance();
|
||||
|
||||
// this might look goofy, but this is setting up the
|
||||
// registry for dependency injection into the client
|
||||
$registry = new Zend_Tool_Framework_Registry();
|
||||
$registry->setClient($this);
|
||||
|
||||
// NOTE: at this moment, $this->_registry should contain the registry object
|
||||
|
||||
if ($options) {
|
||||
$this->setOptions($options);
|
||||
}
|
||||
}
|
||||
|
||||
public function setOptions(Array $options)
|
||||
{
|
||||
foreach ($options as $optionName => $optionValue) {
|
||||
$setMethodName = 'set' . $optionName;
|
||||
if (method_exists($this, $setMethodName)) {
|
||||
$this->{$setMethodName}($optionValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getName() - Return the client name which can be used to
|
||||
* query the manifest if need be.
|
||||
*
|
||||
* @return string The client name
|
||||
*/
|
||||
abstract public function getName();
|
||||
|
||||
/**
|
||||
* initialized() - This will initialize the client for use
|
||||
*
|
||||
*/
|
||||
public function initialize()
|
||||
{
|
||||
// if its already initialized, no need to initialize again
|
||||
if ($this->_isInitialized) {
|
||||
return;
|
||||
}
|
||||
|
||||
// run any preInit
|
||||
$this->_preInit();
|
||||
|
||||
$manifest = $this->_registry->getManifestRepository();
|
||||
$manifest->addManifest(new Zend_Tool_Framework_Client_Manifest());
|
||||
|
||||
// setup the debug log
|
||||
if (!$this->_debugLogger instanceof Zend_Log) {
|
||||
require_once 'Zend/Log.php';
|
||||
require_once 'Zend/Log/Writer/Null.php';
|
||||
$this->_debugLogger = new Zend_Log(new Zend_Log_Writer_Null());
|
||||
}
|
||||
|
||||
// let the loader load, then the repositories process whats been loaded
|
||||
$this->_registry->getLoader()->load();
|
||||
|
||||
// process the action repository
|
||||
$this->_registry->getActionRepository()->process();
|
||||
|
||||
// process the provider repository
|
||||
$this->_registry->getProviderRepository()->process();
|
||||
|
||||
// process the manifest repository
|
||||
$this->_registry->getManifestRepository()->process();
|
||||
|
||||
if ($this instanceof Zend_Tool_Framework_Client_Interactive_InputInterface) {
|
||||
require_once 'Zend/Tool/Framework/Client/Interactive/InputHandler.php';
|
||||
}
|
||||
|
||||
if ($this instanceof Zend_Tool_Framework_Client_Interactive_OutputInterface) {
|
||||
$this->_registry->getResponse()->setContentCallback(array($this, 'handleInteractiveOutput'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This method should be implemented by the client implementation to
|
||||
* construct and set custom inflectors, request and response objects.
|
||||
*/
|
||||
protected function _preInit()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* This method *must* be implemented by the client implementation to
|
||||
* parse out and setup the request objects action, provider and parameter
|
||||
* information.
|
||||
*/
|
||||
abstract protected function _preDispatch();
|
||||
|
||||
/**
|
||||
* This method should be implemented by the client implementation to
|
||||
* take the output of the response object and return it (in an client
|
||||
* specific way) back to the Tooling Client.
|
||||
*/
|
||||
protected function _postDispatch()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* setRegistry() - Required by the Zend_Tool_Framework_Registry_EnabledInterface
|
||||
* interface which ensures proper registry dependency resolution
|
||||
*
|
||||
* @param Zend_Tool_Framework_Registry_Interface $registry
|
||||
* @return Zend_Tool_Framework_Client_Abstract
|
||||
*/
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getRegistry();
|
||||
*
|
||||
* @return Zend_Tool_Framework_Registry_Interface
|
||||
*/
|
||||
public function getRegistry()
|
||||
{
|
||||
return $this->_registry;
|
||||
}
|
||||
|
||||
/**
|
||||
* hasInteractiveInput() - Convienence method for determining if this
|
||||
* client can handle interactive input, and thus be able to run the
|
||||
* promptInteractiveInput
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function hasInteractiveInput()
|
||||
{
|
||||
return ($this instanceof Zend_Tool_Framework_Client_Interactive_InputInterface);
|
||||
}
|
||||
|
||||
public function promptInteractiveInput($inputRequest)
|
||||
{
|
||||
if (!$this->hasInteractiveInput()) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('promptInteractive() cannot be called on a non-interactive client.');
|
||||
}
|
||||
|
||||
$inputHandler = new Zend_Tool_Framework_Client_Interactive_InputHandler();
|
||||
$inputHandler->setClient($this);
|
||||
$inputHandler->setInputRequest($inputRequest);
|
||||
return $inputHandler->handle();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* This method should be called in order to "handle" a Tooling Client
|
||||
* request that has come to the client that has been implemented.
|
||||
*/
|
||||
public function dispatch()
|
||||
{
|
||||
$this->initialize();
|
||||
|
||||
try {
|
||||
|
||||
$this->_preDispatch();
|
||||
|
||||
if ($this->_registry->getRequest()->isDispatchable()) {
|
||||
|
||||
if ($this->_registry->getRequest()->getActionName() == null) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('Client failed to setup the action name.');
|
||||
}
|
||||
|
||||
if ($this->_registry->getRequest()->getProviderName() == null) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('Client failed to setup the provider name.');
|
||||
}
|
||||
|
||||
$this->_handleDispatch();
|
||||
|
||||
}
|
||||
|
||||
} catch (Exception $exception) {
|
||||
$this->_registry->getResponse()->setException($exception);
|
||||
}
|
||||
|
||||
$this->_postDispatch();
|
||||
}
|
||||
|
||||
public function convertToClientNaming($string)
|
||||
{
|
||||
return $string;
|
||||
}
|
||||
|
||||
public function convertFromClientNaming($string)
|
||||
{
|
||||
return $string;
|
||||
}
|
||||
|
||||
protected function _handleDispatch()
|
||||
{
|
||||
// get the provider repository
|
||||
$providerRepository = $this->_registry->getProviderRepository();
|
||||
|
||||
$request = $this->_registry->getRequest();
|
||||
|
||||
// get the dispatchable provider signature
|
||||
$providerSignature = $providerRepository->getProviderSignature($request->getProviderName());
|
||||
|
||||
// get the actual provider
|
||||
$provider = $providerSignature->getProvider();
|
||||
|
||||
// ensure that we can pretend if this is a pretend request
|
||||
if ($request->isPretend() && (!$provider instanceof Zend_Tool_Framework_Provider_Pretendable)) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('Dispatcher error - provider does not support pretend');
|
||||
}
|
||||
|
||||
// get the action name
|
||||
$actionName = $this->_registry->getRequest()->getActionName();
|
||||
$specialtyName = $this->_registry->getRequest()->getSpecialtyName();
|
||||
|
||||
if (!$actionableMethod = $providerSignature->getActionableMethodByActionName($actionName, $specialtyName)) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('Dispatcher error - actionable method not found');
|
||||
}
|
||||
|
||||
// get the actual method and param information
|
||||
$methodName = $actionableMethod['methodName'];
|
||||
$methodParameters = $actionableMethod['parameterInfo'];
|
||||
|
||||
// get the provider params
|
||||
$requestParameters = $this->_registry->getRequest()->getProviderParameters();
|
||||
|
||||
// @todo This seems hackish, determine if there is a better way
|
||||
$callParameters = array();
|
||||
foreach ($methodParameters as $methodParameterName => $methodParameterValue) {
|
||||
if (!array_key_exists($methodParameterName, $requestParameters) && $methodParameterValue['optional'] == false) {
|
||||
if ($this instanceof Zend_Tool_Framework_Client_Interactive_InputInterface) {
|
||||
$promptSting = $this->getMissingParameterPromptString($provider, $actionableMethod['action'], $methodParameterValue['name']);
|
||||
$parameterPromptValue = $this->promptInteractiveInput($promptSting)->getContent();
|
||||
if ($parameterPromptValue == null) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('Value supplied for required parameter "' . $methodParameterValue['name'] . '" is empty');
|
||||
}
|
||||
$callParameters[] = $parameterPromptValue;
|
||||
} else {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('A required parameter "' . $methodParameterValue['name'] . '" was not supplied.');
|
||||
}
|
||||
} else {
|
||||
$callParameters[] = (array_key_exists($methodParameterName, $requestParameters)) ? $requestParameters[$methodParameterName] : $methodParameterValue['default'];
|
||||
}
|
||||
}
|
||||
|
||||
$this->_handleDispatchExecution($provider, $methodName, $callParameters);
|
||||
}
|
||||
|
||||
protected function _handleDispatchExecution($class, $methodName, $callParameters)
|
||||
{
|
||||
if (method_exists($class, $methodName)) {
|
||||
call_user_func_array(array($class, $methodName), $callParameters);
|
||||
} elseif (method_exists($class, $methodName . 'Action')) {
|
||||
call_user_func_array(array($class, $methodName . 'Action'), $callParameters);
|
||||
} else {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('Not a supported method.');
|
||||
}
|
||||
}
|
||||
|
||||
}
|
244
airtime_mvc/library/Zend/Tool/Framework/Client/Config.php
Normal file
244
airtime_mvc/library/Zend/Tool/Framework/Client/Config.php
Normal file
|
@ -0,0 +1,244 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Config.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Config
|
||||
{
|
||||
|
||||
protected $_configFilepath = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Config
|
||||
*/
|
||||
protected $_config = null;
|
||||
|
||||
/**
|
||||
* @param array $options
|
||||
*/
|
||||
public function __config($options = array())
|
||||
{
|
||||
if ($options) {
|
||||
$this->setOptions($options);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $options
|
||||
*/
|
||||
public function setOptions(Array $options)
|
||||
{
|
||||
foreach ($options as $optionName => $optionValue) {
|
||||
$setMethodName = 'set' . $optionName;
|
||||
if (method_exists($this, $setMethodName)) {
|
||||
$this->{$setMethodName}($optionValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $configFilepath
|
||||
* @return Zend_Tool_Framework_Client_Config
|
||||
*/
|
||||
public function setConfigFilepath($configFilepath)
|
||||
{
|
||||
if (!file_exists($configFilepath)) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('Provided path to config ' . $configFilepath . ' does not exist');
|
||||
}
|
||||
|
||||
$this->_configFilepath = $configFilepath;
|
||||
$this->loadConfig($configFilepath);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the configuration from the given path.
|
||||
*
|
||||
* @param string $configFilepath
|
||||
*/
|
||||
protected function loadConfig($configFilepath)
|
||||
{
|
||||
$suffix = substr($configFilepath, -4);
|
||||
|
||||
switch ($suffix) {
|
||||
case '.ini':
|
||||
require_once 'Zend/Config/Ini.php';
|
||||
$this->_config = new Zend_Config_Ini($configFilepath, null, array('allowModifications' => true));
|
||||
break;
|
||||
case '.xml':
|
||||
require_once 'Zend/Config/Xml.php';
|
||||
$this->_config = new Zend_Config_Xml($configFilepath, null, array('allowModifications' => true));
|
||||
break;
|
||||
case '.php':
|
||||
require_once 'Zend/Config.php';
|
||||
$this->_config = new Zend_Config(include $configFilepath, true);
|
||||
break;
|
||||
default:
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('Unknown config file type '
|
||||
. $suffix . ' at location ' . $configFilepath
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the filepath of the configuration.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getConfigFilepath()
|
||||
{
|
||||
return $this->_configFilepath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a configuration value.
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $defaultValue
|
||||
* @return mixed
|
||||
*/
|
||||
public function get($name, $defaultValue=null)
|
||||
{
|
||||
return $this->getConfigInstance()->get($name, $defaultValue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a configuration value
|
||||
*
|
||||
* @param string $name
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get($name)
|
||||
{
|
||||
return $this->getConfigInstance()->{$name};
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a configuration value isset.
|
||||
*
|
||||
* @param string $name
|
||||
* @return boolean
|
||||
*/
|
||||
public function __isset($name)
|
||||
{
|
||||
if($this->exists() == false) {
|
||||
return false;
|
||||
}
|
||||
return isset($this->getConfigInstance()->{$name});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
*/
|
||||
public function __unset($name)
|
||||
{
|
||||
unset($this->getConfigInstance()->$name);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $name
|
||||
* @param mixed $value
|
||||
*/
|
||||
public function __set($name, $value)
|
||||
{
|
||||
return $this->getConfigInstance()->$name = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the User profile has a configuration.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function exists()
|
||||
{
|
||||
return ($this->_config!==null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws Zend_Tool_Framework_Client_Exception
|
||||
* @return Zend_Config
|
||||
*/
|
||||
public function getConfigInstance()
|
||||
{
|
||||
if(!$this->exists()) {
|
||||
require_once "Zend/Tool/Framework/Client/Exception.php";
|
||||
throw new Zend_Tool_Framework_Client_Exception("Client has no persistent configuration.");
|
||||
}
|
||||
|
||||
return $this->_config;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save changes to the configuration into persistence.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function save()
|
||||
{
|
||||
if($this->exists()) {
|
||||
$writer = $this->getConfigWriter();
|
||||
$writer->write($this->getConfigFilepath(), $this->getConfigInstance(), true);
|
||||
$this->loadConfig($this->getConfigFilepath());
|
||||
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the config writer that corresponds to the current config file type.
|
||||
*
|
||||
* @return Zend_Config_Writer_FileAbstract
|
||||
*/
|
||||
protected function getConfigWriter()
|
||||
{
|
||||
$suffix = substr($this->getConfigFilepath(), -4);
|
||||
switch($suffix) {
|
||||
case '.ini':
|
||||
require_once "Zend/Config/Writer/Ini.php";
|
||||
$writer = new Zend_Config_Writer_Ini();
|
||||
$writer->setRenderWithoutSections();
|
||||
break;
|
||||
case '.xml':
|
||||
require_once "Zend/Config/Writer/Xml.php";
|
||||
$writer = new Zend_Config_Writer_Xml();
|
||||
break;
|
||||
case '.php':
|
||||
require_once "Zend/Config/Writer/Array.php";
|
||||
$writer = new Zend_Config_Writer_Array();
|
||||
break;
|
||||
default:
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('Unknown config file type '
|
||||
. $suffix . ' at location ' . $this->getConfigFilepath()
|
||||
);
|
||||
}
|
||||
return $writer;
|
||||
}
|
||||
}
|
307
airtime_mvc/library/Zend/Tool/Framework/Client/Console.php
Normal file
307
airtime_mvc/library/Zend/Tool/Framework/Client/Console.php
Normal file
|
@ -0,0 +1,307 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Console.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Client_Abstract
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Client/Abstract.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Client_Interactive_InputInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Client/Interactive/InputInterface.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Client_Interactive_OutputInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Client/Interactive/OutputInterface.php';
|
||||
|
||||
/**
|
||||
* Zend_Tool_Framework_Client_Console - the CLI Client implementation for Zend_Tool_Framework
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Console
|
||||
extends Zend_Tool_Framework_Client_Abstract
|
||||
implements Zend_Tool_Framework_Client_Interactive_InputInterface,
|
||||
Zend_Tool_Framework_Client_Interactive_OutputInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_configOptions = null;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_storageOptions = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Filter_Word_CamelCaseToDash
|
||||
*/
|
||||
protected $_filterToClientNaming = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Filter_Word_DashToCamelCase
|
||||
*/
|
||||
protected $_filterFromClientNaming = null;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_classesToLoad = array();
|
||||
|
||||
/**
|
||||
* main() - This is typically called from zf.php. This method is a
|
||||
* self contained main() function.
|
||||
*
|
||||
*/
|
||||
public static function main($options = array())
|
||||
{
|
||||
$cliClient = new self($options);
|
||||
$cliClient->dispatch();
|
||||
}
|
||||
|
||||
/**
|
||||
* getName() - return the name of the client, in this case 'console'
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return 'console';
|
||||
}
|
||||
|
||||
/**
|
||||
* setConfigOptions()
|
||||
*
|
||||
* @param $configOptions
|
||||
*/
|
||||
public function setConfigOptions($configOptions)
|
||||
{
|
||||
$this->_configOptions = $configOptions;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* setStorageOptions()
|
||||
*
|
||||
* @param $storageOptions
|
||||
*/
|
||||
public function setStorageOptions($storageOptions)
|
||||
{
|
||||
$this->_storageOptions = $storageOptions;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function setClassesToLoad($classesToLoad)
|
||||
{
|
||||
$this->_classesToLoad = $classesToLoad;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* _init() - Tasks processed before the constructor, generally setting up objects to use
|
||||
*
|
||||
*/
|
||||
protected function _preInit()
|
||||
{
|
||||
$config = $this->_registry->getConfig();
|
||||
|
||||
if ($this->_configOptions != null) {
|
||||
$config->setOptions($this->_configOptions);
|
||||
}
|
||||
|
||||
$storage = $this->_registry->getStorage();
|
||||
|
||||
if ($this->_storageOptions != null && isset($this->_storageOptions['directory'])) {
|
||||
$storage->setAdapter(
|
||||
new Zend_Tool_Framework_Client_Storage_Directory($this->_storageOptions['directory'])
|
||||
);
|
||||
}
|
||||
|
||||
// which classes are essential to initializing Zend_Tool_Framework_Client_Console
|
||||
$classesToLoad = array(
|
||||
'Zend_Tool_Framework_Client_Console_Manifest',
|
||||
'Zend_Tool_Framework_System_Manifest'
|
||||
);
|
||||
|
||||
if ($this->_classesToLoad) {
|
||||
if (is_string($this->_classesToLoad)) {
|
||||
$classesToLoad[] = $this->_classesToLoad;
|
||||
} elseif (is_array($this->_classesToLoad)) {
|
||||
$classesToLoad = array_merge($classesToLoad, $this->_classesToLoad);
|
||||
}
|
||||
}
|
||||
|
||||
// add classes to the basic loader from the config file basicloader.classes.1 ..
|
||||
if (isset($config->basicloader) && isset($config->basicloader->classes)) {
|
||||
foreach ($config->basicloader->classes as $classKey => $className) {
|
||||
array_push($classesToLoad, $className);
|
||||
}
|
||||
}
|
||||
|
||||
$this->_registry->setLoader(
|
||||
new Zend_Tool_Framework_Loader_BasicLoader(array('classesToLoad' => $classesToLoad))
|
||||
);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* _preDispatch() - Tasks handed after initialization but before dispatching
|
||||
*
|
||||
*/
|
||||
protected function _preDispatch()
|
||||
{
|
||||
$response = $this->_registry->getResponse();
|
||||
|
||||
$response->addContentDecorator(new Zend_Tool_Framework_Client_Console_ResponseDecorator_AlignCenter());
|
||||
$response->addContentDecorator(new Zend_Tool_Framework_Client_Console_ResponseDecorator_Indention());
|
||||
$response->addContentDecorator(new Zend_Tool_Framework_Client_Console_ResponseDecorator_Blockize());
|
||||
|
||||
if (function_exists('posix_isatty')) {
|
||||
$response->addContentDecorator(new Zend_Tool_Framework_Client_Console_ResponseDecorator_Colorizer());
|
||||
}
|
||||
|
||||
$response->addContentDecorator(new Zend_Tool_Framework_Client_Response_ContentDecorator_Separator())
|
||||
->setDefaultDecoratorOptions(array('separator' => true));
|
||||
|
||||
$optParser = new Zend_Tool_Framework_Client_Console_ArgumentParser();
|
||||
$optParser->setArguments($_SERVER['argv'])
|
||||
->setRegistry($this->_registry)
|
||||
->parse();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* _postDispatch() - Tasks handled after dispatching
|
||||
*
|
||||
*/
|
||||
protected function _postDispatch()
|
||||
{
|
||||
$request = $this->_registry->getRequest();
|
||||
$response = $this->_registry->getResponse();
|
||||
|
||||
if ($response->isException()) {
|
||||
$helpSystem = new Zend_Tool_Framework_Client_Console_HelpSystem();
|
||||
$helpSystem->setRegistry($this->_registry)
|
||||
->respondWithErrorMessage($response->getException()->getMessage(), $response->getException())
|
||||
->respondWithSpecialtyAndParamHelp(
|
||||
$request->getProviderName(),
|
||||
$request->getActionName()
|
||||
);
|
||||
}
|
||||
|
||||
echo PHP_EOL;
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* handleInteractiveInputRequest() is required by the Interactive InputInterface
|
||||
*
|
||||
*
|
||||
* @param Zend_Tool_Framework_Client_Interactive_InputRequest $inputRequest
|
||||
* @return string
|
||||
*/
|
||||
public function handleInteractiveInputRequest(Zend_Tool_Framework_Client_Interactive_InputRequest $inputRequest)
|
||||
{
|
||||
fwrite(STDOUT, $inputRequest->getContent() . PHP_EOL . 'zf> ');
|
||||
$inputContent = fgets(STDIN);
|
||||
return rtrim($inputContent); // remove the return from the end of the string
|
||||
}
|
||||
|
||||
/**
|
||||
* handleInteractiveOutput() is required by the Interactive OutputInterface
|
||||
*
|
||||
* This allows us to display output immediately from providers, rather
|
||||
* than displaying it after the provider is done.
|
||||
*
|
||||
* @param string $output
|
||||
*/
|
||||
public function handleInteractiveOutput($output)
|
||||
{
|
||||
echo $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* getMissingParameterPromptString()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Provider_Interface $provider
|
||||
* @param Zend_Tool_Framework_Action_Interface $actionInterface
|
||||
* @param string $missingParameterName
|
||||
* @return string
|
||||
*/
|
||||
public function getMissingParameterPromptString(Zend_Tool_Framework_Provider_Interface $provider, Zend_Tool_Framework_Action_Interface $actionInterface, $missingParameterName)
|
||||
{
|
||||
return 'Please provide a value for $' . $missingParameterName;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* convertToClientNaming()
|
||||
*
|
||||
* Convert words to client specific naming, in this case is lower, dash separated
|
||||
*
|
||||
* Filters are lazy-loaded.
|
||||
*
|
||||
* @param string $string
|
||||
* @return string
|
||||
*/
|
||||
public function convertToClientNaming($string)
|
||||
{
|
||||
if (!$this->_filterToClientNaming) {
|
||||
$filter = new Zend_Filter();
|
||||
$filter->addFilter(new Zend_Filter_Word_CamelCaseToDash());
|
||||
$filter->addFilter(new Zend_Filter_StringToLower());
|
||||
|
||||
$this->_filterToClientNaming = $filter;
|
||||
}
|
||||
|
||||
return $this->_filterToClientNaming->filter($string);
|
||||
}
|
||||
|
||||
/**
|
||||
* convertFromClientNaming()
|
||||
*
|
||||
* Convert words from client specific naming to code naming - camelcased
|
||||
*
|
||||
* Filters are lazy-loaded.
|
||||
*
|
||||
* @param string $string
|
||||
* @return string
|
||||
*/
|
||||
public function convertFromClientNaming($string)
|
||||
{
|
||||
if (!$this->_filterFromClientNaming) {
|
||||
$this->_filterFromClientNaming = new Zend_Filter_Word_DashToCamelCase();
|
||||
}
|
||||
|
||||
return $this->_filterFromClientNaming->filter($string);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,532 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: ArgumentParser.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Console_GetOpt
|
||||
*/
|
||||
require_once 'Zend/Console/Getopt.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry_EnabledInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Console_ArgumentParser implements Zend_Tool_Framework_Registry_EnabledInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Registry_Interface
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
protected $_request = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Client_Response
|
||||
*/
|
||||
protected $_response = null;
|
||||
|
||||
/**#@+
|
||||
* @var array
|
||||
*/
|
||||
protected $_argumentsOriginal = null;
|
||||
protected $_argumentsWorking = null;
|
||||
/**#@-*/
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $_help = false;
|
||||
protected $_helpKnownAction = false;
|
||||
protected $_helpKnownProvider = false;
|
||||
protected $_helpKnownSpecialty = false;
|
||||
|
||||
|
||||
/**
|
||||
* setArguments
|
||||
*
|
||||
* @param array $arguments
|
||||
* @return Zend_Tool_Framework_Client_Console_ArgumentParser
|
||||
*/
|
||||
public function setArguments(Array $arguments)
|
||||
{
|
||||
$this->_argumentsOriginal = $this->_argumentsWorking = $arguments;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* setRegistry()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Registry_Interface $registry
|
||||
* @return Zend_Tool_Framework_Client_Console_ArgumentParser
|
||||
*/
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
// get the client registry
|
||||
$this->_registry = $registry;
|
||||
|
||||
// set manifest repository, request, response for easy access
|
||||
$this->_manifestRepository = $this->_registry->getManifestRepository();
|
||||
$this->_request = $this->_registry->getRequest();
|
||||
$this->_response = $this->_registry->getResponse();
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parse() - This method does the work of parsing the arguments into the enpooint request,
|
||||
* this will also (during help operations) fill the response in with information as needed
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
public function parse()
|
||||
{
|
||||
|
||||
if ($this->_request == null || $this->_response == null) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('The client registry must have both a request and response registered.');
|
||||
}
|
||||
|
||||
// setup the help options
|
||||
$helpResponseOptions = array();
|
||||
|
||||
// check to see if the first cli arg is the script name
|
||||
if ($this->_argumentsWorking[0] == $_SERVER['SCRIPT_NAME' ]) {
|
||||
array_shift($this->_argumentsWorking);
|
||||
}
|
||||
|
||||
// process global options
|
||||
try {
|
||||
$this->_parseGlobalPart();
|
||||
} catch (Zend_Tool_Framework_Client_Exception $exception) {
|
||||
$this->_createHelpResponse(array('error' => $exception->getMessage()));
|
||||
return;
|
||||
}
|
||||
|
||||
// ensure there are arguments left
|
||||
if (count($this->_argumentsWorking) == 0) {
|
||||
$this->_request->setDispatchable(false); // at this point request is not dispatchable
|
||||
|
||||
// check to see if this was a help request
|
||||
if ($this->_help) {
|
||||
$this->_createHelpResponse();
|
||||
} else {
|
||||
$this->_createHelpResponse(array('error' => 'An action and provider is required.'));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// process the action part of the command line
|
||||
try {
|
||||
$this->_parseActionPart();
|
||||
} catch (Zend_Tool_Framework_Client_Exception $exception) {
|
||||
$this->_request->setDispatchable(false);
|
||||
$this->_createHelpResponse(array('error' => $exception->getMessage()));
|
||||
return;
|
||||
}
|
||||
|
||||
if ($this->_helpKnownAction) {
|
||||
$helpResponseOptions = array_merge(
|
||||
$helpResponseOptions,
|
||||
array('actionName' => $this->_request->getActionName())
|
||||
);
|
||||
}
|
||||
|
||||
/* @TODO Action Parameter Requirements */
|
||||
|
||||
// make sure there are more "words" on the command line
|
||||
if (count($this->_argumentsWorking) == 0) {
|
||||
$this->_request->setDispatchable(false); // at this point request is not dispatchable
|
||||
|
||||
// check to see if this is a help request
|
||||
if ($this->_help) {
|
||||
$this->_createHelpResponse($helpResponseOptions);
|
||||
} else {
|
||||
$this->_createHelpResponse(array_merge($helpResponseOptions, array('error' => 'A provider is required.')));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// process the provider part of the command line
|
||||
try {
|
||||
$this->_parseProviderPart();
|
||||
} catch (Zend_Tool_Framework_Client_Exception $exception) {
|
||||
$this->_request->setDispatchable(false);
|
||||
$this->_createHelpResponse(array('error' => $exception->getMessage()));
|
||||
return;
|
||||
}
|
||||
|
||||
if ($this->_helpKnownProvider) {
|
||||
$helpResponseOptions = array_merge(
|
||||
$helpResponseOptions,
|
||||
array('providerName' => $this->_request->getProviderName())
|
||||
);
|
||||
}
|
||||
|
||||
if ($this->_helpKnownSpecialty) {
|
||||
$helpResponseOptions = array_merge(
|
||||
$helpResponseOptions,
|
||||
array('specialtyName' => $this->_request->getSpecialtyName())
|
||||
);
|
||||
}
|
||||
|
||||
// if there are arguments on the command line, lets process them as provider options
|
||||
if (count($this->_argumentsWorking) != 0) {
|
||||
$this->_parseProviderOptionsPart();
|
||||
}
|
||||
|
||||
// if there is still arguments lingering around, we can assume something is wrong
|
||||
if (count($this->_argumentsWorking) != 0) {
|
||||
$this->_request->setDispatchable(false); // at this point request is not dispatchable
|
||||
if ($this->_help) {
|
||||
$this->_createHelpResponse($helpResponseOptions);
|
||||
} else {
|
||||
$this->_createHelpResponse(array_merge(
|
||||
$helpResponseOptions,
|
||||
array('error' => 'Unknown arguments left on the command line: ' . implode(' ', $this->_argumentsWorking))
|
||||
));
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// everything was processed and this is a request for help information
|
||||
if ($this->_help) {
|
||||
$this->_request->setDispatchable(false); // at this point request is not dispatchable
|
||||
$this->_createHelpResponse($helpResponseOptions);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal routine for parsing global options from the command line
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
protected function _parseGlobalPart()
|
||||
{
|
||||
$getoptOptions = array();
|
||||
$getoptOptions['help|h'] = 'HELP';
|
||||
$getoptOptions['verbose|v'] = 'VERBOSE';
|
||||
$getoptOptions['pretend|p'] = 'PRETEND';
|
||||
$getoptOptions['debug|d'] = 'DEBUG';
|
||||
$getoptParser = new Zend_Console_Getopt($getoptOptions, $this->_argumentsWorking, array('parseAll' => false));
|
||||
|
||||
// @todo catch any exceptions here
|
||||
$getoptParser->parse();
|
||||
|
||||
foreach ($getoptParser->getOptions() as $option) {
|
||||
if ($option == 'pretend') {
|
||||
$this->_request->setPretend(true);
|
||||
} elseif ($option == 'debug') {
|
||||
$this->_request->setDebug(true);
|
||||
} elseif ($option == 'verbose') {
|
||||
$this->_request->setVerbose(true);
|
||||
} else {
|
||||
$property = '_'.$option;
|
||||
$this->{$property} = true;
|
||||
}
|
||||
}
|
||||
|
||||
$this->_argumentsWorking = $getoptParser->getRemainingArgs();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal routine for parsing the action name from the arguments
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
protected function _parseActionPart()
|
||||
{
|
||||
// the next "word" should be the action name
|
||||
$consoleActionName = array_shift($this->_argumentsWorking);
|
||||
|
||||
if ($consoleActionName == '?') {
|
||||
$this->_help = true;
|
||||
return;
|
||||
}
|
||||
|
||||
$actionSearchCriteria = array(
|
||||
'type' => 'Tool',
|
||||
'name' => 'actionName',
|
||||
'value' => $consoleActionName,
|
||||
'clientName' => 'console'
|
||||
);
|
||||
|
||||
// is the action name valid?
|
||||
$actionMetadata = $this->_manifestRepository->getMetadata($actionSearchCriteria);
|
||||
|
||||
// check for normalized names as well (all lower, no separators)
|
||||
if (!$actionMetadata) {
|
||||
$actionSearchCriteria['name'] = 'normalizedActionName';
|
||||
$actionSearchCriteria['value'] = strtolower(str_replace(array('-', '_'), '', $consoleActionName));
|
||||
$actionSearchCriteria['clientName'] = 'all';
|
||||
$actionMetadata = $this->_manifestRepository->getMetadata($actionSearchCriteria);
|
||||
}
|
||||
|
||||
// if no action, handle error
|
||||
if (!$actionMetadata) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('Action \'' . $consoleActionName . '\' is not a valid action.');
|
||||
}
|
||||
|
||||
// prepare action request name
|
||||
$this->_helpKnownAction = true;
|
||||
$this->_request->setActionName($actionMetadata->getActionName());
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal routine for parsing the provider part of the command line arguments
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
protected function _parseProviderPart()
|
||||
{
|
||||
// get the cli "word" as the provider name from command line
|
||||
$consoleProviderFull = array_shift($this->_argumentsWorking);
|
||||
$consoleSpecialtyName = '_global';
|
||||
|
||||
// if there is notation for specialties? If so, break them up
|
||||
if (strstr($consoleProviderFull, '.')) {
|
||||
list($consoleProviderName, $consoleSpecialtyName) = explode('.', $consoleProviderFull);
|
||||
} else {
|
||||
$consoleProviderName = $consoleProviderFull;
|
||||
}
|
||||
|
||||
if ($consoleProviderName == '?') {
|
||||
$this->_help = true;
|
||||
return;
|
||||
}
|
||||
|
||||
$providerSearchCriteria = array(
|
||||
'type' => 'Tool',
|
||||
'name' => 'providerName',
|
||||
'value' => $consoleProviderName,
|
||||
'clientName' => 'console'
|
||||
);
|
||||
|
||||
// get the cli provider names from the manifest
|
||||
$providerMetadata = $this->_manifestRepository->getMetadata($providerSearchCriteria);
|
||||
|
||||
// check for normalized names as well (all lower, no separators)
|
||||
if (!$providerMetadata) {
|
||||
$providerSearchCriteria['name'] = 'normalizedProviderName';
|
||||
$providerSearchCriteria['value'] = strtolower(str_replace(array('-', '_'), '', $consoleProviderName));
|
||||
$providerSearchCriteria['clientName'] = 'all';
|
||||
$providerMetadata = $this->_manifestRepository->getMetadata($providerSearchCriteria);
|
||||
}
|
||||
|
||||
if (!$providerMetadata) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception(
|
||||
'Provider \'' . $consoleProviderFull . '\' is not a valid provider.'
|
||||
);
|
||||
}
|
||||
|
||||
$this->_helpKnownProvider = true;
|
||||
$this->_request->setProviderName($providerMetadata->getProviderName());
|
||||
|
||||
if ($consoleSpecialtyName == '?') {
|
||||
$this->_help = true;
|
||||
return;
|
||||
}
|
||||
|
||||
$providerSpecialtySearchCriteria = array(
|
||||
'type' => 'Tool',
|
||||
'name' => 'specialtyName',
|
||||
'value' => $consoleSpecialtyName,
|
||||
'providerName' => $providerMetadata->getProviderName(),
|
||||
'clientName' => 'console'
|
||||
);
|
||||
|
||||
$providerSpecialtyMetadata = $this->_manifestRepository->getMetadata($providerSpecialtySearchCriteria);
|
||||
|
||||
if (!$providerSpecialtyMetadata) {
|
||||
$providerSpecialtySearchCriteria['name'] = 'normalizedSpecialtyName';
|
||||
$providerSpecialtySearchCriteria['value'] = strtolower(str_replace(array('-', '_'), '', $consoleSpecialtyName));
|
||||
$providerSpecialtySearchCriteria['clientName'] = 'all';
|
||||
$providerSpecialtyMetadata = $this->_manifestRepository->getMetadata($providerSpecialtySearchCriteria);
|
||||
}
|
||||
|
||||
if (!$providerSpecialtyMetadata) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception(
|
||||
'Provider \'' . $consoleSpecialtyName . '\' is not a valid specialty.'
|
||||
);
|
||||
}
|
||||
|
||||
$this->_helpKnownSpecialty = true;
|
||||
$this->_request->setSpecialtyName($providerSpecialtyMetadata->getSpecialtyName());
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal routine for parsing the provider options from the command line
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
protected function _parseProviderOptionsPart()
|
||||
{
|
||||
if (current($this->_argumentsWorking) == '?') {
|
||||
$this->_help = true;
|
||||
return;
|
||||
}
|
||||
|
||||
$searchParams = array(
|
||||
'type' => 'Tool',
|
||||
'providerName' => $this->_request->getProviderName(),
|
||||
'actionName' => $this->_request->getActionName(),
|
||||
'specialtyName' => $this->_request->getSpecialtyName(),
|
||||
'clientName' => 'console'
|
||||
);
|
||||
|
||||
$actionableMethodLongParamsMetadata = $this->_manifestRepository->getMetadata(
|
||||
array_merge($searchParams, array('name' => 'actionableMethodLongParams'))
|
||||
);
|
||||
|
||||
$actionableMethodShortParamsMetadata = $this->_manifestRepository->getMetadata(
|
||||
array_merge($searchParams, array('name' => 'actionableMethodShortParams'))
|
||||
);
|
||||
|
||||
$paramNameShortValues = $actionableMethodShortParamsMetadata->getValue();
|
||||
|
||||
$getoptOptions = array();
|
||||
$wordArguments = array();
|
||||
$longParamCanonicalNames = array();
|
||||
|
||||
$actionableMethodLongParamsMetadataReference = $actionableMethodLongParamsMetadata->getReference();
|
||||
foreach ($actionableMethodLongParamsMetadata->getValue() as $parameterNameLong => $consoleParameterNameLong) {
|
||||
$optionConfig = $consoleParameterNameLong . '|';
|
||||
|
||||
$parameterInfo = $actionableMethodLongParamsMetadataReference['parameterInfo'][$parameterNameLong];
|
||||
|
||||
// process ParameterInfo into array for command line option matching
|
||||
if ($parameterInfo['type'] == 'string' || $parameterInfo['type'] == 'bool') {
|
||||
$optionConfig .= $paramNameShortValues[$parameterNameLong]
|
||||
. (($parameterInfo['optional']) ? '-' : '=') . 's';
|
||||
} elseif (in_array($parameterInfo['type'], array('int', 'integer', 'float'))) {
|
||||
$optionConfig .= $paramNameShortValues[$parameterNameLong]
|
||||
. (($parameterInfo['optional']) ? '-' : '=') . 'i';
|
||||
} else {
|
||||
$optionConfig .= $paramNameShortValues[$parameterNameLong] . '-s';
|
||||
}
|
||||
|
||||
$getoptOptions[$optionConfig] = ($parameterInfo['description'] != '') ? $parameterInfo['description'] : 'No description available.';
|
||||
|
||||
|
||||
// process ParameterInfo into array for command line WORD (argument) matching
|
||||
$wordArguments[$parameterInfo['position']]['parameterName'] = $parameterInfo['name'];
|
||||
$wordArguments[$parameterInfo['position']]['optional'] = $parameterInfo['optional'];
|
||||
$wordArguments[$parameterInfo['position']]['type'] = $parameterInfo['type'];
|
||||
|
||||
// keep a translation of console to canonical names
|
||||
$longParamCanonicalNames[$consoleParameterNameLong] = $parameterNameLong;
|
||||
}
|
||||
|
||||
|
||||
if (!$getoptOptions) {
|
||||
// no options to parse here, return
|
||||
return;
|
||||
}
|
||||
|
||||
// if non-option arguments exist, attempt to process them before processing options
|
||||
$wordStack = array();
|
||||
while (($wordOnTop = array_shift($this->_argumentsWorking))) {
|
||||
if (substr($wordOnTop, 0, 1) != '-') {
|
||||
array_push($wordStack, $wordOnTop);
|
||||
} else {
|
||||
// put word back on stack and move on
|
||||
array_unshift($this->_argumentsWorking, $wordOnTop);
|
||||
break;
|
||||
}
|
||||
|
||||
if (count($wordStack) == count($wordArguments)) {
|
||||
// when we get at most the number of arguments we are expecting
|
||||
// then break out.
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ($wordStack && $wordArguments) {
|
||||
for ($wordIndex = 1; $wordIndex <= count($wordArguments); $wordIndex++) {
|
||||
if (!array_key_exists($wordIndex-1, $wordStack) || !array_key_exists($wordIndex, $wordArguments)) {
|
||||
break;
|
||||
}
|
||||
$this->_request->setProviderParameter($wordArguments[$wordIndex]['parameterName'], $wordStack[$wordIndex-1]);
|
||||
unset($wordStack[$wordIndex-1]);
|
||||
}
|
||||
}
|
||||
|
||||
$getoptParser = new Zend_Console_Getopt($getoptOptions, $this->_argumentsWorking, array('parseAll' => false));
|
||||
$getoptParser->parse();
|
||||
foreach ($getoptParser->getOptions() as $option) {
|
||||
$value = $getoptParser->getOption($option);
|
||||
$providerParamOption = $longParamCanonicalNames[$option];
|
||||
$this->_request->setProviderParameter($providerParamOption, $value);
|
||||
}
|
||||
|
||||
$this->_argumentsWorking = $getoptParser->getRemainingArgs();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* _createHelpResponse
|
||||
*
|
||||
* @param unknown_type $options
|
||||
*/
|
||||
protected function _createHelpResponse($options = array())
|
||||
{
|
||||
require_once 'Zend/Tool/Framework/Client/Console/HelpSystem.php';
|
||||
$helpSystem = new Zend_Tool_Framework_Client_Console_HelpSystem();
|
||||
$helpSystem->setRegistry($this->_registry);
|
||||
|
||||
if (isset($options['error'])) {
|
||||
$helpSystem->respondWithErrorMessage($options['error']);
|
||||
}
|
||||
|
||||
if (isset($options['actionName']) && isset($options['providerName'])) {
|
||||
$helpSystem->respondWithSpecialtyAndParamHelp($options['providerName'], $options['actionName']);
|
||||
} elseif (isset($options['actionName'])) {
|
||||
$helpSystem->respondWithActionHelp($options['actionName']);
|
||||
} elseif (isset($options['providerName'])) {
|
||||
$helpSystem->respondWithProviderHelp($options['providerName']);
|
||||
} else {
|
||||
$helpSystem->respondWithGeneralHelp();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,378 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: HelpSystem.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Console_HelpSystem
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Registry_Interface
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Client_Response
|
||||
*/
|
||||
protected $_response = null;
|
||||
|
||||
/**
|
||||
* setRegistry()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Registry_Interface $registry
|
||||
* @return Zend_Tool_Framework_Client_Console_HelpSystem
|
||||
*/
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
$this->_response = $registry->getResponse();
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* respondWithErrorMessage()
|
||||
*
|
||||
* @param string $errorMessage
|
||||
* @param Exception $exception
|
||||
*/
|
||||
public function respondWithErrorMessage($errorMessage, Exception $exception = null)
|
||||
{
|
||||
// break apart the message into wrapped chunks
|
||||
$errorMessages = explode(PHP_EOL, wordwrap($errorMessage, 70, PHP_EOL, false));
|
||||
|
||||
$text = 'An Error Has Occurred';
|
||||
$this->_response->appendContent($text, array('color' => array('hiWhite', 'bgRed'), 'aligncenter' => true));
|
||||
$this->_response->appendContent($errorMessage, array('indention' => 1, 'blockize' => 72, 'color' => array('white', 'bgRed')));
|
||||
|
||||
if ($exception && $this->_registry->getRequest()->isDebug()) {
|
||||
$this->_response->appendContent($exception->getTraceAsString());
|
||||
}
|
||||
|
||||
$this->_response->appendContent(null, array('separator' => true));
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* respondWithGeneralHelp()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Client_Console_HelpSystem
|
||||
*/
|
||||
public function respondWithGeneralHelp()
|
||||
{
|
||||
$this->_respondWithHeader();
|
||||
|
||||
$noSeparator = array('separator' => false);
|
||||
|
||||
$this->_response->appendContent('Usage:', array('color' => 'green'))
|
||||
->appendContent(' ', $noSeparator)
|
||||
->appendContent('zf', array_merge(array('color' => 'cyan'), $noSeparator))
|
||||
->appendContent(' [--global-opts]', $noSeparator)
|
||||
->appendContent(' action-name', array_merge(array('color' => 'cyan'), $noSeparator))
|
||||
->appendContent(' [--action-opts]', $noSeparator)
|
||||
->appendContent(' provider-name', array_merge(array('color' => 'cyan'), $noSeparator))
|
||||
->appendContent(' [--provider-opts]', $noSeparator)
|
||||
->appendContent(' [provider parameters ...]')
|
||||
->appendContent(' Note: You may use "?" in any place of the above usage string to ask for more specific help information.', array('color'=>'yellow'))
|
||||
->appendContent(' Example: "zf ? version" will list all available actions for the version provider.', array('color'=>'yellow', 'separator' => 2))
|
||||
->appendContent('Providers and their actions:', array('color' => 'green'));
|
||||
|
||||
$this->_respondWithSystemInformation();
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* respondWithActionHelp()
|
||||
*
|
||||
* @param string $actionName
|
||||
* @return Zend_Tool_Framework_Client_Console_HelpSystem
|
||||
*/
|
||||
public function respondWithActionHelp($actionName)
|
||||
{
|
||||
$this->_respondWithHeader();
|
||||
$this->_response->appendContent('Providers that support the action "' . $actionName . '"', array('color' => 'green'));
|
||||
$this->_respondWithSystemInformation(null, $actionName);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* respondWithSpecialtyAndParamHelp()
|
||||
*
|
||||
* @param string $providerName
|
||||
* @param string $actionName
|
||||
* @return Zend_Tool_Framework_Client_Console_HelpSystem
|
||||
*/
|
||||
public function respondWithSpecialtyAndParamHelp($providerName, $actionName)
|
||||
{
|
||||
$this->_respondWithHeader();
|
||||
$this->_response->appendContent(
|
||||
'Details for action "' . $actionName . '" and provider "' . $providerName . '"',
|
||||
array('color' => 'green')
|
||||
);
|
||||
$this->_respondWithSystemInformation($providerName, $actionName, true);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* respondWithProviderHelp()
|
||||
*
|
||||
* @param string $providerName
|
||||
* @return Zend_Tool_Framework_Client_Console_HelpSystem
|
||||
*/
|
||||
public function respondWithProviderHelp($providerName)
|
||||
{
|
||||
$this->_respondWithHeader();
|
||||
$this->_response->appendContent('Actions supported by provider "' . $providerName . '"', array('color' => 'green'));
|
||||
$this->_respondWithSystemInformation($providerName);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* _respondWithHeader()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Client_Console_HelpSystem
|
||||
*/
|
||||
protected function _respondWithHeader()
|
||||
{
|
||||
/**
|
||||
* @see Zend_Version
|
||||
*/
|
||||
require_once 'Zend/Version.php';
|
||||
$this->_response->appendContent('Zend Framework', array('color' => array('hiWhite'), 'separator' => false));
|
||||
$this->_response->appendContent(' Command Line Console Tool v' . Zend_Version::VERSION . '');
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* _respondWithSystemInformation()
|
||||
*
|
||||
* @param string $providerNameFilter
|
||||
* @param string $actionNameFilter
|
||||
* @param bool $includeAllSpecialties
|
||||
* @return Zend_Tool_Framework_Client_Console_HelpSystem
|
||||
*/
|
||||
protected function _respondWithSystemInformation($providerNameFilter = null, $actionNameFilter = null, $includeAllSpecialties = false)
|
||||
{
|
||||
$manifest = $this->_registry->getManifestRepository();
|
||||
|
||||
$providerMetadatasSearch = array(
|
||||
'type' => 'Tool',
|
||||
'name' => 'providerName',
|
||||
'clientName' => 'console'
|
||||
);
|
||||
|
||||
if (is_string($providerNameFilter)) {
|
||||
$providerMetadatasSearch = array_merge($providerMetadatasSearch, array('providerName' => $providerNameFilter));
|
||||
}
|
||||
|
||||
$actionMetadatasSearch = array(
|
||||
'type' => 'Tool',
|
||||
'name' => 'actionName',
|
||||
'clientName' => 'console'
|
||||
);
|
||||
|
||||
if (is_string($actionNameFilter)) {
|
||||
$actionMetadatasSearch = array_merge($actionMetadatasSearch, array('actionName' => $actionNameFilter));
|
||||
}
|
||||
|
||||
// get the metadata's for the things to display
|
||||
$displayProviderMetadatas = $manifest->getMetadatas($providerMetadatasSearch);
|
||||
$displayActionMetadatas = $manifest->getMetadatas($actionMetadatasSearch);
|
||||
|
||||
// create index of actionNames
|
||||
for ($i = 0; $i < count($displayActionMetadatas); $i++) {
|
||||
$displayActionNames[] = $displayActionMetadatas[$i]->getActionName();
|
||||
}
|
||||
|
||||
foreach ($displayProviderMetadatas as $providerMetadata) {
|
||||
|
||||
$providerNameDisplayed = false;
|
||||
|
||||
$providerName = $providerMetadata->getProviderName();
|
||||
$providerSignature = $providerMetadata->getReference();
|
||||
|
||||
foreach ($providerSignature->getActions() as $actionInfo) {
|
||||
|
||||
$actionName = $actionInfo->getName();
|
||||
|
||||
// check to see if this action name is valid
|
||||
if (($foundActionIndex = array_search($actionName, $displayActionNames)) === false) {
|
||||
continue;
|
||||
} else {
|
||||
$actionMetadata = $displayActionMetadatas[$foundActionIndex];
|
||||
}
|
||||
|
||||
$specialtyMetadata = $manifest->getMetadata(array(
|
||||
'type' => 'Tool',
|
||||
'name' => 'specialtyName',
|
||||
'providerName' => $providerName,
|
||||
'specialtyName' => '_Global',
|
||||
'clientName' => 'console'
|
||||
));
|
||||
|
||||
// lets do the main _Global action first
|
||||
$actionableGlobalLongParamMetadata = $manifest->getMetadata(array(
|
||||
'type' => 'Tool',
|
||||
'name' => 'actionableMethodLongParams',
|
||||
'providerName' => $providerName,
|
||||
'specialtyName' => '_Global',
|
||||
'actionName' => $actionName,
|
||||
'clientName' => 'console'
|
||||
));
|
||||
|
||||
$actionableGlobalMetadatas = $manifest->getMetadatas(array(
|
||||
'type' => 'Tool',
|
||||
'name' => 'actionableMethodLongParams',
|
||||
'providerName' => $providerName,
|
||||
'actionName' => $actionName,
|
||||
'clientName' => 'console'
|
||||
));
|
||||
|
||||
if ($actionableGlobalLongParamMetadata) {
|
||||
|
||||
if (!$providerNameDisplayed) {
|
||||
$this->_respondWithProviderName($providerMetadata);
|
||||
$providerNameDisplayed = true;
|
||||
}
|
||||
|
||||
$this->_respondWithCommand($providerMetadata, $actionMetadata, $specialtyMetadata, $actionableGlobalLongParamMetadata);
|
||||
|
||||
$actionIsGlobal = true;
|
||||
} else {
|
||||
$actionIsGlobal = false;
|
||||
}
|
||||
|
||||
// check for providers without a _Global action
|
||||
$isSingleSpecialProviderAction = false;
|
||||
if (!$actionIsGlobal && count($actionableGlobalMetadatas) == 1) {
|
||||
$isSingleSpecialProviderAction = true;
|
||||
$this->_respondWithProviderName($providerMetadata);
|
||||
$providerNameDisplayed = true;
|
||||
}
|
||||
|
||||
if ($includeAllSpecialties || $isSingleSpecialProviderAction) {
|
||||
|
||||
foreach ($providerSignature->getSpecialties() as $specialtyName) {
|
||||
|
||||
if ($specialtyName == '_Global') {
|
||||
continue;
|
||||
}
|
||||
|
||||
$specialtyMetadata = $manifest->getMetadata(array(
|
||||
'type' => 'Tool',
|
||||
'name' => 'specialtyName',
|
||||
'providerName' => $providerMetadata->getProviderName(),
|
||||
'specialtyName' => $specialtyName,
|
||||
'clientName' => 'console'
|
||||
));
|
||||
|
||||
$actionableSpecialtyLongMetadata = $manifest->getMetadata(array(
|
||||
'type' => 'Tool',
|
||||
'name' => 'actionableMethodLongParams',
|
||||
'providerName' => $providerMetadata->getProviderName(),
|
||||
'specialtyName' => $specialtyName,
|
||||
'actionName' => $actionName,
|
||||
'clientName' => 'console'
|
||||
));
|
||||
|
||||
if($actionableSpecialtyLongMetadata) {
|
||||
$this->_respondWithCommand($providerMetadata, $actionMetadata, $specialtyMetadata, $actionableSpecialtyLongMetadata);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// reset the special flag for single provider action with specialty
|
||||
$isSingleSpecialProviderAction = false;
|
||||
|
||||
if (!$includeAllSpecialties && count($actionableGlobalMetadatas) > 1) {
|
||||
$this->_response->appendContent(' Note: There are specialties, use ', array('color' => 'yellow', 'separator' => false));
|
||||
$this->_response->appendContent(
|
||||
'zf ' . $actionMetadata->getValue() . ' ' . $providerMetadata->getValue() . '.?',
|
||||
array('color' => 'cyan', 'separator' => false)
|
||||
);
|
||||
$this->_response->appendContent(' to get specific help on them.', array('color' => 'yellow'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ($providerNameDisplayed) {
|
||||
$this->_response->appendContent(null, array('separator' => true));
|
||||
}
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* _respondWithProviderName()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Metadata_Tool $providerMetadata
|
||||
* @return Zend_Tool_Framework_Client_Console_HelpSystem
|
||||
*/
|
||||
protected function _respondWithProviderName(Zend_Tool_Framework_Metadata_Tool $providerMetadata)
|
||||
{
|
||||
$this->_response->appendContent(' ' . $providerMetadata->getProviderName());
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* _respondWithCommand()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Metadata_Tool $providerMetadata
|
||||
* @param Zend_Tool_Framework_Metadata_Tool $actionMetadata
|
||||
* @param Zend_Tool_Framework_Metadata_Tool $specialtyMetadata
|
||||
* @param Zend_Tool_Framework_Metadata_Tool $parameterLongMetadata
|
||||
* @return Zend_Tool_Framework_Client_Console_HelpSystem
|
||||
*/
|
||||
protected function _respondWithCommand(
|
||||
Zend_Tool_Framework_Metadata_Tool $providerMetadata,
|
||||
Zend_Tool_Framework_Metadata_Tool $actionMetadata,
|
||||
Zend_Tool_Framework_Metadata_Tool $specialtyMetadata,
|
||||
Zend_Tool_Framework_Metadata_Tool $parameterLongMetadata)//,
|
||||
//Zend_Tool_Framework_Metadata_Tool $parameterShortMetadata)
|
||||
{
|
||||
$this->_response->appendContent(
|
||||
' zf ' . $actionMetadata->getValue() . ' ' . $providerMetadata->getValue(),
|
||||
array('color' => 'cyan', 'separator' => false)
|
||||
);
|
||||
|
||||
if ($specialtyMetadata->getSpecialtyName() != '_Global') {
|
||||
$this->_response->appendContent('.' . $specialtyMetadata->getValue(), array('color' => 'cyan', 'separator' => false));
|
||||
}
|
||||
|
||||
foreach ($parameterLongMetadata->getValue() as $paramName => $consoleParamName) {
|
||||
$methodInfo = $parameterLongMetadata->getReference();
|
||||
$paramString = ' ' . $consoleParamName;
|
||||
if ( ($defaultValue = $methodInfo['parameterInfo'][$paramName]['default']) != null) {
|
||||
$paramString .= '[=' . $defaultValue . ']';
|
||||
}
|
||||
$this->_response->appendContent($paramString . '', array('separator' => false));
|
||||
}
|
||||
|
||||
$this->_response->appendContent(null, array('separator' => true));
|
||||
return $this;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,209 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Manifest.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Manifest_MetadataManifestable
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Manifest/MetadataManifestable.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Filter
|
||||
*/
|
||||
require_once 'Zend/Filter.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Filter_Word_CamelCaseToDash
|
||||
*/
|
||||
require_once 'Zend/Filter/Word/CamelCaseToDash.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Filter_StringToLower
|
||||
*/
|
||||
require_once 'Zend/Filter/StringToLower.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Metadata_Tool
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Metadata/Tool.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry_EnabledInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';
|
||||
|
||||
/**
|
||||
* Zend_Tool_Framework_Client_ConsoleClient_Manifest
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Console_Manifest
|
||||
implements Zend_Tool_Framework_Registry_EnabledInterface,
|
||||
Zend_Tool_Framework_Manifest_MetadataManifestable
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Registry_Interface
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
/**
|
||||
* setRegistry() - Required for the Zend_Tool_Framework_Registry_EnabledInterface interface
|
||||
*
|
||||
* @param Zend_Tool_Framework_Registry_Interface $registry
|
||||
* @return Zend_Tool_Framework_Client_Console_Manifest
|
||||
*/
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getMetadata() is required by the Manifest Interface.
|
||||
*
|
||||
* These are the following metadatas that will be setup:
|
||||
*
|
||||
* actionName
|
||||
* - metadata for actions
|
||||
* - value will be a dashed name for the action named in 'actionName'
|
||||
* providerName
|
||||
* - metadata for providers
|
||||
* - value will be a dashed-name for the provider named in 'providerName'
|
||||
* providerSpecialtyNames
|
||||
* - metadata for providers
|
||||
* actionableMethodLongParameters
|
||||
* - metadata for providers
|
||||
* actionableMethodShortParameters
|
||||
* - metadata for providers
|
||||
*
|
||||
* @return array Array of Metadatas
|
||||
*/
|
||||
public function getMetadata()
|
||||
{
|
||||
$metadatas = array();
|
||||
|
||||
// setup the camelCase to dashed filter to use since cli expects dashed named
|
||||
$ccToDashedFilter = new Zend_Filter();
|
||||
$ccToDashedFilter
|
||||
->addFilter(new Zend_Filter_Word_CamelCaseToDash())
|
||||
->addFilter(new Zend_Filter_StringToLower());
|
||||
|
||||
// get the registry to get the action and provider repository
|
||||
$actionRepository = $this->_registry->getActionRepository();
|
||||
$providerRepository = $this->_registry->getProviderRepository();
|
||||
|
||||
// loop through all actions and create a metadata for each
|
||||
foreach ($actionRepository->getActions() as $action) {
|
||||
// each action metadata will be called
|
||||
$metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
|
||||
'name' => 'actionName',
|
||||
'value' => $ccToDashedFilter->filter($action->getName()),
|
||||
'reference' => $action,
|
||||
'actionName' => $action->getName(),
|
||||
'clientName' => 'console',
|
||||
'clientReference' => $this->_registry->getClient()
|
||||
));
|
||||
}
|
||||
|
||||
foreach ($providerRepository->getProviderSignatures() as $providerSignature) {
|
||||
|
||||
// create the metadata for the provider's cliProviderName
|
||||
$metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
|
||||
'name' => 'providerName',
|
||||
'value' => $ccToDashedFilter->filter($providerSignature->getName()),
|
||||
'reference' => $providerSignature,
|
||||
'clientName' => 'console',
|
||||
'providerName' => $providerSignature->getName(),
|
||||
'clientReference' => $this->_registry->getClient()
|
||||
));
|
||||
|
||||
// create the metadatas for the per provider specialites in providerSpecaltyNames
|
||||
foreach ($providerSignature->getSpecialties() as $specialty) {
|
||||
|
||||
$metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
|
||||
'name' => 'specialtyName',
|
||||
'value' => $ccToDashedFilter->filter($specialty),
|
||||
'reference' => $providerSignature,
|
||||
'clientName' => 'console',
|
||||
'providerName' => $providerSignature->getName(),
|
||||
'specialtyName' => $specialty,
|
||||
'clientReference' => $this->_registry->getClient()
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
// $actionableMethod is keyed by the methodName (but not used)
|
||||
foreach ($providerSignature->getActionableMethods() as $actionableMethodData) {
|
||||
|
||||
$methodLongParams = array();
|
||||
$methodShortParams = array();
|
||||
|
||||
// $actionableMethodData get both the long and short names
|
||||
foreach ($actionableMethodData['parameterInfo'] as $parameterInfoData) {
|
||||
|
||||
// filter to dashed
|
||||
$methodLongParams[$parameterInfoData['name']] = $ccToDashedFilter->filter($parameterInfoData['name']);
|
||||
|
||||
// simply lower the character, (its only 1 char after all)
|
||||
$methodShortParams[$parameterInfoData['name']] = strtolower($parameterInfoData['name'][0]);
|
||||
|
||||
}
|
||||
|
||||
// create metadata for the long name cliActionableMethodLongParameters
|
||||
$metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
|
||||
'name' => 'actionableMethodLongParams',
|
||||
'value' => $methodLongParams,
|
||||
'clientName' => 'console',
|
||||
'providerName' => $providerSignature->getName(),
|
||||
'specialtyName' => $actionableMethodData['specialty'],
|
||||
'actionName' => $actionableMethodData['actionName'],
|
||||
'reference' => &$actionableMethodData,
|
||||
'clientReference' => $this->_registry->getClient()
|
||||
));
|
||||
|
||||
// create metadata for the short name cliActionableMethodShortParameters
|
||||
$metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
|
||||
'name' => 'actionableMethodShortParams',
|
||||
'value' => $methodShortParams,
|
||||
'clientName' => 'console',
|
||||
'providerName' => $providerSignature->getName(),
|
||||
'specialtyName' => $actionableMethodData['specialty'],
|
||||
'actionName' => $actionableMethodData['actionName'],
|
||||
'reference' => &$actionableMethodData,
|
||||
'clientReference' => $this->_registry->getClient()
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $metadatas;
|
||||
}
|
||||
|
||||
public function getIndex()
|
||||
{
|
||||
return 10000;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
require_once "Zend/Tool/Framework/Client/Response/ContentDecorator/Interface.php";
|
||||
|
||||
/**
|
||||
* Try to align a given text central on the screen.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: AlignCenter.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Console_ResponseDecorator_AlignCenter
|
||||
implements Zend_Tool_Framework_Client_Response_ContentDecorator_Interface
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return "aligncenter";
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $content
|
||||
* @param integer $lineLength
|
||||
*/
|
||||
public function decorate($content, $lineLength)
|
||||
{
|
||||
if(!is_numeric($lineLength)) {
|
||||
$lineLength = 72;
|
||||
}
|
||||
if(strlen($content) < $lineLength) {
|
||||
$append = false;
|
||||
$len = strlen($content);
|
||||
for($i = $len; $i < $lineLength; $i++) {
|
||||
if($append == true) {
|
||||
$content = $content." ";
|
||||
$append = false;
|
||||
} else {
|
||||
$content = " ".$content;
|
||||
$append = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $content;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,69 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
require_once "Zend/Tool/Framework/Client/Response/ContentDecorator/Interface.php";
|
||||
|
||||
/**
|
||||
* Take a text and block it into several lines of a fixed length.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Blockize.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Console_ResponseDecorator_Blockize
|
||||
implements Zend_Tool_Framework_Client_Response_ContentDecorator_Interface
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return 'blockize';
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $content
|
||||
* @param int $lineLength
|
||||
* @return string
|
||||
*/
|
||||
public function decorate($content, $lineLength)
|
||||
{
|
||||
if(intval(strval($lineLength)) != $lineLength) {
|
||||
$lineLength = 72;
|
||||
}
|
||||
|
||||
// break apart the message into wrapped chunks
|
||||
$lines = explode(PHP_EOL, wordwrap($content, $lineLength, PHP_EOL, false));
|
||||
$content = array();
|
||||
foreach($lines AS $line) {
|
||||
if(strlen(trim($line)) == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if(strlen($line) < $lineLength) {
|
||||
$line .= str_repeat(" ", $lineLength-strlen($line));
|
||||
}
|
||||
$content[] = $line;
|
||||
}
|
||||
return implode(PHP_EOL, $content);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,92 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Colorizer.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Console_ResponseDecorator_Colorizer
|
||||
implements Zend_Tool_Framework_Client_Response_ContentDecorator_Interface
|
||||
{
|
||||
|
||||
protected $_colorOptions = array(
|
||||
// blacks
|
||||
'black' => '30m',
|
||||
'hiBlack' => '1;30m',
|
||||
'bgBlack' => '40m',
|
||||
// reds
|
||||
'red' => '31m',
|
||||
'hiRed' => '1;31m',
|
||||
'bgRed' => '41m',
|
||||
// greens
|
||||
'green' => '32m',
|
||||
'hiGreen' => '1;32m',
|
||||
'bgGreen' => '42m',
|
||||
// yellows
|
||||
'yellow' => '33m',
|
||||
'hiYellow' => '1;33m',
|
||||
'bgYellow' => '43m',
|
||||
// blues
|
||||
'blue' => '34m',
|
||||
'hiBlue' => '1;34m',
|
||||
'bgBlue' => '44m',
|
||||
// magentas
|
||||
'magenta' => '35m',
|
||||
'hiMagenta' => '1;35m',
|
||||
'bgMagenta' => '45m',
|
||||
// cyans
|
||||
'cyan' => '36m',
|
||||
'hiCyan' => '1;36m',
|
||||
'bgCyan' => '46m',
|
||||
// whites
|
||||
'white' => '37m',
|
||||
'hiWhite' => '1;37m',
|
||||
'bgWhite' => '47m'
|
||||
);
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return 'color';
|
||||
}
|
||||
|
||||
public function decorate($content, $color)
|
||||
{
|
||||
if (is_string($color)) {
|
||||
$color = array($color);
|
||||
}
|
||||
|
||||
$newContent = '';
|
||||
|
||||
foreach ($color as $c) {
|
||||
if (array_key_exists($c, $this->_colorOptions)) {
|
||||
$newContent .= "\033[" . $this->_colorOptions[$c];
|
||||
}
|
||||
}
|
||||
|
||||
$newContent .= $content . "\033[m";
|
||||
|
||||
return $newContent;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Indention.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
require_once "Zend/Tool/Framework/Client/Response/ContentDecorator/Interface.php";
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Console_ResponseDecorator_Indention
|
||||
implements Zend_Tool_Framework_Client_Response_ContentDecorator_Interface
|
||||
{
|
||||
public function getName()
|
||||
{
|
||||
return 'indention';
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $content
|
||||
* @param integer $indention
|
||||
*/
|
||||
public function decorate($content, $indention)
|
||||
{
|
||||
if(strval(intval($indention)) != $indention) {
|
||||
return $content;
|
||||
}
|
||||
|
||||
$newContent = "";
|
||||
$lines = preg_split('((\r\n|\r|\n)+)', $content);
|
||||
$lineIndention = str_repeat(' ', $indention);
|
||||
foreach($lines AS $line) {
|
||||
$newContent .= $lineIndention.$line.PHP_EOL;
|
||||
}
|
||||
return rtrim($newContent);
|
||||
}
|
||||
}
|
36
airtime_mvc/library/Zend/Tool/Framework/Client/Exception.php
Normal file
36
airtime_mvc/library/Zend/Tool/Framework/Client/Exception.php
Normal file
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Exception.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Exception
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Exception.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Exception extends Zend_Tool_Framework_Exception
|
||||
{
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: InputHandler.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Interactive_InputHandler
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Client_Interactive_InputInterface
|
||||
*/
|
||||
protected $_client = null;
|
||||
|
||||
protected $_inputRequest = null;
|
||||
|
||||
public function setClient(Zend_Tool_Framework_Client_Interactive_InputInterface $client)
|
||||
{
|
||||
$this->_client = $client;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function setInputRequest($inputRequest)
|
||||
{
|
||||
if (is_string($inputRequest)) {
|
||||
require_once 'Zend/Tool/Framework/Client/Interactive/InputRequest.php';
|
||||
$inputRequest = new Zend_Tool_Framework_Client_Interactive_InputRequest($inputRequest);
|
||||
} elseif (!$inputRequest instanceof Zend_Tool_Framework_Client_Interactive_InputRequest) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('promptInteractive() requires either a string or an instance of Zend_Tool_Framework_Client_Interactive_InputRequest.');
|
||||
}
|
||||
|
||||
$this->_inputRequest = $inputRequest;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function handle()
|
||||
{
|
||||
$inputResponse = $this->_client->handleInteractiveInputRequest($this->_inputRequest);
|
||||
|
||||
if (is_string($inputResponse)) {
|
||||
require_once 'Zend/Tool/Framework/Client/Interactive/InputResponse.php';
|
||||
$inputResponse = new Zend_Tool_Framework_Client_Interactive_InputResponse($inputResponse);
|
||||
} elseif (!$inputResponse instanceof Zend_Tool_Framework_Client_Interactive_InputResponse) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
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.');
|
||||
}
|
||||
|
||||
return $inputResponse;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: InputInterface.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Client_Interactive_InputInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* Handle Interactive Input Request
|
||||
*
|
||||
* @param Zend_Tool_Framework_Client_Interactive_InputRequest $inputRequest
|
||||
* @return Zend_Tool_Framework_Client_Interactive_InputResponse|string
|
||||
*/
|
||||
public function handleInteractiveInputRequest(Zend_Tool_Framework_Client_Interactive_InputRequest $inputRequest);
|
||||
|
||||
public function getMissingParameterPromptString(Zend_Tool_Framework_Provider_Interface $provider, Zend_Tool_Framework_Action_Interface $actionInterface, $missingParameterName);
|
||||
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: InputRequest.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Interactive_InputRequest
|
||||
{
|
||||
protected $_content = null;
|
||||
|
||||
public function __construct($content = null)
|
||||
{
|
||||
if ($content) {
|
||||
$this->setContent($content);
|
||||
}
|
||||
}
|
||||
|
||||
public function setContent($content)
|
||||
{
|
||||
$this->_content = $content;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getContent()
|
||||
{
|
||||
return $this->_content;
|
||||
}
|
||||
|
||||
public function __toString()
|
||||
{
|
||||
return $this->_content;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: InputResponse.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Interactive_InputResponse
|
||||
{
|
||||
|
||||
protected $_content = null;
|
||||
|
||||
public function __construct($content = null)
|
||||
{
|
||||
if ($content) {
|
||||
$this->setContent($content);
|
||||
}
|
||||
}
|
||||
|
||||
public function setContent($content)
|
||||
{
|
||||
$this->_content = $content;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getContent()
|
||||
{
|
||||
return $this->_content;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: OutputInterface.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Client_Interactive_OutputInterface
|
||||
{
|
||||
|
||||
public function handleInteractiveOutput($string);
|
||||
|
||||
}
|
206
airtime_mvc/library/Zend/Tool/Framework/Client/Manifest.php
Normal file
206
airtime_mvc/library/Zend/Tool/Framework/Client/Manifest.php
Normal file
|
@ -0,0 +1,206 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Manifest.php 18386 2009-09-23 20:44:43Z ralph $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Manifest_MetadataManifestable
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Manifest/MetadataManifestable.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Filter
|
||||
*/
|
||||
require_once 'Zend/Filter.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Filter_Word_CamelCaseToDash
|
||||
*/
|
||||
require_once 'Zend/Filter/Word/CamelCaseToDash.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Filter_StringToLower
|
||||
*/
|
||||
require_once 'Zend/Filter/StringToLower.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Metadata_Tool
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Metadata/Tool.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry_EnabledInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';
|
||||
|
||||
/**
|
||||
* Zend_Tool_Framework_Client_ConsoleClient_Manifest
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Manifest
|
||||
implements Zend_Tool_Framework_Registry_EnabledInterface,
|
||||
Zend_Tool_Framework_Manifest_MetadataManifestable
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Registry_Interface
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
/**
|
||||
* setRegistry() - Required for the Zend_Tool_Framework_Registry_EnabledInterface interface
|
||||
*
|
||||
* @param Zend_Tool_Framework_Registry_Interface $registry
|
||||
* @return Zend_Tool_Framework_Client_Console_Manifest
|
||||
*/
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getMetadata() is required by the Manifest Interface.
|
||||
*
|
||||
* These are the following metadatas that will be setup:
|
||||
*
|
||||
* normalizedActionName
|
||||
* - metadata for actions
|
||||
* - value will be a dashed name for the action named in 'actionName'
|
||||
* normalizedProviderName
|
||||
* - metadata for providers
|
||||
* - value will be a dashed-name for the provider named in 'providerName'
|
||||
* normalizedProviderSpecialtyNames
|
||||
* - metadata for providers
|
||||
* normalizedActionableMethodLongParameters
|
||||
* - metadata for providers
|
||||
* normalizedActionableMethodShortParameters
|
||||
* - metadata for providers
|
||||
*
|
||||
* @return array Array of Metadatas
|
||||
*/
|
||||
public function getMetadata()
|
||||
{
|
||||
$metadatas = array();
|
||||
|
||||
// setup the camelCase to dashed filter to use since cli expects dashed named
|
||||
$lowerFilter = new Zend_Filter();
|
||||
$lowerFilter->addFilter(new Zend_Filter_StringToLower());
|
||||
|
||||
// get the registry to get the action and provider repository
|
||||
$actionRepository = $this->_registry->getActionRepository();
|
||||
$providerRepository = $this->_registry->getProviderRepository();
|
||||
|
||||
// loop through all actions and create a metadata for each
|
||||
foreach ($actionRepository->getActions() as $action) {
|
||||
// each action metadata will be called
|
||||
$metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
|
||||
'name' => 'normalizedActionName',
|
||||
'value' => $lowerFilter->filter($action->getName()),
|
||||
'reference' => $action,
|
||||
'actionName' => $action->getName(),
|
||||
'clientName' => 'all'
|
||||
));
|
||||
}
|
||||
|
||||
foreach ($providerRepository->getProviderSignatures() as $providerSignature) {
|
||||
|
||||
// create the metadata for the provider's cliProviderName
|
||||
$metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
|
||||
'name' => 'normalizedProviderName',
|
||||
'value' => $lowerFilter->filter($providerSignature->getName()),
|
||||
'reference' => $providerSignature,
|
||||
'clientName' => 'all',
|
||||
'providerName' => $providerSignature->getName()
|
||||
));
|
||||
|
||||
// create the metadatas for the per provider specialites in providerSpecaltyNames
|
||||
foreach ($providerSignature->getSpecialties() as $specialty) {
|
||||
|
||||
if ($specialty == '_Global') {
|
||||
continue;
|
||||
}
|
||||
|
||||
$metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
|
||||
'name' => 'normalizedSpecialtyName',
|
||||
'value' => $lowerFilter->filter($specialty),
|
||||
'reference' => $providerSignature,
|
||||
'clientName' => 'all',
|
||||
'providerName' => $providerSignature->getName(),
|
||||
'specialtyName' => $specialty
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
// $actionableMethod is keyed by the methodName (but not used)
|
||||
foreach ($providerSignature->getActionableMethods() as $actionableMethodData) {
|
||||
|
||||
$methodLongParams = array();
|
||||
$methodShortParams = array();
|
||||
|
||||
// $actionableMethodData get both the long and short names
|
||||
foreach ($actionableMethodData['parameterInfo'] as $parameterInfoData) {
|
||||
|
||||
// filter to dashed
|
||||
$methodLongParams[$parameterInfoData['name']] = $lowerFilter->filter($parameterInfoData['name']);
|
||||
|
||||
// simply lower the character, (its only 1 char after all)
|
||||
$methodShortParams[$parameterInfoData['name']] = strtolower($parameterInfoData['name'][0]);
|
||||
|
||||
}
|
||||
|
||||
// create metadata for the long name cliActionableMethodLongParameters
|
||||
$metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
|
||||
'name' => 'normalizedActionableMethodLongParams',
|
||||
'value' => $methodLongParams,
|
||||
'clientName' => 'console',
|
||||
'providerName' => $providerSignature->getName(),
|
||||
'specialtyName' => $actionableMethodData['specialty'],
|
||||
'actionName' => $actionableMethodData['actionName'],
|
||||
'reference' => &$actionableMethodData
|
||||
));
|
||||
|
||||
// create metadata for the short name cliActionableMethodShortParameters
|
||||
$metadatas[] = new Zend_Tool_Framework_Metadata_Tool(array(
|
||||
'name' => 'normalizedActionableMethodShortParams',
|
||||
'value' => $methodShortParams,
|
||||
'clientName' => 'console',
|
||||
'providerName' => $providerSignature->getName(),
|
||||
'specialtyName' => $actionableMethodData['specialty'],
|
||||
'actionName' => $actionableMethodData['actionName'],
|
||||
'reference' => &$actionableMethodData
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $metadatas;
|
||||
}
|
||||
|
||||
public function getIndex()
|
||||
{
|
||||
return 100000;
|
||||
}
|
||||
|
||||
}
|
299
airtime_mvc/library/Zend/Tool/Framework/Client/Request.php
Normal file
299
airtime_mvc/library/Zend/Tool/Framework/Client/Request.php
Normal file
|
@ -0,0 +1,299 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Request.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Request
|
||||
{
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $_providerName = null;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $_specialtyName = null;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $_actionName = null;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_actionParameters = array();
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_providerParameters = array();
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $_isPretend = false;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $_isDebug = false;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $_isVerbose = false;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $_isDispatchable = true;
|
||||
|
||||
/**
|
||||
* setProviderName()
|
||||
*
|
||||
* @param string $providerName
|
||||
* @return Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
public function setProviderName($providerName)
|
||||
{
|
||||
$this->_providerName = $providerName;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getProviderName()
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getProviderName()
|
||||
{
|
||||
return $this->_providerName;
|
||||
}
|
||||
|
||||
/**
|
||||
* setSpecialtyName()
|
||||
*
|
||||
* @param string $specialtyName
|
||||
* @return Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
public function setSpecialtyName($specialtyName)
|
||||
{
|
||||
$this->_specialtyName = $specialtyName;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getSpecialtyName()
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getSpecialtyName()
|
||||
{
|
||||
return $this->_specialtyName;
|
||||
}
|
||||
|
||||
/**
|
||||
* setActionName()
|
||||
*
|
||||
* @param string $actionName
|
||||
* @return Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
public function setActionName($actionName)
|
||||
{
|
||||
$this->_actionName = $actionName;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getActionName()
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getActionName()
|
||||
{
|
||||
return $this->_actionName;
|
||||
}
|
||||
|
||||
/**
|
||||
* setActionParameter()
|
||||
*
|
||||
* @param string $parameterName
|
||||
* @param string $parameterValue
|
||||
* @return Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
public function setActionParameter($parameterName, $parameterValue)
|
||||
{
|
||||
$this->_actionParameters[$parameterName] = $parameterValue;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getActionParameters()
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getActionParameters()
|
||||
{
|
||||
return $this->_actionParameters;
|
||||
}
|
||||
|
||||
/**
|
||||
* getActionParameter()
|
||||
*
|
||||
* @param string $parameterName
|
||||
* @return string
|
||||
*/
|
||||
public function getActionParameter($parameterName)
|
||||
{
|
||||
return (isset($this->_actionParameters[$parameterName])) ? $this->_actionParameters[$parameterName] : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* setProviderParameter()
|
||||
*
|
||||
* @param string $parameterName
|
||||
* @param string $parameterValue
|
||||
* @return Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
public function setProviderParameter($parameterName, $parameterValue)
|
||||
{
|
||||
$this->_providerParameters[$parameterName] = $parameterValue;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getProviderParameters()
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getProviderParameters()
|
||||
{
|
||||
return $this->_providerParameters;
|
||||
}
|
||||
|
||||
/**
|
||||
* getProviderParameter()
|
||||
*
|
||||
* @param string $parameterName
|
||||
* @return string
|
||||
*/
|
||||
public function getProviderParameter($parameterName)
|
||||
{
|
||||
return (isset($this->_providerParameters[$parameterName])) ? $this->_providerParameters[$parameterName] : null;
|
||||
}
|
||||
|
||||
/**
|
||||
* setPretend()
|
||||
*
|
||||
* @param bool $pretend
|
||||
* @return Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
public function setPretend($pretend)
|
||||
{
|
||||
$this->_isPretend = (bool) $pretend;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* isPretend() - Whether or not this is a pretend request
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isPretend()
|
||||
{
|
||||
return $this->_isPretend;
|
||||
}
|
||||
|
||||
/**
|
||||
* setDebug()
|
||||
*
|
||||
* @param bool $pretend
|
||||
* @return Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
public function setDebug($debug)
|
||||
{
|
||||
$this->_isDebug = (bool) $debug;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* isDebug() - Whether or not this is a debug enabled request
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isDebug()
|
||||
{
|
||||
return $this->_isDebug;
|
||||
}
|
||||
|
||||
/**
|
||||
* setVerbose()
|
||||
*
|
||||
* @param bool $verbose
|
||||
* @return Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
public function setVerbose($verbose)
|
||||
{
|
||||
$this->_isVerbose = (bool) $verbose;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* isVerbose() - Whether or not this is a verbose enabled request
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isVerbose()
|
||||
{
|
||||
return $this->_isVerbose;
|
||||
}
|
||||
|
||||
/**
|
||||
* setDispatchable()
|
||||
*
|
||||
* @param bool $dispatchable
|
||||
* @return Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
public function setDispatchable($dispatchable)
|
||||
{
|
||||
$this->_isDispatchable = (bool) $dispatchable;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* isDispatchable() Is this request Dispatchable?
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isDispatchable()
|
||||
{
|
||||
return $this->_isDispatchable;
|
||||
}
|
||||
|
||||
}
|
223
airtime_mvc/library/Zend/Tool/Framework/Client/Response.php
Normal file
223
airtime_mvc/library/Zend/Tool/Framework/Client/Response.php
Normal file
|
@ -0,0 +1,223 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Response.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Response
|
||||
{
|
||||
/**
|
||||
* @var callback|null
|
||||
*/
|
||||
protected $_callback = null;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_content = array();
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Exception
|
||||
*/
|
||||
protected $_exception = null;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_decorators = array();
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_defaultDecoratorOptions = array();
|
||||
|
||||
/**
|
||||
* setContentCallback()
|
||||
*
|
||||
* @param callback $callback
|
||||
* @return Zend_Tool_Framework_Client_Response
|
||||
*/
|
||||
public function setContentCallback($callback)
|
||||
{
|
||||
if (!is_callable($callback)) {
|
||||
require_once 'Zend/Tool/Framework/Client/Exception.php';
|
||||
throw new Zend_Tool_Framework_Client_Exception('The callback provided is not callable');
|
||||
}
|
||||
$this->_callback = $callback;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* setContent()
|
||||
*
|
||||
* @param string $content
|
||||
* @return Zend_Tool_Framework_Client_Response
|
||||
*/
|
||||
public function setContent($content, Array $decoratorOptions = array())
|
||||
{
|
||||
$this->_applyDecorators($content, $decoratorOptions);
|
||||
|
||||
$this->_content = array();
|
||||
$this->appendContent($content);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* appendCallback
|
||||
*
|
||||
* @param string $content
|
||||
* @return Zend_Tool_Framework_Client_Response
|
||||
*/
|
||||
public function appendContent($content, Array $decoratorOptions = array())
|
||||
{
|
||||
$content = $this->_applyDecorators($content, $decoratorOptions);
|
||||
|
||||
if ($this->_callback !== null) {
|
||||
call_user_func($this->_callback, $content);
|
||||
}
|
||||
|
||||
$this->_content[] = $content;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* setDefaultDecoratorOptions()
|
||||
*
|
||||
* @param array $decoratorOptions
|
||||
* @param bool $mergeIntoExisting
|
||||
* @return Zend_Tool_Framework_Client_Response
|
||||
*/
|
||||
public function setDefaultDecoratorOptions(Array $decoratorOptions, $mergeIntoExisting = false)
|
||||
{
|
||||
if ($mergeIntoExisting == false) {
|
||||
$this->_defaultDecoratorOptions = array();
|
||||
}
|
||||
|
||||
$this->_defaultDecoratorOptions = array_merge($this->_defaultDecoratorOptions, $decoratorOptions);
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getContent()
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getContent()
|
||||
{
|
||||
return implode('', $this->_content);
|
||||
}
|
||||
|
||||
/**
|
||||
* isException()
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isException()
|
||||
{
|
||||
return isset($this->_exception);
|
||||
}
|
||||
|
||||
/**
|
||||
* setException()
|
||||
*
|
||||
* @param Exception $exception
|
||||
* @return Zend_Tool_Framework_Client_Response
|
||||
*/
|
||||
public function setException(Exception $exception)
|
||||
{
|
||||
$this->_exception = $exception;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getException()
|
||||
*
|
||||
* @return Exception
|
||||
*/
|
||||
public function getException()
|
||||
{
|
||||
return $this->_exception;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add Content Decorator
|
||||
*
|
||||
* @param Zend_Tool_Framework_Client_Response_ContentDecorator_Interface $contentDecorator
|
||||
* @return unknown
|
||||
*/
|
||||
public function addContentDecorator(Zend_Tool_Framework_Client_Response_ContentDecorator_Interface $contentDecorator)
|
||||
{
|
||||
$decoratorName = strtolower($contentDecorator->getName());
|
||||
$this->_decorators[$decoratorName] = $contentDecorator;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getContentDecorators()
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getContentDecorators()
|
||||
{
|
||||
return $this->_decorators;
|
||||
}
|
||||
|
||||
/**
|
||||
* __toString() to cast to a string
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
return (string) implode('', $this->_content);
|
||||
}
|
||||
|
||||
/**
|
||||
* _applyDecorators() apply a group of decorators
|
||||
*
|
||||
* @param string $content
|
||||
* @param array $decoratorOptions
|
||||
* @return string
|
||||
*/
|
||||
protected function _applyDecorators($content, Array $decoratorOptions)
|
||||
{
|
||||
$options = array_merge($this->_defaultDecoratorOptions, $decoratorOptions);
|
||||
|
||||
$options = array_change_key_case($options, CASE_LOWER);
|
||||
|
||||
if ($options) {
|
||||
foreach ($this->_decorators as $decoratorName => $decorator) {
|
||||
if (array_key_exists($decoratorName, $options)) {
|
||||
$content = $decorator->decorate($content, $options[$decoratorName]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $content;
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Interface.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Client_Response_ContentDecorator_Interface
|
||||
{
|
||||
|
||||
public function getName();
|
||||
|
||||
public function decorate($content, $decoratorValue);
|
||||
|
||||
}
|
|
@ -0,0 +1,93 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Separator.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Client_Response_ContentDecorator_Interface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Client/Response/ContentDecorator/Interface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Response_ContentDecorator_Separator
|
||||
implements Zend_Tool_Framework_Client_Response_ContentDecorator_Interface
|
||||
{
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $_separator = PHP_EOL;
|
||||
|
||||
/**
|
||||
* getName() - name of the decorator
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return 'separator';
|
||||
}
|
||||
|
||||
/**
|
||||
* setSeparator()
|
||||
*
|
||||
* @param string $separator
|
||||
* @return Zend_Tool_Framework_Client_Response_ContentDecorator_Separator
|
||||
*/
|
||||
public function setSeparator($separator)
|
||||
{
|
||||
$this->_separator = $separator;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getSeparator()
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getSeparator()
|
||||
{
|
||||
return $this->_separator;
|
||||
}
|
||||
|
||||
public function decorate($content, $decoratorValue)
|
||||
{
|
||||
$run = 1;
|
||||
if (is_bool($decoratorValue) && $decoratorValue === false) {
|
||||
return $content;
|
||||
}
|
||||
|
||||
if (is_int($decoratorValue)) {
|
||||
$run = $decoratorValue;
|
||||
}
|
||||
|
||||
for ($i = 0; $i < $run; $i++) {
|
||||
$content .= $this->_separator;
|
||||
}
|
||||
|
||||
return $content;
|
||||
}
|
||||
|
||||
}
|
117
airtime_mvc/library/Zend/Tool/Framework/Client/Storage.php
Normal file
117
airtime_mvc/library/Zend/Tool/Framework/Client/Storage.php
Normal file
|
@ -0,0 +1,117 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Storage.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Client_Storage_AdapterInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Client/Storage/AdapterInterface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Storage
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Client_Storage_AdapterInterface
|
||||
*/
|
||||
protected $_adapter = null;
|
||||
|
||||
public function __construct($options = array())
|
||||
{
|
||||
if (isset($options['adapter'])) {
|
||||
$this->setAdapter($options['adapter']);
|
||||
}
|
||||
}
|
||||
|
||||
public function setAdapter($adapter)
|
||||
{
|
||||
if (is_string($adapter)) {
|
||||
$storageAdapterClass = 'Zend_Tool_Framework_Client_Storage_' . ucfirst($adapter);
|
||||
Zend_Loader::loadClass($storageAdapterClass);
|
||||
$adapter = new $storageAdapterClass();
|
||||
}
|
||||
$this->_adapter = $adapter;
|
||||
}
|
||||
|
||||
public function isEnabled()
|
||||
{
|
||||
return ($this->_adapter instanceof Zend_Tool_Framework_Client_Storage_AdapterInterface);
|
||||
}
|
||||
|
||||
public function put($name, $value)
|
||||
{
|
||||
if (!$this->_adapter) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->_adapter->put($name, $value);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function get($name, $defaultValue = false)
|
||||
{
|
||||
if (!$this->_adapter) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($this->_adapter->has($name)) {
|
||||
return $this->_adapter->get($name);
|
||||
} else {
|
||||
return $defaultValue;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public function has($name)
|
||||
{
|
||||
if (!$this->_adapter) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $this->_adapter->has($name);
|
||||
}
|
||||
|
||||
public function remove($name)
|
||||
{
|
||||
if (!$this->_adapter) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$this->_adapter->remove($name);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getStreamUri($name)
|
||||
{
|
||||
if (!$this->_adapter) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $this->_adapter->getStreamUri($name);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: AdapterInterface.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Client_Storage_AdapterInterface
|
||||
{
|
||||
|
||||
public function put($name, $value);
|
||||
|
||||
public function get($name);
|
||||
|
||||
public function has($name);
|
||||
|
||||
public function remove($name);
|
||||
|
||||
public function getStreamUri($name);
|
||||
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Directory.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Client_Storage_AdapterInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Client/Storage/AdapterInterface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Client_Storage_Directory
|
||||
implements Zend_Tool_Framework_Client_Storage_AdapterInterface
|
||||
{
|
||||
|
||||
protected $_directoryPath = null;
|
||||
|
||||
public function __construct($directoryPath)
|
||||
{
|
||||
if (!file_exists($directoryPath)) {
|
||||
throw new Zend_Tool_Framework_Client_Exception(__CLASS__ . ': the supplied directory does not exist');
|
||||
}
|
||||
$this->_directoryPath = $directoryPath;
|
||||
}
|
||||
|
||||
public function put($name, $value)
|
||||
{
|
||||
return file_put_contents($this->_directoryPath . DIRECTORY_SEPARATOR . $name, $value);
|
||||
}
|
||||
|
||||
public function get($name)
|
||||
{
|
||||
return file_get_contents($this->_directoryPath . DIRECTORY_SEPARATOR . $name);
|
||||
}
|
||||
|
||||
public function has($name)
|
||||
{
|
||||
return file_exists($this->_directoryPath . DIRECTORY_SEPARATOR . $name);
|
||||
}
|
||||
|
||||
public function remove($name)
|
||||
{
|
||||
return unlink($this->_directoryPath . DIRECTORY_SEPARATOR . $name);
|
||||
}
|
||||
|
||||
public function getStreamUri($name)
|
||||
{
|
||||
return $this->_directoryPath . DIRECTORY_SEPARATOR . $name;
|
||||
}
|
||||
|
||||
}
|
36
airtime_mvc/library/Zend/Tool/Framework/Exception.php
Normal file
36
airtime_mvc/library/Zend/Tool/Framework/Exception.php
Normal file
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Exception.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Exception
|
||||
*/
|
||||
require_once 'Zend/Exception.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Exception extends Zend_Exception
|
||||
{
|
||||
}
|
156
airtime_mvc/library/Zend/Tool/Framework/Loader/Abstract.php
Normal file
156
airtime_mvc/library/Zend/Tool/Framework/Loader/Abstract.php
Normal file
|
@ -0,0 +1,156 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Abstract.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry_EnabledInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';
|
||||
|
||||
require_once 'Zend/Tool/Framework/Loader/Interface.php';
|
||||
require_once 'Zend/Tool/Framework/Manifest/Interface.php';
|
||||
require_once 'Zend/Tool/Framework/Provider/Interface.php';
|
||||
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
abstract class Zend_Tool_Framework_Loader_Abstract
|
||||
implements Zend_Tool_Framework_Loader_Interface, Zend_Tool_Framework_Registry_EnabledInterface
|
||||
{
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Repository_Interface
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $_retrievedFiles = array();
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
private $_loadedClasses = array();
|
||||
|
||||
/**
|
||||
* _getFiles
|
||||
*
|
||||
* @return array Array Of Files
|
||||
*/
|
||||
abstract protected function _getFiles();
|
||||
|
||||
/**
|
||||
* setRegistry() - required by the enabled interface to get an instance of
|
||||
* the registry
|
||||
*
|
||||
* @param Zend_Tool_Framework_Registry_Interface $registry
|
||||
* @return Zend_Tool_Framework_Loader_Abstract
|
||||
*/
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* load() - called by the client initialize routine to load files
|
||||
*
|
||||
*/
|
||||
public function load()
|
||||
{
|
||||
$this->_retrievedFiles = $this->getRetrievedFiles();
|
||||
$this->_loadedClasses = array();
|
||||
|
||||
$manifestRepository = $this->_registry->getManifestRepository();
|
||||
$providerRepository = $this->_registry->getProviderRepository();
|
||||
|
||||
$loadedClasses = array();
|
||||
|
||||
// loop through files and find the classes declared by loading the file
|
||||
foreach ($this->_retrievedFiles as $file) {
|
||||
if(is_dir($file)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$classesLoadedBefore = get_declared_classes();
|
||||
$oldLevel = error_reporting(E_ALL | ~E_STRICT); // remove strict so that other packages wont throw warnings
|
||||
// should we lint the files here? i think so
|
||||
include_once $file;
|
||||
error_reporting($oldLevel); // restore old error level
|
||||
$classesLoadedAfter = get_declared_classes();
|
||||
$loadedClasses = array_merge($loadedClasses, array_diff($classesLoadedAfter, $classesLoadedBefore));
|
||||
}
|
||||
|
||||
// loop through the loaded classes and ensure that
|
||||
foreach ($loadedClasses as $loadedClass) {
|
||||
|
||||
// reflect class to see if its something we want to load
|
||||
$reflectionClass = new ReflectionClass($loadedClass);
|
||||
if ($reflectionClass->implementsInterface('Zend_Tool_Framework_Manifest_Interface')
|
||||
&& !$reflectionClass->isAbstract())
|
||||
{
|
||||
$manifestRepository->addManifest($reflectionClass->newInstance());
|
||||
$this->_loadedClasses[] = $loadedClass;
|
||||
}
|
||||
|
||||
if ($reflectionClass->implementsInterface('Zend_Tool_Framework_Provider_Interface')
|
||||
&& !$reflectionClass->isAbstract()
|
||||
&& !$providerRepository->hasProvider($reflectionClass->getName(), false))
|
||||
{
|
||||
$providerRepository->addProvider($reflectionClass->newInstance());
|
||||
$this->_loadedClasses[] = $loadedClass;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $this->_loadedClasses;
|
||||
}
|
||||
|
||||
/**
|
||||
* getRetrievedFiles()
|
||||
*
|
||||
* @return array Array of Files Retrieved
|
||||
*/
|
||||
public function getRetrievedFiles()
|
||||
{
|
||||
if ($this->_retrievedFiles == null) {
|
||||
$this->_retrievedFiles = $this->_getFiles();
|
||||
}
|
||||
|
||||
return $this->_retrievedFiles;
|
||||
}
|
||||
|
||||
/**
|
||||
* getLoadedClasses()
|
||||
*
|
||||
* @return array Array of Loaded Classes
|
||||
*/
|
||||
public function getLoadedClasses()
|
||||
{
|
||||
return $this->_loadedClasses;
|
||||
}
|
||||
|
||||
|
||||
}
|
157
airtime_mvc/library/Zend/Tool/Framework/Loader/BasicLoader.php
Normal file
157
airtime_mvc/library/Zend/Tool/Framework/Loader/BasicLoader.php
Normal file
|
@ -0,0 +1,157 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: IncludePathLoader.php 18386 2009-09-23 20:44:43Z ralph $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Loader_Abstract
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Loader/Interface.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry_EnabledInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Loader
|
||||
*/
|
||||
require_once 'Zend/Loader.php';
|
||||
require_once 'Zend/Tool/Framework/Manifest/Interface.php';
|
||||
require_once 'Zend/Tool/Framework/Provider/Interface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Loader_BasicLoader
|
||||
implements Zend_Tool_Framework_Loader_Interface, Zend_Tool_Framework_Registry_EnabledInterface
|
||||
{
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Repository_Interface
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_classesToLoad = array();
|
||||
|
||||
public function __construct($options = array())
|
||||
{
|
||||
if ($options) {
|
||||
$this->setOptions($options);
|
||||
}
|
||||
}
|
||||
|
||||
public function setOptions(Array $options)
|
||||
{
|
||||
foreach ($options as $optionName => $optionValue) {
|
||||
$setMethod = 'set' . $optionName;
|
||||
if (method_exists($this, $setMethod)) {
|
||||
$this->{$setMethod}($optionValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* setRegistry() - required by the enabled interface to get an instance of
|
||||
* the registry
|
||||
*
|
||||
* @param Zend_Tool_Framework_Registry_Interface $registry
|
||||
* @return Zend_Tool_Framework_Loader_Abstract
|
||||
*/
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $classesToLoad
|
||||
* @return Zend_Tool_Framework_Loader_Abstract
|
||||
*/
|
||||
public function setClassesToLoad(array $classesToLoad)
|
||||
{
|
||||
$this->_classesToLoad = $classesToLoad;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function load()
|
||||
{
|
||||
$manifestRegistry = $this->_registry->getManifestRepository();
|
||||
$providerRegistry = $this->_registry->getProviderRepository();
|
||||
|
||||
$loadedClasses = array();
|
||||
|
||||
// loop through the loaded classes and ensure that
|
||||
foreach ($this->_classesToLoad as $class) {
|
||||
|
||||
if (!class_exists($class)) {
|
||||
Zend_Loader::loadClass($class);
|
||||
}
|
||||
|
||||
// reflect class to see if its something we want to load
|
||||
$reflectionClass = new ReflectionClass($class);
|
||||
if ($this->_isManifestImplementation($reflectionClass)) {
|
||||
$manifestRegistry->addManifest($reflectionClass->newInstance());
|
||||
$loadedClasses[] = $class;
|
||||
}
|
||||
|
||||
if ($this->_isProviderImplementation($reflectionClass)) {
|
||||
$providerRegistry->addProvider($reflectionClass->newInstance());
|
||||
$loadedClasses[] = $class;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $loadedClasses;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ReflectionClass $reflectionClass
|
||||
* @return bool
|
||||
*/
|
||||
private function _isManifestImplementation($reflectionClass)
|
||||
{
|
||||
return (
|
||||
$reflectionClass->implementsInterface('Zend_Tool_Framework_Manifest_Interface')
|
||||
&& !$reflectionClass->isAbstract()
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ReflectionClass $reflectionClass
|
||||
* @return bool
|
||||
*/
|
||||
private function _isProviderImplementation($reflectionClass)
|
||||
{
|
||||
$providerRegistry = $this->_registry->getProviderRepository();
|
||||
|
||||
return (
|
||||
$reflectionClass->implementsInterface('Zend_Tool_Framework_Provider_Interface')
|
||||
&& !$reflectionClass->isAbstract()
|
||||
&& !$providerRegistry->hasProvider($reflectionClass->getName(), false)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,139 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: IncludePathLoader.php 20903 2010-02-04 16:16:47Z matthew $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Loader_Abstract
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Loader/Abstract.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Loader_IncludePathLoader_RecursiveFilterIterator
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Loader/IncludePathLoader/RecursiveFilterIterator.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Loader_IncludePathLoader extends Zend_Tool_Framework_Loader_Abstract
|
||||
{
|
||||
|
||||
/**
|
||||
* _getFiles()
|
||||
*
|
||||
* @return array Array of files to load
|
||||
*/
|
||||
protected function _getFiles()
|
||||
{
|
||||
require_once 'Zend/Loader.php';
|
||||
$paths = Zend_Loader::explodeIncludePath();
|
||||
|
||||
// used for checking similarly named files
|
||||
$relativeItems = array();
|
||||
$files = array();
|
||||
$isZendTraversed = false;
|
||||
|
||||
foreach ($paths as $path) {
|
||||
|
||||
// default patterns to use
|
||||
$filterDenyDirectoryPattern = '.*(/|\\\\).svn';
|
||||
$filterAcceptFilePattern = '.*(?:Manifest|Provider)\.php$';
|
||||
|
||||
if (!file_exists($path) || $path[0] == '.') {
|
||||
continue;
|
||||
}
|
||||
|
||||
$realIncludePath = realpath($path);
|
||||
|
||||
// ensure that we only traverse a single version of Zend Framework on all include paths
|
||||
if (file_exists($realIncludePath . '/Zend/Tool/Framework/Loader/IncludePathLoader.php')) {
|
||||
if ($isZendTraversed === false) {
|
||||
$isZendTraversed = true;
|
||||
} else {
|
||||
// use the deny directory pattern that includes the path to 'Zend', it will not be accepted
|
||||
$filterDenyDirectoryPattern = '.*((/|\\\\).svn|' . preg_quote($realIncludePath . DIRECTORY_SEPARATOR) . 'Zend)';
|
||||
}
|
||||
}
|
||||
|
||||
// create recursive directory iterator
|
||||
$rdi = new RecursiveDirectoryIterator($path);
|
||||
|
||||
// pass in the RecursiveDirectoryIterator & the patterns
|
||||
$filter = new Zend_Tool_Framework_Loader_IncludePathLoader_RecursiveFilterIterator(
|
||||
$rdi,
|
||||
$filterDenyDirectoryPattern,
|
||||
$filterAcceptFilePattern
|
||||
);
|
||||
|
||||
// build the rii with the filter
|
||||
$iterator = new RecursiveIteratorIterator($filter);
|
||||
|
||||
// iterate over the accepted items
|
||||
foreach ($iterator as $item) {
|
||||
$file = (string)$item;
|
||||
if($this->_fileIsBlacklisted($file)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// ensure that the same named file from separate include_paths is not loaded
|
||||
$relativeItem = preg_replace('#^' . preg_quote($realIncludePath . DIRECTORY_SEPARATOR, '#') . '#', '', $item->getRealPath());
|
||||
|
||||
// no links allowed here for now
|
||||
if ($item->isLink()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// no items that are relavitely the same are allowed
|
||||
if (in_array($relativeItem, $relativeItems)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$relativeItems[] = $relativeItem;
|
||||
$files[] = $item->getRealPath();
|
||||
}
|
||||
}
|
||||
|
||||
return $files;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $file
|
||||
* @return bool
|
||||
*/
|
||||
protected function _fileIsBlacklisted($file)
|
||||
{
|
||||
$blacklist = array(
|
||||
"PHPUnit".DIRECTORY_SEPARATOR."Framework",
|
||||
"Zend".DIRECTORY_SEPARATOR."OpenId".DIRECTORY_SEPARATOR."Provider"
|
||||
);
|
||||
|
||||
foreach($blacklist AS $blacklitedPattern) {
|
||||
if(strpos($file, $blacklitedPattern) !== false) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,91 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: RecursiveFilterIterator.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Loader_IncludePathLoader_RecursiveFilterIterator extends RecursiveFilterIterator
|
||||
{
|
||||
|
||||
protected $_denyDirectoryPattern = null;
|
||||
protected $_acceptFilePattern = null;
|
||||
|
||||
/**
|
||||
* constructor
|
||||
*
|
||||
* @param RecursiveIterator $iterator
|
||||
* @param string $denyDirectoryPattern
|
||||
* @param string $acceptFilePattern
|
||||
*/
|
||||
public function __construct(RecursiveIterator $iterator, $denyDirectoryPattern = null, $acceptFilePattern = null)
|
||||
{
|
||||
$this->_denyDirectoryPattern = $denyDirectoryPattern;
|
||||
$this->_acceptFilePattern = $acceptFilePattern;
|
||||
parent::__construct($iterator);
|
||||
}
|
||||
|
||||
/**
|
||||
* accept() - Which iterable items to accept or deny, required by FilterInterface
|
||||
*
|
||||
* @return unknown
|
||||
*/
|
||||
public function accept()
|
||||
{
|
||||
$currentNode = $this->current();
|
||||
$currentNodeRealPath = $currentNode->getRealPath();
|
||||
|
||||
// if the current node is a directory AND doesn't match the denyDirectory pattern, accept
|
||||
if ($currentNode->isDir()
|
||||
&& !preg_match('#' . $this->_denyDirectoryPattern . '#', $currentNodeRealPath)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// if the file matches the accept file pattern, accept
|
||||
$acceptable = (preg_match('#' . $this->_acceptFilePattern . '#', $currentNodeRealPath)) ? true : false;
|
||||
return $acceptable;
|
||||
}
|
||||
|
||||
/**
|
||||
* getChildren() - overridden from RecursiveFilterIterator to allow the persistence of
|
||||
* the $_denyDirectoryPattern and the $_acceptFilePattern when sub iterators of this filter
|
||||
* are needed to be created.
|
||||
*
|
||||
* @return Zend_Tool_Framework_Loader_IncludePathLoader_RecursiveFilterIterator
|
||||
*/
|
||||
public function getChildren()
|
||||
{
|
||||
if (empty($this->ref)) {
|
||||
$this->ref = new ReflectionClass($this);
|
||||
}
|
||||
|
||||
return $this->ref->newInstance(
|
||||
$this->getInnerIterator()->getChildren(),
|
||||
$this->_denyDirectoryPattern,
|
||||
$this->_acceptFilePattern
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
42
airtime_mvc/library/Zend/Tool/Framework/Loader/Interface.php
Normal file
42
airtime_mvc/library/Zend/Tool/Framework/Loader/Interface.php
Normal file
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
* Basic Interface for factilities that load Zend_Tool providers or manifests.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Loader_Interface
|
||||
{
|
||||
/**
|
||||
* Load Providers and Manifests
|
||||
*
|
||||
* Returns an array of all loaded class names.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function load();
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: ActionManifestable.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Manifest_Interface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Manifest/Interface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Manifest_ActionManifestable extends Zend_Tool_Framework_Manifest_Interface
|
||||
{
|
||||
|
||||
/**
|
||||
* getActions()
|
||||
*
|
||||
* Should either return a single action, or an array
|
||||
* of actions
|
||||
*
|
||||
* @return array|Zend_Tool_Framework_Action_Interface
|
||||
*/
|
||||
public function getActions();
|
||||
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Exception.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Exception
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Exception.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Manifest_Exception extends Zend_Tool_Framework_Exception
|
||||
{
|
||||
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Indexable.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Manifest_Indexable extends Zend_Tool_Framework_Manifest_Interface
|
||||
{
|
||||
|
||||
/**
|
||||
* getActions()
|
||||
*
|
||||
* Should either return a single action, or an array
|
||||
* of actions
|
||||
*
|
||||
* @return array|Zend_Tool_Framework_Action_Interface
|
||||
*/
|
||||
public function getIndex();
|
||||
|
||||
}
|
|
@ -0,0 +1,82 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Interface.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Manifest_Interface
|
||||
{
|
||||
|
||||
/**
|
||||
* The following methods are completely optional, and any combination of them
|
||||
* can be used as part of a manifest. The manifest repository will process
|
||||
* the return values of these actions as specfied in the following method docblocks.
|
||||
*
|
||||
* Since these actions are
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* getMetadata()
|
||||
*
|
||||
* Should either return a single metadata object or an array
|
||||
* of metadata objects
|
||||
*
|
||||
* @return array|Zend_Tool_Framework_Manifest_Metadata
|
||||
**
|
||||
|
||||
public function getMetadata();
|
||||
|
||||
**/
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* getActions()
|
||||
*
|
||||
* Should either return a single action, or an array
|
||||
* of actions
|
||||
*
|
||||
* @return array|Zend_Tool_Framework_Action_Interface
|
||||
**
|
||||
|
||||
public function getActions();
|
||||
|
||||
**/
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* getProviders()
|
||||
*
|
||||
* Should either return a single provider or an array
|
||||
* of providers
|
||||
*
|
||||
**
|
||||
|
||||
public function getProviders();
|
||||
|
||||
**/
|
||||
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: MetadataManifestable.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Manifest_Interface.php
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Manifest/Interface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Manifest_MetadataManifestable extends Zend_Tool_Framework_Manifest_Interface
|
||||
{
|
||||
|
||||
/**
|
||||
* getMetadata()
|
||||
*
|
||||
* Should either return a single metadata object or an array
|
||||
* of metadata objects
|
||||
*
|
||||
* @return array|Zend_Tool_Framework_Manifest_Metadata
|
||||
*/
|
||||
public function getMetadata();
|
||||
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: ProviderManifestable.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Manifest_Interface.php
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Manifest/Interface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Manifest_ProviderManifestable extends Zend_Tool_Framework_Manifest_Interface
|
||||
{
|
||||
|
||||
/**
|
||||
* getProviders()
|
||||
*
|
||||
* Should either return a single provider or an array
|
||||
* of providers
|
||||
*
|
||||
* @return array|string|Zend_Tool_Framework_Provider_Interface
|
||||
*/
|
||||
public function getProviders();
|
||||
|
||||
}
|
313
airtime_mvc/library/Zend/Tool/Framework/Manifest/Repository.php
Normal file
313
airtime_mvc/library/Zend/Tool/Framework/Manifest/Repository.php
Normal file
|
@ -0,0 +1,313 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Repository.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry_EnabledInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Manifest_Repository
|
||||
implements Zend_Tool_Framework_Registry_EnabledInterface, IteratorAggregate, Countable
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Provider_Registry_Interface
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_manifests = array();
|
||||
|
||||
/**
|
||||
* @var array Array of Zend_Tool_Framework_Metadata_Interface
|
||||
*/
|
||||
protected $_metadatas = array();
|
||||
|
||||
/**
|
||||
* setRegistry()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Registry_Interface $registry
|
||||
* @return unknown
|
||||
*/
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* addManifest() - Add a manifest for later processing
|
||||
*
|
||||
* @param Zend_Tool_Framework_Manifest_Interface $manifest
|
||||
* @return Zend_Tool_Framework_Manifest_Repository
|
||||
*/
|
||||
public function addManifest(Zend_Tool_Framework_Manifest_Interface $manifest)
|
||||
{
|
||||
// we need to get an index number so that manifests with
|
||||
// higher indexes have priority over others
|
||||
$index = count($this->_manifests);
|
||||
|
||||
if ($manifest instanceof Zend_Tool_Framework_Registry_EnabledInterface) {
|
||||
$manifest->setRegistry($this->_registry);
|
||||
}
|
||||
|
||||
// if the manifest supplies a getIndex() method, use it
|
||||
if ($manifest instanceof Zend_Tool_Framework_Manifest_Indexable) {
|
||||
$index = $manifest->getIndex();
|
||||
}
|
||||
|
||||
// get the required objects from the framework registry
|
||||
$actionRepository = $this->_registry->getActionRepository();
|
||||
$providerRepository = $this->_registry->getProviderRepository();
|
||||
|
||||
// load providers if interface supports that method
|
||||
if ($manifest instanceof Zend_Tool_Framework_Manifest_ProviderManifestable) {
|
||||
$providers = $manifest->getProviders();
|
||||
if (!is_array($providers)) {
|
||||
$providers = array($providers);
|
||||
}
|
||||
|
||||
foreach ($providers as $provider) {
|
||||
|
||||
// if provider is a string, try and load it as an object
|
||||
if (is_string($provider)) {
|
||||
$provider = new $provider();
|
||||
}
|
||||
|
||||
if (!$provider instanceof Zend_Tool_Framework_Provider_Interface) {
|
||||
require_once 'Zend/Tool/Framework/Manifest/Exception.php';
|
||||
throw new Zend_Tool_Framework_Manifest_Exception(
|
||||
'A provider provided by the ' . get_class($manifest)
|
||||
. ' does not implement Zend_Tool_Framework_Provider_Interface'
|
||||
);
|
||||
}
|
||||
if (!$providerRepository->hasProvider($provider, false)) {
|
||||
$providerRepository->addProvider($provider);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// load actions if interface supports that method
|
||||
if ($manifest instanceof Zend_Tool_Framework_Manifest_ActionManifestable) {
|
||||
$actions = $manifest->getActions();
|
||||
if (!is_array($actions)) {
|
||||
$actions = array($actions);
|
||||
}
|
||||
|
||||
foreach ($actions as $action) {
|
||||
if (is_string($action)) {
|
||||
$action = new Zend_Tool_Framework_Action_Base($action);
|
||||
}
|
||||
$actionRepository->addAction($action);
|
||||
}
|
||||
}
|
||||
|
||||
// should we detect collisions here? does it even matter?
|
||||
$this->_manifests[$index] = $manifest;
|
||||
ksort($this->_manifests);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getManifests()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Manifest_Interface[]
|
||||
*/
|
||||
public function getManifests()
|
||||
{
|
||||
return $this->_manifests;
|
||||
}
|
||||
|
||||
/**
|
||||
* addMetadata() - add a metadata peice by peice
|
||||
*
|
||||
* @param Zend_Tool_Framework_Manifest_Metadata $metadata
|
||||
* @return Zend_Tool_Framework_Manifest_Repository
|
||||
*/
|
||||
public function addMetadata(Zend_Tool_Framework_Metadata_Interface $metadata)
|
||||
{
|
||||
$this->_metadatas[] = $metadata;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* process() - Process is expected to be called at the end of client construction time.
|
||||
* By this time, the loader has run and loaded any found manifests into the repository
|
||||
* for loading
|
||||
*
|
||||
* @return Zend_Tool_Framework_Manifest_Repository
|
||||
*/
|
||||
public function process()
|
||||
{
|
||||
|
||||
foreach ($this->_manifests as $manifest) {
|
||||
if ($manifest instanceof Zend_Tool_Framework_Manifest_MetadataManifestable) {
|
||||
$metadatas = $manifest->getMetadata();
|
||||
if (!is_array($metadatas)) {
|
||||
$metadatas = array($metadatas);
|
||||
}
|
||||
|
||||
foreach ($metadatas as $metadata) {
|
||||
if (is_array($metadata)) {
|
||||
if (!class_exists('Zend_Tool_Framework_Metadata_Dynamic')) {
|
||||
require_once 'Zend/Tool/Framework/Metadata/Dynamic.php';
|
||||
}
|
||||
$metadata = new Zend_Tool_Framework_Metadata_Dynamic($metadata);
|
||||
}
|
||||
|
||||
if (!$metadata instanceof Zend_Tool_Framework_Metadata_Interface) {
|
||||
require_once 'Zend/Tool/Framework/Manifest/Exception.php';
|
||||
throw new Zend_Tool_Framework_Manifest_Exception(
|
||||
'A Zend_Tool_Framework_Metadata_Interface object was not found in manifest ' . get_class($manifest)
|
||||
);
|
||||
}
|
||||
|
||||
$this->addMetadata($metadata);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getMetadatas() - This is the main search function for the repository.
|
||||
*
|
||||
* example: This will retrieve all metadata that matches the following criteria
|
||||
* $manifestRepo->getMetadatas(array(
|
||||
* 'providerName' => 'Version',
|
||||
* 'actionName' => 'show'
|
||||
* ));
|
||||
*
|
||||
* @param array $searchProperties
|
||||
* @param bool $includeNonExistentProperties
|
||||
* @return Zend_Tool_Framework_Manifest_Metadata[]
|
||||
*/
|
||||
public function getMetadatas(Array $searchProperties = array(), $includeNonExistentProperties = true)
|
||||
{
|
||||
|
||||
$returnMetadatas = array();
|
||||
|
||||
// loop through the metadatas so that we can search each individual one
|
||||
foreach ($this->_metadatas as $metadata) {
|
||||
|
||||
// each value will be retrieved from the metadata, each metadata should
|
||||
// implement a getter method to retrieve the value
|
||||
foreach ($searchProperties as $searchPropertyName => $searchPropertyValue) {
|
||||
if (method_exists($metadata, 'get' . $searchPropertyName)) {
|
||||
if ($metadata->{'get' . $searchPropertyName}() != $searchPropertyValue) {
|
||||
// if the metadata supports a specific property but the value does not
|
||||
// match, move on
|
||||
continue 2;
|
||||
}
|
||||
} elseif (!$includeNonExistentProperties) {
|
||||
// if the option $includeNonExitentProperties is false, then move on as
|
||||
// we dont want to include this metadata if non existent
|
||||
// search properties are not inside the target (current) metadata
|
||||
continue 2;
|
||||
}
|
||||
}
|
||||
|
||||
// all searching has been accounted for, if we reach this point, then the metadata
|
||||
// is good and we can return it
|
||||
$returnMetadatas[] = $metadata;
|
||||
|
||||
}
|
||||
|
||||
return $returnMetadatas;
|
||||
}
|
||||
|
||||
/**
|
||||
* getMetadata() - This will proxy to getMetadatas(), but will only return a single metadata. This method
|
||||
* should be used in situations where the search criteria is known to only find a single metadata object
|
||||
*
|
||||
* @param array $searchProperties
|
||||
* @param bool $includeNonExistentProperties
|
||||
* @return Zend_Tool_Framework_Manifest_Metadata
|
||||
*/
|
||||
public function getMetadata(Array $searchProperties = array(), $includeNonExistentProperties = true)
|
||||
{
|
||||
$metadatas = $this->getMetadatas($searchProperties, $includeNonExistentProperties);
|
||||
return array_shift($metadatas);
|
||||
}
|
||||
|
||||
/**
|
||||
* __toString() - cast to string
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
$metadatasByType = array();
|
||||
|
||||
foreach ($this->_metadatas as $metadata) {
|
||||
if (!array_key_exists($metadata->getType(), $metadatasByType)) {
|
||||
$metadatasByType[$metadata->getType()] = array();
|
||||
}
|
||||
$metadatasByType[$metadata->getType()][] = $metadata;
|
||||
}
|
||||
|
||||
$string = '';
|
||||
foreach ($metadatasByType as $type => $metadatas) {
|
||||
$string .= $type . PHP_EOL;
|
||||
foreach ($metadatas as $metadata) {
|
||||
$metadataString = ' ' . $metadata->__toString() . PHP_EOL;
|
||||
//$metadataString = str_replace(PHP_EOL, PHP_EOL . ' ', $metadataString);
|
||||
$string .= $metadataString;
|
||||
}
|
||||
}
|
||||
|
||||
return $string;
|
||||
}
|
||||
|
||||
/**
|
||||
* count() - required by the Countable Interface
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return count($this->_metadatas);
|
||||
}
|
||||
|
||||
/**
|
||||
* getIterator() - required by the IteratorAggregate interface
|
||||
*
|
||||
* @return ArrayIterator
|
||||
*/
|
||||
public function getIterator()
|
||||
{
|
||||
return new ArrayIterator($this->_metadatas);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Metadata_Attributable
|
||||
{
|
||||
public function getAttributes();
|
||||
}
|
||||
|
||||
|
227
airtime_mvc/library/Zend/Tool/Framework/Metadata/Basic.php
Normal file
227
airtime_mvc/library/Zend/Tool/Framework/Metadata/Basic.php
Normal file
|
@ -0,0 +1,227 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Basic.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Metadata_Interface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Metadata/Interface.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Metadata_Attributable
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Metadata/Attributable.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Metadata_Basic
|
||||
implements Zend_Tool_Framework_Metadata_Interface, Zend_Tool_Framework_Metadata_Attributable
|
||||
{
|
||||
|
||||
/**#@+
|
||||
* Search constants
|
||||
*/
|
||||
const ATTRIBUTES_ALL = 'attributesAll';
|
||||
const ATTRIBUTES_NO_PARENT = 'attributesParent';
|
||||
/**#@-*/
|
||||
|
||||
/**#@+
|
||||
* @var string
|
||||
*/
|
||||
protected $_type = 'Basic';
|
||||
protected $_name = null;
|
||||
protected $_value = null;
|
||||
/**#@-*/
|
||||
|
||||
/**
|
||||
* @var mixed
|
||||
*/
|
||||
protected $_reference = null;
|
||||
|
||||
/**
|
||||
* Constructor - allows for the setting of options
|
||||
*
|
||||
* @param array $options
|
||||
*/
|
||||
public function __construct(Array $options = array())
|
||||
{
|
||||
if ($options) {
|
||||
$this->setOptions($options);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* setOptions() - standard issue implementation, this will set any
|
||||
* options that are supported via a set method.
|
||||
*
|
||||
* @param array $options
|
||||
* @return Zend_Tool_Framework_Metadata_Basic
|
||||
*/
|
||||
public function setOptions(Array $options)
|
||||
{
|
||||
foreach ($options as $optionName => $optionValue) {
|
||||
$setMethod = 'set' . $optionName;
|
||||
if (method_exists($this, $setMethod)) {
|
||||
$this->{$setMethod}($optionValue);
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getType()
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getType()
|
||||
{
|
||||
return $this->_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* setType()
|
||||
*
|
||||
* @param string $type
|
||||
* @return Zend_Tool_Framework_Metadata_Basic
|
||||
*/
|
||||
public function setType($type)
|
||||
{
|
||||
$this->_type = $type;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getName()
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* setName()
|
||||
*
|
||||
* @param string $name
|
||||
* @return Zend_Tool_Framework_Metadata_Basic
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
$this->_name = $name;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getValue()
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getValue()
|
||||
{
|
||||
return $this->_value;
|
||||
}
|
||||
|
||||
/**
|
||||
* setValue()
|
||||
*
|
||||
* @param unknown_type $Value
|
||||
* @return Zend_Tool_Framework_Metadata_Basic
|
||||
*/
|
||||
public function setValue($value)
|
||||
{
|
||||
$this->_value = $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* setReference()
|
||||
*
|
||||
* @param mixed $reference
|
||||
* @return Zend_Tool_Framework_Metadata_Basic
|
||||
*/
|
||||
public function setReference($reference)
|
||||
{
|
||||
$this->_reference = $reference;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getReference()
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function getReference()
|
||||
{
|
||||
return $this->_reference;
|
||||
}
|
||||
|
||||
/**
|
||||
* getAttributes() - this will retrieve any attributes of this object that exist as properties
|
||||
* This is most useful for printing metadata.
|
||||
*
|
||||
* @param const $type
|
||||
* @return array
|
||||
*/
|
||||
public function getAttributes($type = self::ATTRIBUTES_ALL, $stringRepresentationOfNonScalars = false)
|
||||
{
|
||||
$thisReflection = new ReflectionObject($this);
|
||||
|
||||
$metadataPairValues = array();
|
||||
|
||||
foreach (get_object_vars($this) as $varName => $varValue) {
|
||||
if ($type == self::ATTRIBUTES_NO_PARENT && ($thisReflection->getProperty($varName)->getDeclaringClass()->getName() == 'Zend_Tool_Framework_Metadata_Basic')) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($stringRepresentationOfNonScalars) {
|
||||
|
||||
if (is_object($varValue)) {
|
||||
$varValue = '(object)';
|
||||
}
|
||||
|
||||
if (is_null($varValue)) {
|
||||
$varValue = '(null)';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$metadataPairValues[ltrim($varName, '_')] = $varValue;
|
||||
}
|
||||
|
||||
return $metadataPairValues;
|
||||
}
|
||||
|
||||
/**
|
||||
* __toString() - string representation of this object
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
return 'Type: ' . $this->_type . ', Name: ' . $this->_name . ', Value: ' . (is_array($this->_value) ? http_build_query($this->_value) : (string) $this->_value);
|
||||
}
|
||||
}
|
219
airtime_mvc/library/Zend/Tool/Framework/Metadata/Dynamic.php
Normal file
219
airtime_mvc/library/Zend/Tool/Framework/Metadata/Dynamic.php
Normal file
|
@ -0,0 +1,219 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Dynamic.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Metadata_Interface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Metadata/Interface.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Metadata_Attributable
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Metadata/Attributable.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Metadata_Dynamic
|
||||
implements Zend_Tool_Framework_Metadata_Interface, Zend_Tool_Framework_Metadata_Attributable
|
||||
{
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $_type = 'Dynamic';
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $_name = null;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $_value = null;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_dynamicAttributes = array();
|
||||
|
||||
public function __construct($options = array())
|
||||
{
|
||||
if ($options) {
|
||||
$this->setOptions($options);
|
||||
}
|
||||
}
|
||||
|
||||
public function setOptions(Array $options = array())
|
||||
{
|
||||
foreach ($options as $optName => $optValue) {
|
||||
$methodName = 'set' . $optName;
|
||||
$this->{$methodName}($optValue);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* setType()
|
||||
*
|
||||
* @param $type
|
||||
* @return Zend_Tool_Framework_Metadata_Dynamic
|
||||
*/
|
||||
public function setType($type)
|
||||
{
|
||||
$this->_type = $type;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getType()
|
||||
*
|
||||
* The type of metadata this describes
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getType()
|
||||
{
|
||||
return $this->_type;
|
||||
}
|
||||
|
||||
/**
|
||||
* setName()
|
||||
*
|
||||
* @param $name
|
||||
* @return Zend_Tool_Framework_Metadata_Dynamic
|
||||
*/
|
||||
public function setName($name)
|
||||
{
|
||||
$this->_name = $name;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getName()
|
||||
*
|
||||
* Metadata name
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* setValue()
|
||||
*
|
||||
* @param $value
|
||||
* @return Zend_Tool_Framework_Metadata_Dynamic
|
||||
*/
|
||||
public function setValue($value)
|
||||
{
|
||||
$this->_value = $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getValue()
|
||||
*
|
||||
* Metadata Value
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getValue()
|
||||
{
|
||||
return $this->_value;
|
||||
}
|
||||
|
||||
public function getAttributes()
|
||||
{
|
||||
return $this->_dynamicAttributes;
|
||||
}
|
||||
|
||||
/**
|
||||
* __isset()
|
||||
*
|
||||
* Check if an attrbute is set
|
||||
*
|
||||
* @param string $name
|
||||
* @return bool
|
||||
*/
|
||||
public function __isset($name)
|
||||
{
|
||||
return isset($this->_dynamicAttributes[$name]);
|
||||
}
|
||||
|
||||
/**
|
||||
* __unset()
|
||||
*
|
||||
* @param string $name
|
||||
* @return null
|
||||
*/
|
||||
public function __unset($name)
|
||||
{
|
||||
unset($this->_dynamicAttributes[$name]);
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* __get() - Get a property via property call $metadata->foo
|
||||
*
|
||||
* @param string $name
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get($name)
|
||||
{
|
||||
if (method_exists($this, 'get' . $name)) {
|
||||
return $this->{'get' . $name}();
|
||||
} elseif (array_key_exists($name, $this->_dynamicAttributes)) {
|
||||
return $this->_dynamicAttributes[$name];
|
||||
} else {
|
||||
require_once 'Zend/Tool/Framework/Registry/Exception.php';
|
||||
throw new Zend_Tool_Framework_Registry_Exception('Property ' . $name . ' was not located in this metadata.');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* __set() - Set a property via the magic set $metadata->foo = 'foo'
|
||||
*
|
||||
* @param string $name
|
||||
* @param mixed $value
|
||||
*/
|
||||
public function __set($name, $value)
|
||||
{
|
||||
if (method_exists($this, 'set' . $name)) {
|
||||
$this->{'set' . $name}($value);
|
||||
return $this;
|
||||
} else {
|
||||
$this->_dynamicAttributes[$name] = $value;
|
||||
return $this;
|
||||
}
|
||||
// {
|
||||
// require_once 'Zend/Tool/Framework/Registry/Exception.php';
|
||||
// throw new Zend_Tool_Framework_Registry_Exception('Property ' . $name . ' was not located in this registry.');
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Interface.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Metadata_Interface
|
||||
{
|
||||
|
||||
/**
|
||||
* getType()
|
||||
*
|
||||
* The type of metadata this describes
|
||||
*
|
||||
*/
|
||||
public function getType();
|
||||
|
||||
/**
|
||||
* getName()
|
||||
*
|
||||
*/
|
||||
public function getName();
|
||||
|
||||
/**
|
||||
* getValue()
|
||||
*
|
||||
*/
|
||||
public function getValue();
|
||||
|
||||
}
|
218
airtime_mvc/library/Zend/Tool/Framework/Metadata/Tool.php
Normal file
218
airtime_mvc/library/Zend/Tool/Framework/Metadata/Tool.php
Normal file
|
@ -0,0 +1,218 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Tool.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Metadata_Basic
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Metadata/Basic.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Metadata_Tool extends Zend_Tool_Framework_Metadata_Basic
|
||||
{
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $_type = 'Tool';
|
||||
|
||||
/**#@+
|
||||
* @var string
|
||||
*/
|
||||
protected $_clientName = null;
|
||||
protected $_actionName = null;
|
||||
protected $_providerName = null;
|
||||
protected $_specialtyName = null;
|
||||
/**#@-*/
|
||||
|
||||
/**#@+
|
||||
* @var string
|
||||
*/
|
||||
protected $_clientReference = null;
|
||||
protected $_actionReference = null;
|
||||
protected $_providerReference = null;
|
||||
/**#@-*/
|
||||
|
||||
public function setClientName($clientName)
|
||||
{
|
||||
$this->_clientName = $clientName;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function getClientName()
|
||||
{
|
||||
return $this->_clientName;
|
||||
}
|
||||
|
||||
/**
|
||||
* setActionName()
|
||||
*
|
||||
* @param string $actionName
|
||||
* @return Zend_Tool_Framework_Metadata_Tool
|
||||
*/
|
||||
public function setActionName($actionName)
|
||||
{
|
||||
$this->_actionName = $actionName;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getActionName()
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getActionName()
|
||||
{
|
||||
return $this->_actionName;
|
||||
}
|
||||
|
||||
/**
|
||||
* setProviderName()
|
||||
*
|
||||
* @param string $providerName
|
||||
* @return Zend_Tool_Framework_Metadata_Tool
|
||||
*/
|
||||
public function setProviderName($providerName)
|
||||
{
|
||||
$this->_providerName = $providerName;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getProviderName()
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getProviderName()
|
||||
{
|
||||
return $this->_providerName;
|
||||
}
|
||||
|
||||
/**
|
||||
* setSpecialtyName()
|
||||
*
|
||||
* @param string $specialtyName
|
||||
* @return Zend_Tool_Framework_Metadata_Tool
|
||||
*/
|
||||
public function setSpecialtyName($specialtyName)
|
||||
{
|
||||
$this->_specialtyName = $specialtyName;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getSpecialtyName()
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getSpecialtyName()
|
||||
{
|
||||
return $this->_specialtyName;
|
||||
}
|
||||
|
||||
/**
|
||||
* setClientReference()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Client_Abstract $client
|
||||
* @return Zend_Tool_Framework_Metadata_Tool
|
||||
*/
|
||||
public function setClientReference(Zend_Tool_Framework_Client_Abstract $client)
|
||||
{
|
||||
$this->_clientReference = $client;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getClientReference()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Client_Abstract
|
||||
*/
|
||||
public function getClientReference()
|
||||
{
|
||||
return $this->_clientReference;
|
||||
}
|
||||
|
||||
/**
|
||||
* setActionReference()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Action_Interface $action
|
||||
* @return Zend_Tool_Framework_Metadata_Tool
|
||||
*/
|
||||
public function setActionReference(Zend_Tool_Framework_Action_Interface $action)
|
||||
{
|
||||
$this->_actionReference = $action;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getActionReference()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Action_Interface
|
||||
*/
|
||||
public function getActionReference()
|
||||
{
|
||||
return $this->_actionReference;
|
||||
}
|
||||
|
||||
/**
|
||||
* setProviderReference()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Provider_Interface $provider
|
||||
* @return Zend_Tool_Framework_Metadata_Tool
|
||||
*/
|
||||
public function setProviderReference(Zend_Tool_Framework_Provider_Interface $provider)
|
||||
{
|
||||
$this->_providerReference = $provider;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getProviderReference()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Provider_Interface
|
||||
*/
|
||||
public function getProviderReference()
|
||||
{
|
||||
return $this->_providerReference;
|
||||
}
|
||||
|
||||
/**
|
||||
* __toString() cast to string
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
$string = parent::__toString();
|
||||
$string .= ' (ProviderName: ' . $this->_providerName
|
||||
. ', ActionName: ' . $this->_actionName
|
||||
. ', SpecialtyName: ' . $this->_specialtyName
|
||||
. ')';
|
||||
|
||||
return $string;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Abstract.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Provider_Interface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Provider/Interface.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry_EnabledInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';
|
||||
|
||||
|
||||
/**
|
||||
* This is a convenience class.
|
||||
*
|
||||
* At current it will return the request and response from the client registry
|
||||
* as they are the more common things that will be needed by providers
|
||||
*
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
abstract class Zend_Tool_Framework_Provider_Abstract
|
||||
implements Zend_Tool_Framework_Provider_Interface, Zend_Tool_Framework_Registry_EnabledInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Registry_Interface
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
/**
|
||||
* setRegistry() - required by Zend_Tool_Framework_Registry_EnabledInterface
|
||||
*
|
||||
* @param Zend_Tool_Framework_Registry_Interface $registry
|
||||
* @return Zend_Tool_Framework_Provider_Abstract
|
||||
*/
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
return $this;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: DocblockManifestable.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Provider_DocblockManifestInterface
|
||||
{
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Exception.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Exception
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Exception.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Provider_Exception extends Zend_Tool_Framework_Exception
|
||||
{
|
||||
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Interactable.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Provider_Interactable
|
||||
{
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Interface.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Provider_Interface
|
||||
{
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Pretendable.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Provider_Pretendable
|
||||
{
|
||||
}
|
265
airtime_mvc/library/Zend/Tool/Framework/Provider/Repository.php
Normal file
265
airtime_mvc/library/Zend/Tool/Framework/Provider/Repository.php
Normal file
|
@ -0,0 +1,265 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Repository.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Provider_Signature
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Provider/Signature.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry_EnabledInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Provider_Repository
|
||||
implements Zend_Tool_Framework_Registry_EnabledInterface, IteratorAggregate, Countable
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Registry
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $_processOnAdd = false;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Provider_Interface[]
|
||||
*/
|
||||
protected $_unprocessedProviders = array();
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Provider_Signature[]
|
||||
*/
|
||||
protected $_providerSignatures = array();
|
||||
|
||||
/**
|
||||
* @var array Array of Zend_Tool_Framework_Provider_Inteface
|
||||
*/
|
||||
protected $_providers = array();
|
||||
|
||||
/**
|
||||
* setRegistry()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Registry_Interface $registry
|
||||
* @return unknown
|
||||
*/
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the ProcessOnAdd flag
|
||||
*
|
||||
* @param unknown_type $processOnAdd
|
||||
* @return unknown
|
||||
*/
|
||||
public function setProcessOnAdd($processOnAdd = true)
|
||||
{
|
||||
$this->_processOnAdd = (bool) $processOnAdd;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a provider to the repository for processing
|
||||
*
|
||||
* @param Zend_Tool_Framework_Provider_Interface $provider
|
||||
* @return Zend_Tool_Framework_Provider_Repository
|
||||
*/
|
||||
public function addProvider(Zend_Tool_Framework_Provider_Interface $provider, $overwriteExistingProvider = false)
|
||||
{
|
||||
if ($provider instanceof Zend_Tool_Framework_Registry_EnabledInterface) {
|
||||
$provider->setRegistry($this->_registry);
|
||||
}
|
||||
|
||||
if (method_exists($provider, 'getName')) {
|
||||
$providerName = $provider->getName();
|
||||
} else {
|
||||
$providerName = $this->_parseName($provider);
|
||||
}
|
||||
|
||||
// if a provider by the given name already exist, and its not set as overwritable, throw exception
|
||||
if (!$overwriteExistingProvider &&
|
||||
(array_key_exists($providerName, $this->_unprocessedProviders)
|
||||
|| array_key_exists($providerName, $this->_providers)))
|
||||
{
|
||||
require_once 'Zend/Tool/Framework/Provider/Exception.php';
|
||||
throw new Zend_Tool_Framework_Provider_Exception('A provider by the name ' . $providerName
|
||||
. ' is already registered and $overrideExistingProvider is set to false.');
|
||||
}
|
||||
|
||||
$this->_unprocessedProviders[$providerName] = $provider;
|
||||
|
||||
// if process has already been called, process immediately.
|
||||
if ($this->_processOnAdd) {
|
||||
$this->process();
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function hasProvider($providerOrClassName, $processedOnly = true)
|
||||
{
|
||||
if ($providerOrClassName instanceof Zend_Tool_Framework_Provider_Interface) {
|
||||
$targetProviderClassName = get_class($providerOrClassName);
|
||||
} else {
|
||||
$targetProviderClassName = (string) $providerOrClassName;
|
||||
}
|
||||
|
||||
if (!$processedOnly) {
|
||||
foreach ($this->_unprocessedProviders as $unprocessedProvider) {
|
||||
if (get_class($unprocessedProvider) == $targetProviderClassName) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->_providers as $processedProvider) {
|
||||
if (get_class($processedProvider) == $targetProviderClassName) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process all of the unprocessed providers
|
||||
*
|
||||
*/
|
||||
public function process()
|
||||
{
|
||||
|
||||
// process all providers in the unprocessedProviders array
|
||||
foreach ($this->_unprocessedProviders as $providerName => $provider) {
|
||||
|
||||
// create a signature for the provided provider
|
||||
$providerSignature = new Zend_Tool_Framework_Provider_Signature($provider);
|
||||
|
||||
if ($providerSignature instanceof Zend_Tool_Framework_Registry_EnabledInterface) {
|
||||
$providerSignature->setRegistry($this->_registry);
|
||||
}
|
||||
|
||||
$providerSignature->process();
|
||||
|
||||
// ensure the name is lowercased for easier searching
|
||||
$providerName = strtolower($providerName);
|
||||
|
||||
// add to the appropraite place
|
||||
$this->_providerSignatures[$providerName] = $providerSignature;
|
||||
$this->_providers[$providerName] = $providerSignature->getProvider();
|
||||
|
||||
// remove from unprocessed array
|
||||
unset($this->_unprocessedProviders[$providerName]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* getProviders() Get all the providers in the repository
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getProviders()
|
||||
{
|
||||
return $this->_providers;
|
||||
}
|
||||
|
||||
/**
|
||||
* getProviderSignatures() Get all the provider signatures
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getProviderSignatures()
|
||||
{
|
||||
return $this->_providerSignatures;
|
||||
}
|
||||
|
||||
/**
|
||||
* getProvider()
|
||||
*
|
||||
* @param string $providerName
|
||||
* @return Zend_Tool_Framework_Provider_Interface
|
||||
*/
|
||||
public function getProvider($providerName)
|
||||
{
|
||||
return $this->_providers[strtolower($providerName)];
|
||||
}
|
||||
|
||||
/**
|
||||
* getProviderSignature()
|
||||
*
|
||||
* @param string $providerName
|
||||
* @return Zend_Tool_Framework_Provider_Signature
|
||||
*/
|
||||
public function getProviderSignature($providerName)
|
||||
{
|
||||
return $this->_providerSignatures[strtolower($providerName)];
|
||||
}
|
||||
|
||||
/**
|
||||
* count() - return the number of providers
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return count($this->_providers);
|
||||
}
|
||||
|
||||
/**
|
||||
* getIterator() - Required by the IteratorAggregate Interface
|
||||
*
|
||||
* @return ArrayIterator
|
||||
*/
|
||||
public function getIterator()
|
||||
{
|
||||
return new ArrayIterator($this->getProviders());
|
||||
}
|
||||
|
||||
/**
|
||||
* _parseName - internal method to determine the name of an action when one is not explicity provided.
|
||||
*
|
||||
* @param Zend_Tool_Framework_Action_Interface $action
|
||||
* @return string
|
||||
*/
|
||||
protected function _parseName(Zend_Tool_Framework_Provider_Interface $provider)
|
||||
{
|
||||
$className = get_class($provider);
|
||||
$providerName = substr($className, strrpos($className, '_')+1);
|
||||
if (substr($providerName, -8) == 'Provider') {
|
||||
$providerName = substr($providerName, 0, strlen($providerName)-8);
|
||||
}
|
||||
return $providerName;
|
||||
}
|
||||
|
||||
}
|
391
airtime_mvc/library/Zend/Tool/Framework/Provider/Signature.php
Normal file
391
airtime_mvc/library/Zend/Tool/Framework/Provider/Signature.php
Normal file
|
@ -0,0 +1,391 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Signature.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Reflection_Class
|
||||
*/
|
||||
require_once 'Zend/Reflection/Class.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Action_Base
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Action/Base.php';
|
||||
|
||||
/**
|
||||
* The purpose of Zend_Tool_Framework_Provider_Signature is to derive
|
||||
* callable signatures from the provided provider.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Provider_Signature implements Zend_Tool_Framework_Registry_EnabledInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Registry
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Provider_Interface
|
||||
*/
|
||||
protected $_provider = null;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $_name = null;
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_specialties = array();
|
||||
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_actionableMethods = array();
|
||||
|
||||
/**
|
||||
* @var unknown_type
|
||||
*/
|
||||
protected $_actions = array();
|
||||
|
||||
/**
|
||||
* @var Zend_Reflection_Class
|
||||
*/
|
||||
protected $_providerReflection = null;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
protected $_isProcessed = false;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @param Zend_Tool_Framework_Provider_Interface $provider
|
||||
*/
|
||||
public function __construct(Zend_Tool_Framework_Provider_Interface $provider)
|
||||
{
|
||||
$this->_provider = $provider;
|
||||
$this->_providerReflection = new Zend_Reflection_Class($provider);
|
||||
}
|
||||
|
||||
/**
|
||||
* setRegistry()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Registry_Interface $registry
|
||||
* @return Zend_Tool_Framework_Provider_Signature
|
||||
*/
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function process()
|
||||
{
|
||||
if ($this->_isProcessed) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->_process();
|
||||
}
|
||||
|
||||
/**
|
||||
* getName() of the provider
|
||||
*
|
||||
* @return unknown
|
||||
*/
|
||||
public function getName()
|
||||
{
|
||||
return $this->_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the provider for this signature
|
||||
*
|
||||
* @return Zend_Tool_Framework_Provider_Interface
|
||||
*/
|
||||
public function getProvider()
|
||||
{
|
||||
return $this->_provider;
|
||||
}
|
||||
|
||||
/**
|
||||
* getProviderReflection()
|
||||
*
|
||||
* @return Zend_Reflection_Class
|
||||
*/
|
||||
public function getProviderReflection()
|
||||
{
|
||||
return $this->_providerReflection;
|
||||
}
|
||||
|
||||
/**
|
||||
* getSpecialities()
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getSpecialties()
|
||||
{
|
||||
return $this->_specialties;
|
||||
}
|
||||
|
||||
/**
|
||||
* getActions()
|
||||
*
|
||||
* @return array Array of Actions
|
||||
*/
|
||||
public function getActions()
|
||||
{
|
||||
return $this->_actions;
|
||||
}
|
||||
|
||||
/**
|
||||
* getActionableMethods()
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getActionableMethods()
|
||||
{
|
||||
return $this->_actionableMethods;
|
||||
}
|
||||
|
||||
/**
|
||||
* getActionableMethod() - Get an actionable method by name, this will return an array of
|
||||
* useful information about what can be exectued on this provider
|
||||
*
|
||||
* @param string $methodName
|
||||
* @return array
|
||||
*/
|
||||
public function getActionableMethod($methodName)
|
||||
{
|
||||
if (isset($this->_actionableMethods[$methodName])) {
|
||||
return $this->_actionableMethods[$methodName];
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* getActionableMethodByActionName() - Get an actionable method by its action name, this
|
||||
* will return an array of useful information about what can be exectued on this provider
|
||||
*
|
||||
* @param string $actionName
|
||||
* @return array
|
||||
*/
|
||||
public function getActionableMethodByActionName($actionName, $specialtyName = '_Global')
|
||||
{
|
||||
foreach ($this->_actionableMethods as $actionableMethod) {
|
||||
if ($actionName == $actionableMethod['actionName']
|
||||
&& $specialtyName == $actionableMethod['specialty']) {
|
||||
return $actionableMethod;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* _process() is called at construction time and is what will build the signature information
|
||||
* for determining what is actionable
|
||||
*
|
||||
*/
|
||||
protected function _process()
|
||||
{
|
||||
$this->_isProcessed = true;
|
||||
$this->_processName();
|
||||
$this->_processSpecialties();
|
||||
$this->_processActionableMethods();
|
||||
}
|
||||
|
||||
/**
|
||||
* _processName();
|
||||
*
|
||||
*/
|
||||
protected function _processName()
|
||||
{
|
||||
if (method_exists($this->_provider, 'getName')) {
|
||||
$this->_name = $this->_provider->getName();
|
||||
}
|
||||
|
||||
if ($this->_name == null) {
|
||||
$className = get_class($this->_provider);
|
||||
$name = substr($className, strrpos($className, '_')+1);
|
||||
$name = preg_replace('#(Provider|Manifest)$#', '', $name);
|
||||
$this->_name = $name;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* _processSpecialties() - Break out the specialty names for this provider
|
||||
*
|
||||
*/
|
||||
protected function _processSpecialties()
|
||||
{
|
||||
$specialties = array();
|
||||
|
||||
if ($this->_providerReflection->hasMethod('getSpecialties')) {
|
||||
$specialties = $this->_provider->getSpecialties();
|
||||
if (!is_array($specialties)) {
|
||||
require_once 'Zend/Tool/Framework/Provider/Exception.php';
|
||||
throw new Zend_Tool_Framework_Provider_Exception(
|
||||
'Provider ' . get_class($this->_provider) . ' must return an array for method getSpecialties().'
|
||||
);
|
||||
}
|
||||
} else {
|
||||
$defaultProperties = $this->_providerReflection->getDefaultProperties();
|
||||
$specialties = (isset($defaultProperties['_specialties'])) ? $defaultProperties['_specialties'] : array();
|
||||
if (!is_array($specialties)) {
|
||||
require_once 'Zend/Tool/Framework/Provider/Exception.php';
|
||||
throw new Zend_Tool_Framework_Provider_Exception(
|
||||
'Provider ' . get_class($this->_provider) . '\'s property $_specialties must be an array.'
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$this->_specialties = array_merge(array('_Global'), $specialties);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* _processActionableMethods() - process all methods that can be called on this provider.
|
||||
*
|
||||
*/
|
||||
protected function _processActionableMethods()
|
||||
{
|
||||
|
||||
$specialtyRegex = '#(.*)(' . implode('|', $this->_specialties) . ')$#i';
|
||||
|
||||
|
||||
$methods = $this->_providerReflection->getMethods();
|
||||
|
||||
$actionableMethods = array();
|
||||
foreach ($methods as $method) {
|
||||
|
||||
$methodName = $method->getName();
|
||||
|
||||
/**
|
||||
* the following will determine what methods are actually actionable
|
||||
* public, non-static, non-underscore prefixed, classes that dont
|
||||
* contain the name "
|
||||
*/
|
||||
if (!$method->getDeclaringClass()->isInstantiable()
|
||||
|| !$method->isPublic()
|
||||
|| $methodName[0] == '_'
|
||||
|| $method->isStatic()
|
||||
|| in_array($methodName, array('getContextClasses', 'getName')) // other protected public methods will nee to go here
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/**
|
||||
* check to see if the method was a required method by a Zend_Tool_* interface
|
||||
*/
|
||||
foreach ($method->getDeclaringClass()->getInterfaces() as $methodDeclaringClassInterface) {
|
||||
if (strpos($methodDeclaringClassInterface->getName(), 'Zend_Tool_') === 0
|
||||
&& $methodDeclaringClassInterface->hasMethod($methodName)) {
|
||||
continue 2;
|
||||
}
|
||||
}
|
||||
|
||||
$actionableName = ucfirst($methodName);
|
||||
|
||||
if (substr($actionableName, -6) == 'Action') {
|
||||
$actionableName = substr($actionableName, 0, -6);
|
||||
}
|
||||
|
||||
$actionableMethods[$methodName]['methodName'] = $methodName;
|
||||
|
||||
$matches = null;
|
||||
if (preg_match($specialtyRegex, $actionableName, $matches)) {
|
||||
$actionableMethods[$methodName]['actionName'] = $matches[1];
|
||||
$actionableMethods[$methodName]['specialty'] = $matches[2];
|
||||
} else {
|
||||
$actionableMethods[$methodName]['actionName'] = $actionableName;
|
||||
$actionableMethods[$methodName]['specialty'] = '_Global';
|
||||
}
|
||||
|
||||
// get the action, and create non-existent actions when they dont exist (the true part below)
|
||||
$action = $this->_registry->getActionRepository()->getAction($actionableMethods[$methodName]['actionName']);
|
||||
if ($action == null) {
|
||||
$action = new Zend_Tool_Framework_Action_Base($actionableMethods[$methodName]['actionName']);
|
||||
$this->_registry->getActionRepository()->addAction($action);
|
||||
}
|
||||
$actionableMethods[$methodName]['action'] = $action;
|
||||
|
||||
if (!in_array($actionableMethods[$methodName]['action'], $this->_actions)) {
|
||||
$this->_actions[] = $actionableMethods[$methodName]['action'];
|
||||
}
|
||||
|
||||
$parameterInfo = array();
|
||||
$position = 1;
|
||||
foreach ($method->getParameters() as $parameter) {
|
||||
$currentParam = $parameter->getName();
|
||||
$parameterInfo[$currentParam]['position'] = $position++;
|
||||
$parameterInfo[$currentParam]['optional'] = $parameter->isOptional();
|
||||
$parameterInfo[$currentParam]['default'] = ($parameter->isOptional()) ? $parameter->getDefaultValue() : null;
|
||||
$parameterInfo[$currentParam]['name'] = $currentParam;
|
||||
$parameterInfo[$currentParam]['type'] = 'string';
|
||||
$parameterInfo[$currentParam]['description'] = null;
|
||||
}
|
||||
|
||||
$matches = null;
|
||||
if (($docComment = $method->getDocComment()) != '' &&
|
||||
(preg_match_all('/@param\s+(\w+)+\s+(\$\S+)\s+(.*?)(?=(?:\*\s*@)|(?:\*\/))/s', $docComment, $matches)))
|
||||
{
|
||||
for ($i=0; $i <= count($matches[0])-1; $i++) {
|
||||
$currentParam = ltrim($matches[2][$i], '$');
|
||||
|
||||
if ($currentParam != '' && isset($parameterInfo[$currentParam])) {
|
||||
|
||||
$parameterInfo[$currentParam]['type'] = $matches[1][$i];
|
||||
|
||||
$descriptionSource = $matches[3][$i];
|
||||
|
||||
if ($descriptionSource != '') {
|
||||
$parameterInfo[$currentParam]['description'] = trim($descriptionSource);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$actionableMethods[$methodName]['parameterInfo'] = $parameterInfo;
|
||||
|
||||
}
|
||||
|
||||
$this->_actionableMethods = $actionableMethods;
|
||||
}
|
||||
|
||||
}
|
419
airtime_mvc/library/Zend/Tool/Framework/Registry.php
Normal file
419
airtime_mvc/library/Zend/Tool/Framework/Registry.php
Normal file
|
@ -0,0 +1,419 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Registry.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry_Interface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/Interface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Registry implements Zend_Tool_Framework_Registry_Interface
|
||||
{
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Loader_Abstract
|
||||
*/
|
||||
protected $_loader = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Client_Abstract
|
||||
*/
|
||||
protected $_client = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Client_Config
|
||||
*/
|
||||
protected $_config = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Client_Storage
|
||||
*/
|
||||
protected $_storage = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Action_Repository
|
||||
*/
|
||||
protected $_actionRepository = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Provider_Repository
|
||||
*/
|
||||
protected $_providerRepository = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Manifest_Repository
|
||||
*/
|
||||
protected $_manifestRepository = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
protected $_request = null;
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Client_Response
|
||||
*/
|
||||
protected $_response = null;
|
||||
|
||||
/**
|
||||
* reset() - Reset all internal properties
|
||||
*
|
||||
*/
|
||||
public function reset()
|
||||
{
|
||||
unset($this->_client);
|
||||
unset($this->_loader);
|
||||
unset($this->_actionRepository);
|
||||
unset($this->_providerRepository);
|
||||
unset($this->_request);
|
||||
unset($this->_response);
|
||||
}
|
||||
|
||||
// public function __construct()
|
||||
// {
|
||||
// // no instantiation from outside
|
||||
// }
|
||||
|
||||
/**
|
||||
* Enter description here...
|
||||
*
|
||||
* @param Zend_Tool_Framework_Client_Abstract $client
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setClient(Zend_Tool_Framework_Client_Abstract $client)
|
||||
{
|
||||
$this->_client = $client;
|
||||
if ($this->isObjectRegistryEnablable($this->_client)) {
|
||||
$this->enableRegistryOnObject($this->_client);
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getClient() return the client in the registry
|
||||
*
|
||||
* @return Zend_Tool_Framework_Client_Abstract
|
||||
*/
|
||||
public function getClient()
|
||||
{
|
||||
return $this->_client;
|
||||
}
|
||||
|
||||
/**
|
||||
* setConfig()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Client_Config $config
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setConfig(Zend_Tool_Framework_Client_Config $config)
|
||||
{
|
||||
$this->_config = $config;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getConfig()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Client_Config
|
||||
*/
|
||||
public function getConfig()
|
||||
{
|
||||
if ($this->_config === null) {
|
||||
require_once 'Zend/Tool/Framework/Client/Config.php';
|
||||
$this->setConfig(new Zend_Tool_Framework_Client_Config());
|
||||
}
|
||||
|
||||
return $this->_config;
|
||||
}
|
||||
|
||||
/**
|
||||
* setStorage()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Client_Storage $storage
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setStorage(Zend_Tool_Framework_Client_Storage $storage)
|
||||
{
|
||||
$this->_storage = $storage;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getConfig()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Client_Storage
|
||||
*/
|
||||
public function getStorage()
|
||||
{
|
||||
if ($this->_storage === null) {
|
||||
require_once 'Zend/Tool/Framework/Client/Storage.php';
|
||||
$this->setStorage(new Zend_Tool_Framework_Client_Storage());
|
||||
}
|
||||
|
||||
return $this->_storage;
|
||||
}
|
||||
|
||||
/**
|
||||
* setLoader()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Loader_Interface $loader
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setLoader(Zend_Tool_Framework_Loader_Interface $loader)
|
||||
{
|
||||
$this->_loader = $loader;
|
||||
if ($this->isObjectRegistryEnablable($this->_loader)) {
|
||||
$this->enableRegistryOnObject($this->_loader);
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getLoader()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Loader_Abstract
|
||||
*/
|
||||
public function getLoader()
|
||||
{
|
||||
if ($this->_loader === null) {
|
||||
require_once 'Zend/Tool/Framework/Loader/IncludePathLoader.php';
|
||||
$this->setLoader(new Zend_Tool_Framework_Loader_IncludePathLoader());
|
||||
}
|
||||
|
||||
return $this->_loader;
|
||||
}
|
||||
|
||||
/**
|
||||
* setActionRepository()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Action_Repository $actionRepository
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setActionRepository(Zend_Tool_Framework_Action_Repository $actionRepository)
|
||||
{
|
||||
$this->_actionRepository = $actionRepository;
|
||||
if ($this->isObjectRegistryEnablable($this->_actionRepository)) {
|
||||
$this->enableRegistryOnObject($this->_actionRepository);
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getActionRepository()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Action_Repository
|
||||
*/
|
||||
public function getActionRepository()
|
||||
{
|
||||
if ($this->_actionRepository == null) {
|
||||
require_once 'Zend/Tool/Framework/Action/Repository.php';
|
||||
$this->setActionRepository(new Zend_Tool_Framework_Action_Repository());
|
||||
}
|
||||
|
||||
return $this->_actionRepository;
|
||||
}
|
||||
|
||||
/**
|
||||
* setProviderRepository()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Provider_Repository $providerRepository
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setProviderRepository(Zend_Tool_Framework_Provider_Repository $providerRepository)
|
||||
{
|
||||
$this->_providerRepository = $providerRepository;
|
||||
if ($this->isObjectRegistryEnablable($this->_providerRepository)) {
|
||||
$this->enableRegistryOnObject($this->_providerRepository);
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getProviderRepository()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Provider_Repository
|
||||
*/
|
||||
public function getProviderRepository()
|
||||
{
|
||||
if ($this->_providerRepository == null) {
|
||||
require_once 'Zend/Tool/Framework/Provider/Repository.php';
|
||||
$this->setProviderRepository(new Zend_Tool_Framework_Provider_Repository());
|
||||
}
|
||||
|
||||
return $this->_providerRepository;
|
||||
}
|
||||
|
||||
/**
|
||||
* setManifestRepository()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Manifest_Repository $manifestRepository
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setManifestRepository(Zend_Tool_Framework_Manifest_Repository $manifestRepository)
|
||||
{
|
||||
$this->_manifestRepository = $manifestRepository;
|
||||
if ($this->isObjectRegistryEnablable($this->_manifestRepository)) {
|
||||
$this->enableRegistryOnObject($this->_manifestRepository);
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getManifestRepository()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Manifest_Repository
|
||||
*/
|
||||
public function getManifestRepository()
|
||||
{
|
||||
if ($this->_manifestRepository == null) {
|
||||
require_once 'Zend/Tool/Framework/Manifest/Repository.php';
|
||||
$this->setManifestRepository(new Zend_Tool_Framework_Manifest_Repository());
|
||||
}
|
||||
|
||||
return $this->_manifestRepository;
|
||||
}
|
||||
|
||||
/**
|
||||
* setRequest()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Client_Request $request
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setRequest(Zend_Tool_Framework_Client_Request $request)
|
||||
{
|
||||
$this->_request = $request;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getRequest()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
public function getRequest()
|
||||
{
|
||||
if ($this->_request == null) {
|
||||
require_once 'Zend/Tool/Framework/Client/Request.php';
|
||||
$this->setRequest(new Zend_Tool_Framework_Client_Request());
|
||||
}
|
||||
|
||||
return $this->_request;
|
||||
}
|
||||
|
||||
/**
|
||||
* setResponse()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Client_Response $response
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setResponse(Zend_Tool_Framework_Client_Response $response)
|
||||
{
|
||||
$this->_response = $response;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* getResponse()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Client_Response
|
||||
*/
|
||||
public function getResponse()
|
||||
{
|
||||
if ($this->_response == null) {
|
||||
require_once 'Zend/Tool/Framework/Client/Response.php';
|
||||
$this->setResponse(new Zend_Tool_Framework_Client_Response());
|
||||
}
|
||||
|
||||
return $this->_response;
|
||||
}
|
||||
|
||||
/**
|
||||
* __get() - Get a property via property call $registry->foo
|
||||
*
|
||||
* @param string $name
|
||||
* @return mixed
|
||||
*/
|
||||
public function __get($name)
|
||||
{
|
||||
if (method_exists($this, 'get' . $name)) {
|
||||
return $this->{'get' . $name}();
|
||||
} else {
|
||||
require_once 'Zend/Tool/Framework/Registry/Exception.php';
|
||||
throw new Zend_Tool_Framework_Registry_Exception('Property ' . $name . ' was not located in this registry.');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* __set() - Set a property via the magic set $registry->foo = 'foo'
|
||||
*
|
||||
* @param string $name
|
||||
* @param mixed $value
|
||||
*/
|
||||
public function __set($name, $value)
|
||||
{
|
||||
if (method_exists($this, 'set' . $name)) {
|
||||
$this->{'set' . $name}($value);
|
||||
return;
|
||||
} else {
|
||||
require_once 'Zend/Tool/Framework/Registry/Exception.php';
|
||||
throw new Zend_Tool_Framework_Registry_Exception('Property ' . $name . ' was not located in this registry.');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* isObjectRegistryEnablable() - Check whether an object is registry enablable
|
||||
*
|
||||
* @param object $object
|
||||
* @return bool
|
||||
*/
|
||||
public function isObjectRegistryEnablable($object)
|
||||
{
|
||||
if (!is_object($object)) {
|
||||
require_once 'Zend/Tool/Framework/Registry/Exception.php';
|
||||
throw new Zend_Tool_Framework_Registry_Exception('isObjectRegistryEnablable() expects an object.');
|
||||
}
|
||||
|
||||
return ($object instanceof Zend_Tool_Framework_Registry_EnabledInterface);
|
||||
}
|
||||
|
||||
/**
|
||||
* enableRegistryOnObject() - make an object registry enabled
|
||||
*
|
||||
* @param object $object
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function enableRegistryOnObject($object)
|
||||
{
|
||||
if (!$this->isObjectRegistryEnablable($object)) {
|
||||
require_once 'Zend/Tool/Framework/Registry/Exception.php';
|
||||
throw new Zend_Tool_Framework_Registry_Exception('Object provided is not registry enablable, check first with Zend_Tool_Framework_Registry::isObjectRegistryEnablable()');
|
||||
}
|
||||
|
||||
$object->setRegistry($this);
|
||||
return $this;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: EnabledInterface.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* This is a convenience class.
|
||||
*
|
||||
* At current it will return the request and response from the client registry
|
||||
* as they are the more common things that will be needed by providers
|
||||
*
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Registry_EnabledInterface
|
||||
{
|
||||
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry);
|
||||
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Exception.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
require_once 'Zend/Tool/Framework/Exception.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_Registry_Exception extends Zend_Tool_Framework_Exception
|
||||
{
|
||||
|
||||
}
|
137
airtime_mvc/library/Zend/Tool/Framework/Registry/Interface.php
Normal file
137
airtime_mvc/library/Zend/Tool/Framework/Registry/Interface.php
Normal file
|
@ -0,0 +1,137 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Interface.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
interface Zend_Tool_Framework_Registry_Interface
|
||||
{
|
||||
|
||||
|
||||
/**
|
||||
* setClient()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Client_Abstract $client
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setClient(Zend_Tool_Framework_Client_Abstract $client);
|
||||
|
||||
/**
|
||||
* getClient() return the client in the registry
|
||||
*
|
||||
* @return Zend_Tool_Framework_Client_Abstract
|
||||
*/
|
||||
public function getClient();
|
||||
|
||||
/**
|
||||
* setLoader()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Loader_Abstract $loader
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setLoader(Zend_Tool_Framework_Loader_Interface $loader);
|
||||
|
||||
/**
|
||||
* getLoader()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Loader_Abstract
|
||||
*/
|
||||
public function getLoader();
|
||||
|
||||
/**
|
||||
* setActionRepository()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Action_Repository $actionRepository
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setActionRepository(Zend_Tool_Framework_Action_Repository $actionRepository);
|
||||
|
||||
/**
|
||||
* getActionRepository()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Action_Repository
|
||||
*/
|
||||
public function getActionRepository();
|
||||
|
||||
/**
|
||||
* setProviderRepository()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Provider_Repository $providerRepository
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setProviderRepository(Zend_Tool_Framework_Provider_Repository $providerRepository);
|
||||
|
||||
/**
|
||||
* getProviderRepository()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Provider_Repository
|
||||
*/
|
||||
public function getProviderRepository();
|
||||
|
||||
/**
|
||||
* setManifestRepository()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Manifest_Repository $manifestRepository
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setManifestRepository(Zend_Tool_Framework_Manifest_Repository $manifestRepository);
|
||||
|
||||
/**
|
||||
* getManifestRepository()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Manifest_Repository
|
||||
*/
|
||||
public function getManifestRepository();
|
||||
|
||||
/**
|
||||
* setRequest()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Client_Request $request
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setRequest(Zend_Tool_Framework_Client_Request $request);
|
||||
|
||||
/**
|
||||
* getRequest()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Client_Request
|
||||
*/
|
||||
public function getRequest();
|
||||
|
||||
/**
|
||||
* setResponse()
|
||||
*
|
||||
* @param Zend_Tool_Framework_Client_Response $response
|
||||
* @return Zend_Tool_Framework_Registry
|
||||
*/
|
||||
public function setResponse(Zend_Tool_Framework_Client_Response $response);
|
||||
|
||||
/**
|
||||
* getResponse()
|
||||
*
|
||||
* @return Zend_Tool_Framework_Client_Response
|
||||
*/
|
||||
public function getResponse();
|
||||
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Create.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Action_Base
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Action/Base.php';
|
||||
|
||||
|
||||
/**
|
||||
* This is a convenience class.
|
||||
*
|
||||
* At current it will return the request and response from the client registry
|
||||
* as they are the more common things that will be needed by providers
|
||||
*
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_System_Action_Create extends Zend_Tool_Framework_Action_Base
|
||||
{
|
||||
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Delete.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Action_Base
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Action/Base.php';
|
||||
|
||||
|
||||
/**
|
||||
* This is a convenience class.
|
||||
*
|
||||
* At current it will return the request and response from the client registry
|
||||
* as they are the more common things that will be needed by providers
|
||||
*
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_System_Action_Delete extends Zend_Tool_Framework_Action_Base
|
||||
{
|
||||
|
||||
}
|
63
airtime_mvc/library/Zend/Tool/Framework/System/Manifest.php
Normal file
63
airtime_mvc/library/Zend/Tool/Framework/System/Manifest.php
Normal file
|
@ -0,0 +1,63 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Manifest.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
require_once 'Zend/Tool/Framework/Manifest/ProviderManifestable.php';
|
||||
require_once 'Zend/Tool/Framework/Manifest/ActionManifestable.php';
|
||||
require_once 'Zend/Tool/Framework/System/Provider/Version.php';
|
||||
require_once 'Zend/Tool/Framework/System/Provider/Config.php';
|
||||
require_once 'Zend/Tool/Framework/System/Provider/Phpinfo.php';
|
||||
require_once 'Zend/Tool/Framework/System/Provider/Manifest.php';
|
||||
require_once 'Zend/Tool/Framework/System/Action/Create.php';
|
||||
require_once 'Zend/Tool/Framework/System/Action/Delete.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_System_Manifest
|
||||
implements Zend_Tool_Framework_Manifest_ProviderManifestable, Zend_Tool_Framework_Manifest_ActionManifestable
|
||||
{
|
||||
|
||||
public function getProviders()
|
||||
{
|
||||
$providers = array(
|
||||
new Zend_Tool_Framework_System_Provider_Version(),
|
||||
new Zend_Tool_Framework_System_Provider_Config(),
|
||||
new Zend_Tool_Framework_System_Provider_Phpinfo(),
|
||||
new Zend_Tool_Framework_System_Provider_Manifest()
|
||||
);
|
||||
|
||||
return $providers;
|
||||
}
|
||||
|
||||
public function getActions()
|
||||
{
|
||||
$actions = array(
|
||||
new Zend_Tool_Framework_System_Action_Create(),
|
||||
new Zend_Tool_Framework_System_Action_Delete()
|
||||
);
|
||||
|
||||
return $actions;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,311 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Provider_Abstract
|
||||
*/
|
||||
require_once "Zend/Tool/Framework/Provider/Abstract.php";
|
||||
|
||||
/**
|
||||
* @see Zend_Config
|
||||
*/
|
||||
require_once "Zend/Config.php";
|
||||
|
||||
/**
|
||||
* @see Zend_Config_Writer_Ini
|
||||
*/
|
||||
require_once "Zend/Config/Writer/Ini.php";
|
||||
|
||||
/**
|
||||
* @see Zend_Loader
|
||||
*/
|
||||
require_once "Zend/Loader.php";
|
||||
|
||||
/**
|
||||
* Configuration Provider
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @package Framework
|
||||
* @uses Zend_Tool_Framework_Provider_Abstract
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Config.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
class Zend_Tool_Framework_System_Provider_Config extends Zend_Tool_Framework_Provider_Abstract
|
||||
{
|
||||
/**
|
||||
* @var array
|
||||
*/
|
||||
protected $_levelCompleted = array();
|
||||
|
||||
/**
|
||||
* array of specialties handled by this provider
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $_specialties = array('Manifest', 'Provider');
|
||||
|
||||
/**
|
||||
* @param string $type
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
/* @var $userConfig Zend_Tool_Framework_Client_Config */
|
||||
$userConfig = $this->_registry->getConfig();
|
||||
|
||||
$resp = $this->_registry->getResponse();
|
||||
if ($userConfig->exists()) {
|
||||
require_once "Zend/Tool/Framework/Exception.php";
|
||||
throw new Zend_Tool_Framework_Exception(
|
||||
"A configuration already exists, cannot create a new one.");
|
||||
}
|
||||
|
||||
$homeDirectory = $this->_detectHomeDirectory();
|
||||
|
||||
$writer = new Zend_Config_Writer_Ini();
|
||||
$writer->setRenderWithoutSections();
|
||||
$filename = $homeDirectory."/.zf.ini";
|
||||
|
||||
$config = array(
|
||||
'php' => array(
|
||||
'includepath' => get_include_path(),
|
||||
),
|
||||
);
|
||||
$writer->write($filename, new Zend_Config($config));
|
||||
|
||||
$resp = $this->_registry->getResponse();
|
||||
$resp->appendContent("Successfully written Zend Tool config.");
|
||||
$resp->appendContent("It is located at: ".$filename);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
protected function _detectHomeDirectory()
|
||||
{
|
||||
$envVars = array("ZF_HOME", "HOME", "HOMEPATH");
|
||||
foreach($envVars AS $env) {
|
||||
$homeDirectory = getenv($env);
|
||||
if ($homeDirectory != false && file_exists($homeDirectory)) {
|
||||
return $homeDirectory;
|
||||
}
|
||||
}
|
||||
require_once "Zend/Tool/Framework/Exception.php";
|
||||
throw new Zend_Tool_Framework_Exception("Cannot detect user home directory, set ZF_HOME enviroment variable.");
|
||||
}
|
||||
|
||||
/**
|
||||
* Show Zend Tool User Configuration
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function show()
|
||||
{
|
||||
$userConfig = $this->_loadUserConfigIfExists();
|
||||
$configArray = $userConfig->getConfigInstance()->toArray();
|
||||
|
||||
$resp = $this->_registry->getResponse();
|
||||
|
||||
$i = 0;
|
||||
$tree = "";
|
||||
foreach($configArray AS $k => $v) {
|
||||
$i++;
|
||||
$tree .= $this->_printTree($k, $v, 1, count($configArray)==$i);
|
||||
}
|
||||
$resp->appendContent("User Configuration: ".$userConfig->getConfigFilepath(), array("color" => "green"));
|
||||
$resp->appendContent($tree, array("indention" => 2));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param string $key
|
||||
* @param string $value
|
||||
* @param int $level
|
||||
* @return string
|
||||
*/
|
||||
protected function _printTree($key, $value, $level=1, $isLast=false)
|
||||
{
|
||||
$this->_levelCompleted[$level] = false;
|
||||
|
||||
$prefix = "";
|
||||
for ($i = 1; $i < $level; $i++) {
|
||||
if ($this->_levelCompleted[$i] == true) {
|
||||
$prefix .= " ";
|
||||
} else {
|
||||
$prefix .= "| ";
|
||||
}
|
||||
}
|
||||
if ($isLast) {
|
||||
$pointer = "`-- ";
|
||||
} else {
|
||||
$pointer = "|-- ";
|
||||
}
|
||||
|
||||
$tree = "";
|
||||
if (is_array($value)) {
|
||||
$tree .= $prefix.$pointer.$key.PHP_EOL;
|
||||
|
||||
if ($isLast == true) {
|
||||
$this->_levelCompleted[$level] = true;
|
||||
}
|
||||
|
||||
$i = 0;
|
||||
foreach ($value as $k => $v) {
|
||||
$i++;
|
||||
$tree .= $this->_printTree($k, $v, $level+1, (count($value)==$i));
|
||||
}
|
||||
} else {
|
||||
$tree .= $prefix.$pointer.$key.": ".trim($value).PHP_EOL;
|
||||
}
|
||||
|
||||
return $tree;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $className
|
||||
*/
|
||||
public function enableProvider($className)
|
||||
{
|
||||
Zend_Loader::loadClass($className);
|
||||
$reflClass = new ReflectionClass($className);
|
||||
if (!in_array("Zend_Tool_Framework_Provider_Interface", $reflClass->getInterfaceNames())) {
|
||||
require_once "Zend/Tool/Framework/Exception.php";
|
||||
throw new Zend_Tool_Framework_Exception("Given class is not a provider");
|
||||
}
|
||||
$this->_doEnable($className);
|
||||
}
|
||||
|
||||
protected function _doEnable($className)
|
||||
{
|
||||
|
||||
$userConfig = $this->_loadUserConfigIfExists();
|
||||
|
||||
if (!isset($userConfig->basicloader)) {
|
||||
$userConfig->basicloader = array();
|
||||
}
|
||||
if (!isset($userConfig->basicloader->classes)) {
|
||||
$userConfig->basicloader->classes = array();
|
||||
}
|
||||
|
||||
$providerClasses = $userConfig->basicloader->classes->toArray();
|
||||
if (!in_array($className, $providerClasses)) {
|
||||
if (count($providerClasses)) {
|
||||
$pos = max(array_keys($providerClasses))+1;
|
||||
} else {
|
||||
$pos = 0;
|
||||
}
|
||||
$userConfig->basicloader->classes->$pos = $className;
|
||||
|
||||
if ($userConfig->save()) {
|
||||
$this->_registry->getResponse()->appendContent(
|
||||
"Provider/Manifest '".$className."' was enabled for usage with Zend Tool.",
|
||||
array("color" => "green", "aligncenter" => true)
|
||||
);
|
||||
} else {
|
||||
require_once "Zend/Tool/Framework/Exception.php";
|
||||
throw new Zend_Tool_Framework_Exception(
|
||||
"Could not write user configuration to persistence."
|
||||
);
|
||||
}
|
||||
} else {
|
||||
require_once "Zend/Tool/Framework/Exception.php";
|
||||
throw new Zend_Tool_Framework_Exception(
|
||||
"Provider/Manifest '".$className."' is already enabled."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $className
|
||||
*/
|
||||
public function enableManifest($className)
|
||||
{
|
||||
Zend_Loader::loadClass($className);
|
||||
$reflClass = new ReflectionClass($className);
|
||||
if (!in_array("Zend_Tool_Framework_Manifest_Interface", $reflClass->getInterfaceNames())) {
|
||||
require_once "Zend/Tool/Framework/Exception.php";
|
||||
throw new Zend_Tool_Framework_Exception("Given class is not a manifest.");
|
||||
}
|
||||
$this->_doEnable($className);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $className
|
||||
*/
|
||||
public function disableManifest($className)
|
||||
{
|
||||
$this->disableProvider($className);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $className
|
||||
*/
|
||||
public function disableProvider($className)
|
||||
{
|
||||
$userConfig = $this->_loadUserConfigIfExists();
|
||||
|
||||
if (!isset($userConfig->basicloader)) {
|
||||
$userConfig->basicloader = array();
|
||||
}
|
||||
if (!isset($userConfig->basicloader->classes)) {
|
||||
$userConfig->basicloader->classes = array();
|
||||
}
|
||||
|
||||
$providerClasses = $userConfig->basicloader->classes->toArray();
|
||||
if (($key = array_search($className, $providerClasses)) !== false) {
|
||||
unset($userConfig->basicloader->classes->$key);
|
||||
|
||||
if ($userConfig->save()) {
|
||||
$this->_registry->getResponse()->appendContent(
|
||||
"Provider/Manifest '".$className."' was disabled.",
|
||||
array("color" => "green", "aligncenter" => true)
|
||||
);
|
||||
} else {
|
||||
require_once "Zend/Tool/Framework/Exception.php";
|
||||
throw new Zend_Tool_Framework_Exception(
|
||||
"Could not write user configuration to persistence."
|
||||
);
|
||||
}
|
||||
} else {
|
||||
require_once "Zend/Tool/Framework/Exception.php";
|
||||
throw new Zend_Tool_Framework_Exception(
|
||||
"Provider/Manifest '".$className."' is not enabled."
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Zend_Tool_Framework_Client_Config
|
||||
*/
|
||||
protected function _loadUserConfigIfExists()
|
||||
{
|
||||
/* @var $userConfig Zend_Tool_Framework_Client_Config */
|
||||
$userConfig = $this->_registry->getConfig();
|
||||
|
||||
$resp = $this->_registry->getResponse();
|
||||
if (!$userConfig->exists()) {
|
||||
$resp->appendContent("User has no config file.", array("aligncenter" => true, "color" => array('hiWhite', 'bgRed')));
|
||||
}
|
||||
|
||||
return $userConfig;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,114 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @subpackage Framework
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Manifest.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Registry_EnabledInterface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Registry/EnabledInterface.php';
|
||||
|
||||
/**
|
||||
* @see Zend_Tool_Framework_Provider_Interface
|
||||
*/
|
||||
require_once 'Zend/Tool/Framework/Provider/Interface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_System_Provider_Manifest
|
||||
implements Zend_Tool_Framework_Provider_Interface, Zend_Tool_Framework_Registry_EnabledInterface
|
||||
{
|
||||
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
}
|
||||
|
||||
public function getName()
|
||||
{
|
||||
return 'Manifest';
|
||||
}
|
||||
|
||||
public function show()
|
||||
{
|
||||
|
||||
$manifestRepository = $this->_registry->getManifestRepository();
|
||||
$response = $this->_registry->getResponse();
|
||||
|
||||
$metadataTree = array();
|
||||
|
||||
$longestAttrNameLen = 50;
|
||||
|
||||
foreach ($manifestRepository as $metadata) {
|
||||
|
||||
$metadataType = $metadata->getType();
|
||||
$metadataName = $metadata->getName();
|
||||
$metadataAttrs = $metadata->getAttributes('attributesParent');
|
||||
|
||||
if (!$metadataAttrs) {
|
||||
$metadataAttrs = '(None)';
|
||||
} else {
|
||||
$metadataAttrs = urldecode(http_build_query($metadataAttrs, null, ', '));
|
||||
}
|
||||
|
||||
if (!array_key_exists($metadataType, $metadataTree)) {
|
||||
$metadataTree[$metadataType] = array();
|
||||
}
|
||||
|
||||
if (!array_key_exists($metadataName, $metadataTree[$metadataType])) {
|
||||
$metadataTree[$metadataType][$metadataName] = array();
|
||||
}
|
||||
|
||||
if (!array_key_exists($metadataAttrs, $metadataTree[$metadataType][$metadataName])) {
|
||||
$metadataTree[$metadataType][$metadataName][$metadataAttrs] = array();
|
||||
}
|
||||
|
||||
$longestAttrNameLen = (strlen($metadataAttrs) > $longestAttrNameLen) ? strlen($metadataAttrs) : $longestAttrNameLen;
|
||||
|
||||
$metadataValue = $metadata->getValue();
|
||||
if (is_array($metadataValue) && count($metadataValue) > 0) {
|
||||
$metadataValue = urldecode(http_build_query($metadataValue, null, ', '));
|
||||
} elseif (is_array($metadataValue)) {
|
||||
$metadataValue = '(empty array)';
|
||||
}
|
||||
|
||||
$metadataTree[$metadataType][$metadataName][$metadataAttrs][] = $metadataValue;
|
||||
}
|
||||
|
||||
foreach ($metadataTree as $metadataType => $metadatasByName) {
|
||||
$response->appendContent($metadataType);
|
||||
foreach ($metadatasByName as $metadataName => $metadatasByAttributes) {
|
||||
$response->appendContent(" " . $metadataName);
|
||||
foreach ($metadatasByAttributes as $metadataAttributeName => $metadataValues) {
|
||||
foreach ($metadataValues as $metadataValue) {
|
||||
$string = sprintf(" %-{$longestAttrNameLen}.{$longestAttrNameLen}s : ", $metadataAttributeName)
|
||||
. $metadataValue;
|
||||
$response->appendContent($string);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Phpinfo.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
require_once 'Zend/Tool/Framework/Provider/Interface.php';
|
||||
|
||||
/**
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_System_Provider_Phpinfo implements Zend_Tool_Framework_Provider_Interface
|
||||
{
|
||||
|
||||
public function showAction()
|
||||
{
|
||||
phpinfo();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,111 @@
|
|||
<?php
|
||||
/**
|
||||
* Zend Framework
|
||||
*
|
||||
* LICENSE
|
||||
*
|
||||
* This source file is subject to the new BSD license that is bundled
|
||||
* with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://framework.zend.com/license/new-bsd
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@zend.com so we can send you a copy immediately.
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
* @version $Id: Version.php 20096 2010-01-06 02:05:09Z bkarwin $
|
||||
*/
|
||||
|
||||
require_once 'Zend/Tool/Framework/Registry.php';
|
||||
require_once 'Zend/Tool/Framework/Provider/Interface.php';
|
||||
require_once 'Zend/Version.php';
|
||||
|
||||
/**
|
||||
* Version Provider
|
||||
*
|
||||
* @category Zend
|
||||
* @package Zend_Tool
|
||||
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
|
||||
* @license http://framework.zend.com/license/new-bsd New BSD License
|
||||
*/
|
||||
class Zend_Tool_Framework_System_Provider_Version
|
||||
implements Zend_Tool_Framework_Provider_Interface, Zend_Tool_Framework_Registry_EnabledInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Zend_Tool_Framework_Registry_Interface
|
||||
*/
|
||||
protected $_registry = null;
|
||||
|
||||
const MODE_MAJOR = 'major';
|
||||
const MODE_MINOR = 'minor';
|
||||
const MODE_MINI = 'mini';
|
||||
|
||||
protected $_specialties = array('MajorPart', 'MinorPart', 'MiniPart');
|
||||
|
||||
public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
|
||||
{
|
||||
$this->_registry = $registry;
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Show Action
|
||||
*
|
||||
* @param string $mode The mode switch can be one of: major, minor, or mini (default)
|
||||
* @param bool $nameincluded
|
||||
*/
|
||||
public function show($mode = self::MODE_MINI, $nameIncluded = true)
|
||||
{
|
||||
|
||||
$versionInfo = $this->_splitVersion();
|
||||
|
||||
switch($mode) {
|
||||
case self::MODE_MINOR:
|
||||
unset($versionInfo['mini']);
|
||||
break;
|
||||
case self::MODE_MAJOR:
|
||||
unset($versionInfo['mini'], $versionInfo['minor']);
|
||||
break;
|
||||
}
|
||||
|
||||
$output = implode('.', $versionInfo);
|
||||
|
||||
if ($nameIncluded) {
|
||||
$output = 'Zend Framework Version: ' . $output;
|
||||
}
|
||||
|
||||
$this->_registry->response->appendContent($output);
|
||||
}
|
||||
|
||||
public function showMajorPart($nameIncluded = true)
|
||||
{
|
||||
$versionNumbers = $this->_splitVersion();
|
||||
$output = (($nameIncluded == true) ? 'ZF Major Version: ' : null) . $versionNumbers['major'];
|
||||
$this->_registry->response->appendContent($output);
|
||||
}
|
||||
|
||||
public function showMinorPart($nameIncluded = true)
|
||||
{
|
||||
$versionNumbers = $this->_splitVersion();
|
||||
$output = (($nameIncluded == true) ? 'ZF Minor Version: ' : null) . $versionNumbers['minor'];
|
||||
$this->_registry->response->appendContent($output);
|
||||
}
|
||||
|
||||
public function showMiniPart($nameIncluded = true)
|
||||
{
|
||||
$versionNumbers = $this->_splitVersion();
|
||||
$output = (($nameIncluded == true) ? 'ZF Mini Version: ' : null) . $versionNumbers['mini'];
|
||||
$this->_registry->response->appendContent($output);
|
||||
}
|
||||
|
||||
protected function _splitVersion()
|
||||
{
|
||||
list($major, $minor, $mini) = explode('.', Zend_Version::VERSION);
|
||||
return array('major' => $major, 'minor' => $minor, 'mini' => $mini);
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue