diff -r 5b37998e522e -r 162c1de6545a web/lib/Zend/Tool/Framework/System/Provider/Manifest.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/lib/Zend/Tool/Framework/System/Provider/Manifest.php Fri Mar 11 15:05:35 2011 +0100 @@ -0,0 +1,114 @@ +_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); + } + } + } + } + + } +}