/Group-I/jobeet/lib/vendor/symfony/lib/plugins/sfPropelPlugin/test/functional/fixtures/config/ProjectConfiguration.class.php
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
- <?php
- require_once dirname(__FILE__).'/../../../../../../autoload/sfCoreAutoload.class.php';
- sfCoreAutoload::register();
- class ProjectConfiguration extends sfProjectConfiguration
- {
- public function setup()
- {
- $this->enableAllPluginsExcept(array('sfDoctrinePlugin'));
- }
- public function initializePropel($app)
- {
- // build Propel om/map/sql/forms
- $files = glob(sfConfig::get('sf_lib_dir').'/model/om/*.php');
- if (false === $files || !count($files))
- {
- chdir(sfConfig::get('sf_root_dir'));
- $task = new sfPropelBuildModelTask($this->dispatcher, new sfFormatter());
- ob_start();
- $task->run();
- $output = ob_get_clean();
- }
- $files = glob(sfConfig::get('sf_data_dir').'/sql/*.php');
- if (false === $files || !count($files))
- {
- chdir(sfConfig::get('sf_root_dir'));
- $task = new sfPropelBuildSqlTask($this->dispatcher, new sfFormatter());
- ob_start();
- $task->run();
- $output = ob_get_clean();
- }
- $files = glob(sfConfig::get('sf_lib_dir').'/form/base/*.php');
- if (false === $files || !count($files))
- {
- chdir(sfConfig::get('sf_root_dir'));
- $task = new sfPropelBuildFormsTask($this->dispatcher, new sfFormatter());
- $task->run(array(), array('application='.$app));
- }
- }
- public function loadFixtures($fixtures)
- {
- // initialize database manager
- $databaseManager = new sfDatabaseManager($this);
- // cleanup database
- $db = sfConfig::get('sf_data_dir').DIRECTORY_SEPARATOR.'/database.sqlite';
- if (file_exists($db))
- {
- unlink($db);
- }
- // initialize database
- $sql = file_get_contents(sfConfig::get('sf_data_dir').DIRECTORY_SEPARATOR.'sql'.DIRECTORY_SEPARATOR.'lib.model.schema.sql');
- $sql = preg_replace('/^\s*\-\-.+$/m', '', $sql);
- $sql = preg_replace('/^\s*DROP TABLE .+?$/m', '', $sql);
- $con = Propel::getConnection();
- $tables = preg_split('/CREATE TABLE/', $sql);
- foreach ($tables as $table)
- {
- $table = trim($table);
- if (!$table)
- {
- continue;
- }
- $con->query('CREATE TABLE '.$table);
- }
- // load fixtures
- $data = new sfPropelData();
- if (is_array($fixtures))
- {
- $data->loadDataFromArray($fixtures);
- }
- else
- {
- $data->loadData(sfConfig::get('sf_data_dir').'/'.$fixtures);
- }
- }
- }