2
0

Version.php 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. require_once 'Zend/Tool/Framework/Registry.php';
  3. require_once 'Zend/Tool/Framework/Provider/Interface.php';
  4. require_once 'Zend/Version.php';
  5. /**
  6. * Version Provider
  7. *
  8. */
  9. class Zend_Tool_Framework_System_Provider_Version
  10. implements Zend_Tool_Framework_Provider_Interface, Zend_Tool_Framework_Registry_EnabledInterface
  11. {
  12. /**
  13. * @var Zend_Tool_Framework_Registry_Interface
  14. */
  15. protected $_registry = null;
  16. const MODE_MAJOR = 'major';
  17. const MODE_MINOR = 'minor';
  18. const MODE_MINI = 'mini';
  19. protected $_specialties = array('MajorPart', 'MinorPart', 'MiniPart');
  20. public function setRegistry(Zend_Tool_Framework_Registry_Interface $registry)
  21. {
  22. $this->_registry = $registry;
  23. return $this;
  24. }
  25. /**
  26. * Show Action
  27. *
  28. * @param string $mode The mode switch can be one of: major, minor, or mini (default)
  29. * @param bool $nameincluded
  30. */
  31. public function show($mode = self::MODE_MINI, $nameIncluded = true)
  32. {
  33. $versionInfo = $this->_splitVersion();
  34. switch($mode) {
  35. case self::MODE_MINOR:
  36. unset($versionInfo['mini']);
  37. break;
  38. case self::MODE_MAJOR:
  39. unset($versionInfo['mini'], $versionInfo['minor']);
  40. break;
  41. }
  42. $output = implode('.', $versionInfo);
  43. if ($nameIncluded) {
  44. $output = 'Zend Framework Version: ' . $output;
  45. }
  46. $this->_registry->response->appendContent($output);
  47. }
  48. public function showMajorPart($nameIncluded = true)
  49. {
  50. $versionNumbers = $this->_splitVersion();
  51. $output = (($nameIncluded == true) ? 'ZF Major Version: ' : null) . $versionNumbers['major'];
  52. $this->_registry->response->appendContent($output);
  53. }
  54. public function showMinorPart($nameIncluded = true)
  55. {
  56. $versionNumbers = $this->_splitVersion();
  57. $output = (($nameIncluded == true) ? 'ZF Minor Version: ' : null) . $versionNumbers['minor'];
  58. $this->_registry->response->appendContent($output);
  59. }
  60. public function showMiniPart($nameIncluded = true)
  61. {
  62. $versionNumbers = $this->_splitVersion();
  63. $output = (($nameIncluded == true) ? 'ZF Mini Version: ' : null) . $versionNumbers['mini'];
  64. $this->_registry->response->appendContent($output);
  65. }
  66. protected function _splitVersion()
  67. {
  68. list($major, $minor, $mini) = explode('.', Zend_Version::VERSION);
  69. return array('major' => $major, 'minor' => $minor, 'mini' => $mini);
  70. }
  71. }