1. sfDeprecatedClassesValidation.class.php
  2. /** * Finds deprecated classes usage. * * @package symfony * @subpackage task * @author Fabien Potencier * @version SVN: $Id: sfDeprecatedClassesValidation.class.php 25411 2009-12-15 15:31:29Z fabien $ */
  3. class sfDeprecatedClassesValidation extends sfValidation
  4. {
  5. public function getHeader()
  6. {
  7. return 'Checking usage of deprecated classes';
  8. }
  9. public function getExplanation()
  10. {
  11. return array(
  12. '',
  13. ' The files above use deprecated classes',
  14. ' that have been removed in symfony 1.4.',
  15. '',
  16. ' You can find a list of all deprecated classes under the',
  17. ' "Classes" section of the DEPRECATED tutorial:',
  18. '',
  19. ' http://www.symfony-project.org/tutorial/1_4/en/deprecated',
  20. '',
  21. );
  22. }
  23. public function validate()
  24. {
  25. $classes = array(
  26. 'sfDoctrineLogger', 'sfNoRouting', 'sfPathInfoRouting', 'sfRichTextEditor',
  27. 'sfRichTextEditorFCK', 'sfRichTextEditorTinyMCE', 'sfCrudGenerator', 'sfAdminGenerator',
  28. 'sfPropelCrudGenerator', 'sfPropelAdminGenerator', 'sfPropelUniqueValidator', 'sfDoctrineUniqueValidator',
  29. 'sfLoader', 'sfConsoleRequest', 'sfConsoleResponse', 'sfConsoleController',
  30. 'sfDoctrineDataRetriever', 'sfPropelDataRetriever',
  31. 'sfWidgetFormI18nSelectLanguage', 'sfWidgetFormI18nSelectCurrency', 'sfWidgetFormI18nSelectCountry',
  32. 'sfWidgetFormChoiceMany', 'sfWidgetFormPropelChoiceMany', 'sfWidgetFormDoctrineChoiceMany',
  33. 'sfValidatorChoiceMany', 'sfValidatorPropelChoiceMany', 'sfValidatorPropelDoctrineMany',
  34. 'SfExtensionObjectBuilder', 'SfExtensionPeerBuilder', 'SfMultiExtendObjectBuilder',
  35. 'SfNestedSetBuilder', 'SfNestedSetPeerBuilder', 'SfObjectBuilder', 'SfPeerBuilder',
  36. 'sfWidgetFormPropelSelect', 'sfWidgetFormPropelSelectMany',
  37. 'sfWidgetFormDoctrineSelect', 'sfWidgetFormDoctrineSelectMany',
  38. // classes from sfCompat10Plugin
  39. 'sfEzComponentsBridge', 'sfZendFrameworkBridge', 'sfProcessCache', 'sfValidatorConfigHandler',
  40. 'sfActionException', 'sfValidatorException', 'sfFillInFormFilter', 'sfValidationExecutionFilter',
  41. 'sfRequestCompat10', 'sfFillInForm', 'sfCallbackValidator', 'sfCompareValidator', 'sfDateValidator',
  42. 'sfEmailValidator', 'sfFileValidator', 'sfNumberValidator', 'sfRegexValidator', 'sfStringValidator',
  43. 'sfUrlValidator', 'sfValidator', 'sfValidatorManager', 'sfMailView', 'sfMail',
  44. );
  45. $found = array();
  46. $files = sfFinder::type('file')->name('*.php')->prune('vendor')->in(array(
  47. sfConfig::get('sf_apps_dir'),
  48. sfConfig::get('sf_lib_dir'),
  49. sfConfig::get('sf_test_dir'),
  50. sfConfig::get('sf_plugins_dir'),
  51. ));
  52. foreach ($files as $file)
  53. {
  54. $content = sfToolkit::stripComments(file_get_contents($file));
  55. $matches = array();
  56. foreach ($classes as $class)
  57. {
  58. if (preg_match('#\b'.preg_quote($class, '#').'\b#', $content))
  59. {
  60. $matches[] = $class;
  61. }
  62. }
  63. if ($matches)
  64. {
  65. $found[$file] = implode(', ', $matches);
  66. }
  67. }
  68. return $found;
  69. }
  70. }

Debug toolbar