PECL.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. /**
  3. * Channel Validator for the pecl.php.net channel
  4. *
  5. * PHP 4 and PHP 5
  6. *
  7. * @category pear
  8. * @package PEAR
  9. * @author Greg Beaver <cellog@php.net>
  10. * @copyright 1997-2006 The PHP Group
  11. * @license http://opensource.org/licenses/bsd-license.php New BSD License
  12. * @version CVS: $Id: PECL.php 313023 2011-07-06 19:17:11Z dufuz $
  13. * @link http://pear.php.net/package/PEAR
  14. * @since File available since Release 1.4.0a5
  15. */
  16. /**
  17. * This is the parent class for all validators
  18. */
  19. require_once 'PEAR/Validate.php';
  20. /**
  21. * Channel Validator for the pecl.php.net channel
  22. * @category pear
  23. * @package PEAR
  24. * @author Greg Beaver <cellog@php.net>
  25. * @copyright 1997-2009 The Authors
  26. * @license http://opensource.org/licenses/bsd-license.php New BSD License
  27. * @version Release: 1.9.4
  28. * @link http://pear.php.net/package/PEAR
  29. * @since Class available since Release 1.4.0a5
  30. */
  31. class PEAR_Validator_PECL extends PEAR_Validate
  32. {
  33. function validateVersion()
  34. {
  35. if ($this->_state == PEAR_VALIDATE_PACKAGING) {
  36. $version = $this->_packagexml->getVersion();
  37. $versioncomponents = explode('.', $version);
  38. $last = array_pop($versioncomponents);
  39. if (substr($last, 1, 2) == 'rc') {
  40. $this->_addFailure('version', 'Release Candidate versions must have ' .
  41. 'upper-case RC, not lower-case rc');
  42. return false;
  43. }
  44. }
  45. return true;
  46. }
  47. function validatePackageName()
  48. {
  49. $ret = parent::validatePackageName();
  50. if ($this->_packagexml->getPackageType() == 'extsrc' ||
  51. $this->_packagexml->getPackageType() == 'zendextsrc') {
  52. if (strtolower($this->_packagexml->getPackage()) !=
  53. strtolower($this->_packagexml->getProvidesExtension())) {
  54. $this->_addWarning('providesextension', 'package name "' .
  55. $this->_packagexml->getPackage() . '" is different from extension name "' .
  56. $this->_packagexml->getProvidesExtension() . '"');
  57. }
  58. }
  59. return $ret;
  60. }
  61. }
  62. ?>