Viewing file: Manifest.php (3.98 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?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-2009 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License * @version $Id: Manifest.php 18951 2009-11-12 16:26:19Z alexander $ */
/** * @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-2009 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); } } } }
} }
|