PageRenderTime 60ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/Group-I/jobeet/lib/vendor/symfony/lib/plugins/sfPropelPlugin/test/functional/fixtures/config/ProjectConfiguration.class.php

https://bitbucket.org/hosseinzolfi/db-lab-spring-2011/
PHP | 85 lines | 70 code | 10 blank | 5 comment | 9 complexity | f08686a7155be4858ba5c710ac94a850 MD5 | raw file
Possible License(s): ISC, AGPL-3.0, LGPL-2.1, BSD-3-Clause, LGPL-3.0
  1. <?php
  2. require_once dirname(__FILE__).'/../../../../../../autoload/sfCoreAutoload.class.php';
  3. sfCoreAutoload::register();
  4. class ProjectConfiguration extends sfProjectConfiguration
  5. {
  6. public function setup()
  7. {
  8. $this->enableAllPluginsExcept(array('sfDoctrinePlugin'));
  9. }
  10. public function initializePropel($app)
  11. {
  12. // build Propel om/map/sql/forms
  13. $files = glob(sfConfig::get('sf_lib_dir').'/model/om/*.php');
  14. if (false === $files || !count($files))
  15. {
  16. chdir(sfConfig::get('sf_root_dir'));
  17. $task = new sfPropelBuildModelTask($this->dispatcher, new sfFormatter());
  18. ob_start();
  19. $task->run();
  20. $output = ob_get_clean();
  21. }
  22. $files = glob(sfConfig::get('sf_data_dir').'/sql/*.php');
  23. if (false === $files || !count($files))
  24. {
  25. chdir(sfConfig::get('sf_root_dir'));
  26. $task = new sfPropelBuildSqlTask($this->dispatcher, new sfFormatter());
  27. ob_start();
  28. $task->run();
  29. $output = ob_get_clean();
  30. }
  31. $files = glob(sfConfig::get('sf_lib_dir').'/form/base/*.php');
  32. if (false === $files || !count($files))
  33. {
  34. chdir(sfConfig::get('sf_root_dir'));
  35. $task = new sfPropelBuildFormsTask($this->dispatcher, new sfFormatter());
  36. $task->run(array(), array('application='.$app));
  37. }
  38. }
  39. public function loadFixtures($fixtures)
  40. {
  41. // initialize database manager
  42. $databaseManager = new sfDatabaseManager($this);
  43. // cleanup database
  44. $db = sfConfig::get('sf_data_dir').DIRECTORY_SEPARATOR.'/database.sqlite';
  45. if (file_exists($db))
  46. {
  47. unlink($db);
  48. }
  49. // initialize database
  50. $sql = file_get_contents(sfConfig::get('sf_data_dir').DIRECTORY_SEPARATOR.'sql'.DIRECTORY_SEPARATOR.'lib.model.schema.sql');
  51. $sql = preg_replace('/^\s*\-\-.+$/m', '', $sql);
  52. $sql = preg_replace('/^\s*DROP TABLE .+?$/m', '', $sql);
  53. $con = Propel::getConnection();
  54. $tables = preg_split('/CREATE TABLE/', $sql);
  55. foreach ($tables as $table)
  56. {
  57. $table = trim($table);
  58. if (!$table)
  59. {
  60. continue;
  61. }
  62. $con->query('CREATE TABLE '.$table);
  63. }
  64. // load fixtures
  65. $data = new sfPropelData();
  66. if (is_array($fixtures))
  67. {
  68. $data->loadDataFromArray($fixtures);
  69. }
  70. else
  71. {
  72. $data->loadData(sfConfig::get('sf_data_dir').'/'.$fixtures);
  73. }
  74. }
  75. }