1. sfI18nYamlGeneratorExtractor.class.php
  2. /** * @package symfony * @subpackage i18n * @author Fabien Potencier * @version SVN: $Id: sfI18nYamlGeneratorExtractor.class.php 9128 2008-05-21 00:58:19Z Carl.Vondrick $ */
  3. class sfI18nYamlGeneratorExtractor extends sfI18nYamlExtractor
  4. {
  5. protected $strings = array();
  6. /**
  7. * Extract i18n strings for the given content.
  8. *
  9. * @param string $content The content
  10. *
  11. * @return array An array of i18n strings
  12. */
  13. public function extract($content)
  14. {
  15. $this->strings = array();
  16. $config = sfYaml::load($content);
  17. if (!isset($config['generator']['param']))
  18. {
  19. return array();
  20. }
  21. $params = $config['generator']['param'];
  22. // titles
  23. if (isset($params['list']['title']))
  24. {
  25. $this->strings[] = $params['list']['title'];
  26. }
  27. if (isset($params['edit']['title']))
  28. {
  29. $this->strings[] = $params['edit']['title'];
  30. }
  31. // names and help messages
  32. if (isset($params['fields']))
  33. {
  34. $this->getFromFields($params['fields']);
  35. }
  36. if (isset($params['list']['fields']))
  37. {
  38. $this->getFromFields($params['list']['fields']);
  39. }
  40. if (isset($params['edit']['fields']))
  41. {
  42. $this->getFromFields($params['edit']['fields']);
  43. }
  44. // edit categories
  45. if (isset($params['edit']['display']) && !isset($params['edit']['display'][0]))
  46. {
  47. foreach (array_keys($params['edit']['display']) as $string)
  48. {
  49. if ('NONE' == $string)
  50. {
  51. continue;
  52. }
  53. $this->strings[] = $string;
  54. }
  55. }
  56. return $this->strings;
  57. }
  58. protected function getFromFields($fields)
  59. {
  60. foreach ($fields as $field => $options)
  61. {
  62. if (isset($options['name']))
  63. {
  64. $this->strings[] = $options['name'];
  65. }
  66. if (isset($options['help']))
  67. {
  68. $this->strings[] = $options['help'];
  69. }
  70. }
  71. }
  72. }

Debug toolbar