sfFlashUpgrade.class.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. /*
  3. * This file is part of the symfony package.
  4. * (c) 2004-2006 Fabien Potencier <fabien.potencier@symfony-project.com>
  5. *
  6. * For the full copyright and license information, please view the LICENSE
  7. * file that was distributed with this source code.
  8. */
  9. /**
  10. * Upgrade flash.
  11. *
  12. * @package symfony
  13. * @subpackage task
  14. * @author Fabien Potencier <fabien.potencier@symfony-project.com>
  15. * @version SVN: $Id: sfFlashUpgrade.class.php 7397 2008-02-08 06:48:35Z fabien $
  16. */
  17. class sfFlashUpgrade extends sfUpgrade
  18. {
  19. public function upgrade()
  20. {
  21. $this->upgradeActions();
  22. $this->upgradeTemplates();
  23. $this->upgradeFilters();
  24. }
  25. protected function upgradeActions()
  26. {
  27. $phpFinder = $this->getFinder('file')->prune('model')->name('*.php');
  28. foreach ($phpFinder->in($dirs = $this->getProjectClassDirectories()) as $file)
  29. {
  30. $content = file_get_contents($file);
  31. $content = str_replace(
  32. array('$this->setFlash', '$this->getFlash', '$this->hasFlash'),
  33. array('$this->getUser()->setFlash', '$this->getUser()->getFlash', '$this->getUser()->hasFlash'),
  34. $content, $count
  35. );
  36. if ($count)
  37. {
  38. $this->logSection('flash', sprintf('Migrating %s', $file));
  39. file_put_contents($file, $content);
  40. }
  41. }
  42. }
  43. protected function upgradeTemplates()
  44. {
  45. $phpFinder = $this->getFinder('file')->name('*.php');
  46. foreach ($phpFinder->in($this->getProjectTemplateDirectories()) as $file)
  47. {
  48. $content = file_get_contents($file);
  49. $content = str_replace(
  50. array('$sf_flash->set', '$sf_flash->get', '$sf_flash->has'),
  51. array('$sf_user->setFlash', '$sf_user->getFlash', '$sf_user->hasFlash'),
  52. $content, $count
  53. );
  54. if ($count)
  55. {
  56. $this->logSection('flash', sprintf('Migrating %s', $file));
  57. file_put_contents($file, $content);
  58. }
  59. }
  60. }
  61. protected function upgradeFilters()
  62. {
  63. $filtersFinder = $this->getFinder('file')->name('filters.yml');
  64. foreach ($filtersFinder->in($this->getProjectConfigDirectories()) as $file)
  65. {
  66. $content = file_get_contents($file);
  67. $content = preg_replace("#flash\:\s+~\s*\n#s", '', $content, -1, $count);
  68. if ($count)
  69. {
  70. $this->logSection('flash', sprintf('Migrating %s', $file));
  71. file_put_contents($file, $content);
  72. }
  73. }
  74. }
  75. }