Author: jablko
Date: 2008-11-21 10:41:55 -0800 (Fri, 21 Nov 2008)
New Revision: 1613
Added:
trunk/qubit/plugins/sfInstallPlugin/config/
trunk/qubit/plugins/sfInstallPlugin/config/sfInstallPluginConfiguration.class.php
trunk/qubit/plugins/sfTranslatePlugin/config/
trunk/qubit/plugins/sfTranslatePlugin/config/sfTranslatePluginConfiguration.class.php
Modified:
trunk/qubit/apps/qubit/config/settings.yml.tmpl
trunk/qubit/config/
trunk/qubit/config/ProjectConfiguration.class.php
trunk/qubit/index.php
trunk/qubit/lib/QubitTransactionFilter.class.php
trunk/qubit/lib/vendor/symfony/lib/database/sfDatabaseManager.class.php
trunk/qubit/plugins/sfInstallPlugin/lib/sfInstall.class.php
trunk/qubit/plugins/sfInstallPlugin/modules/sfInstallPlugin/actions/configureAction.class.php
Log:
First crack at updating sfInstallPlugin to symfony 1.2.
Enable sfInstallPlugin and sfTranslatePlugin modules in plugin configuration
instead of settings.yml, to avoid fooling with enabled_modules configuration in
the install frontend.
Generate and parse new DSN format.
Attempt to make databases.yml optional, to avoid fooling with use_database
configuration in the install frontend.
Modified: trunk/qubit/apps/qubit/config/settings.yml.tmpl
===================================================================
--- trunk/qubit/apps/qubit/config/settings.yml.tmpl 2008-11-21 01:12:27 UTC
(rev 1612)
+++ trunk/qubit/apps/qubit/config/settings.yml.tmpl 2008-11-21 18:41:55 UTC
(rev 1613)
@@ -77,7 +77,7 @@
standard_helpers: [Partial, Cache, Form, I18N, Object, Qubit]
#
# # Activated modules from plugins or from the symfony core
- enabled_modules: [default, sfInstallPlugin, sfTranslatePlugin]
+# enabled_modules: [default]
#
# # Charset used for the response
# charset: utf-8
Property changes on: trunk/qubit/config
___________________________________________________________________
Modified: svn:ignore
- databases.yml
propel.ini
generated-schema-transformed.xml
+ databases.yml
propel.ini
Modified: trunk/qubit/config/ProjectConfiguration.class.php
===================================================================
--- trunk/qubit/config/ProjectConfiguration.class.php 2008-11-21 01:12:27 UTC
(rev 1612)
+++ trunk/qubit/config/ProjectConfiguration.class.php 2008-11-21 18:41:55 UTC
(rev 1613)
@@ -7,6 +7,6 @@
{
public function setup()
{
- $this->enablePlugins(array('sfCompat10Plugin', 'sfHistoryPlugin',
'sfLucenePlugin', 'sfSearchPlugin', 'sfTranslatePlugin'));
+ $this->enablePlugins(array('sfCompat10Plugin', 'sfHistoryPlugin',
'sfInstallPlugin', 'sfLucenePlugin', 'sfSearchPlugin', 'sfTranslatePlugin'));
}
-}
\ No newline at end of file
+}
Modified: trunk/qubit/index.php
===================================================================
--- trunk/qubit/index.php 2008-11-21 01:12:27 UTC (rev 1612)
+++ trunk/qubit/index.php 2008-11-21 18:41:55 UTC (rev 1613)
@@ -1,5 +1,11 @@
<?php
+// Only the web directory is meant to be web accessible. The production
+// frontend is in the web directory, which is distributed as a sibling of this
+// file. If this file is web accessible, then the URL of the web directory is
+// probably a sibling of the URL of this file. Try to redirect the web browser
+// to the production frontend.
+
$path = preg_replace('/\/[^\/]+\.php5?$/', null,
isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] :
(isset($_SERVER['ORIG_SCRIPT_NAME']) ? $_SERVER['ORIG_SCRIPT_NAME'] : null));
$webUrl = $path.'/web/index.php';
Modified: trunk/qubit/lib/QubitTransactionFilter.class.php
===================================================================
--- trunk/qubit/lib/QubitTransactionFilter.class.php 2008-11-21 01:12:27 UTC
(rev 1612)
+++ trunk/qubit/lib/QubitTransactionFilter.class.php 2008-11-21 18:41:55 UTC
(rev 1613)
@@ -21,7 +21,8 @@
class QubitTransactionFilter extends sfFilter
{
- protected static $connection = null;
+ protected static
+ $connection = null;
public static function getConnection()
{
Modified:
trunk/qubit/lib/vendor/symfony/lib/database/sfDatabaseManager.class.php
===================================================================
--- trunk/qubit/lib/vendor/symfony/lib/database/sfDatabaseManager.class.php
2008-11-21 01:12:27 UTC (rev 1612)
+++ trunk/qubit/lib/vendor/symfony/lib/database/sfDatabaseManager.class.php
2008-11-21 18:41:55 UTC (rev 1613)
@@ -64,12 +64,12 @@
{
if ($this->configuration instanceof sfApplicationConfiguration)
{
- $databases =
include($this->configuration->getConfigCache()->checkConfig('config/databases.yml'));
+ $databases =
include($this->configuration->getConfigCache()->checkConfig('config/databases.yml',
true));
}
else
{
$configHandler = new sfDatabaseConfigHandler();
- $databases =
$configHandler->evaluate(array($this->configuration->getRootDir().'/config/databases.yml'));
+ $databases =
$configHandler->evaluate(array($this->configuration->getRootDir().'/config/databases.yml',
true));
}
foreach ($databases as $name => $database)
Added:
trunk/qubit/plugins/sfInstallPlugin/config/sfInstallPluginConfiguration.class.php
===================================================================
---
trunk/qubit/plugins/sfInstallPlugin/config/sfInstallPluginConfiguration.class.php
(rev 0)
+++
trunk/qubit/plugins/sfInstallPlugin/config/sfInstallPluginConfiguration.class.php
2008-11-21 18:41:55 UTC (rev 1613)
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * sfInstallPlugin configuration.
+ *
+ * @package sfInstallPlugin
+ * @subpackage config
+ * @author Your name here
+ * @version SVN: $Id$
+ */
+class sfInstallPluginConfiguration extends sfPluginConfiguration
+{
+ /**
+ * @see sfPluginConfiguration
+ */
+ public function initialize()
+ {
+ $enabledModules = sfConfig::get('sf_enabled_modules');
+ $enabledModules[] = 'sfInstallPlugin';
+ sfConfig::set('sf_enabled_modules', $enabledModules);
+ }
+}
Property changes on:
trunk/qubit/plugins/sfInstallPlugin/config/sfInstallPluginConfiguration.class.php
___________________________________________________________________
Added: svn:keywords
+ Author Id Revision
Added: svn:eol-style
+ native
Modified: trunk/qubit/plugins/sfInstallPlugin/lib/sfInstall.class.php
===================================================================
--- trunk/qubit/plugins/sfInstallPlugin/lib/sfInstall.class.php 2008-11-21
01:12:27 UTC (rev 1612)
+++ trunk/qubit/plugins/sfInstallPlugin/lib/sfInstall.class.php 2008-11-21
18:41:55 UTC (rev 1613)
@@ -460,27 +460,25 @@
{
$database = array();
- $dsn = 'mysql://';
+ $arguments = array();
+ $arguments[] = 'mysql:host=localhost;dbname='.$databaseName;
if (strlen($databaseUsername) > 0)
{
- $usernameAndPassword = $databaseUsername;
+ $arguments[] = $databaseUsername;
+
if (strlen($databasePassword) > 0)
{
- $usernameAndPassword .= ':'.$databasePassword;
+ $arguments[] = $databasePassword;
}
-
- $dsn .= $usernameAndPassword.'@';
}
- $dsn .= 'localhost/'.$databaseName;
-
$dispatcher = sfContext::getInstance()->getEventDispatcher();
$formatter = new sfAnsiColorFormatter;
chdir(sfConfig::get('sf_root_dir'));
$configureDatabase = new sfConfigureDatabaseTask($dispatcher, $formatter);
- $configureDatabase->run(array($dsn));
+ $configureDatabase->run($arguments);
// FIXME: By instantiating a new application configuration the cache clear
// task may change these settings, leading to bugs in code which expects
@@ -515,13 +513,18 @@
public static function insertSql()
{
+ $arguments = array();
+
+ $options = array();
+ $options[] = 'no-confirmation';
+
$dispatcher = sfContext::getInstance()->getEventDispatcher();
$formatter = new sfAnsiColorFormatter;
chdir(sfConfig::get('sf_root_dir'));
$insertSql = new sfPropelInsertSqlTask($dispatcher, $formatter);
- $insertSql->run();
+ $insertSql->run($arguments, $options);
}
public static function loadData()
@@ -532,6 +535,6 @@
chdir(sfConfig::get('sf_root_dir'));
$loadData = new sfPropelLoadDataTask($dispatcher, $formatter);
- $loadData->run(array('qubit'));
+ $loadData->run();
}
}
Modified:
trunk/qubit/plugins/sfInstallPlugin/modules/sfInstallPlugin/actions/configureAction.class.php
===================================================================
---
trunk/qubit/plugins/sfInstallPlugin/modules/sfInstallPlugin/actions/configureAction.class.php
2008-11-21 01:12:27 UTC (rev 1612)
+++
trunk/qubit/plugins/sfInstallPlugin/modules/sfInstallPlugin/actions/configureAction.class.php
2008-11-21 18:41:55 UTC (rev 1613)
@@ -24,10 +24,22 @@
}
else
{
- $configuration = sfPropelDatabase::getConfiguration();
- $this->form->setDefault('database_name',
$configuration['propel']['datasources']['propel']['connection']['database']);
- $this->form->setDefault('database_username',
$configuration['propel']['datasources']['propel']['connection']['username']);
- $this->form->setDefault('database_password',
$configuration['propel']['datasources']['propel']['connection']['password']);
+ // TODO: Can we avoid hardcoding the database name?
+ $database = $this->context->getDatabaseManager()->getDatabase('propel');
+
+ // TODO: This should be handled by sfPdoDatabase::parseDsn()
+ $pattern = '/([^=]*)=([^;]*);?/';
+ $subject = preg_replace('/[^:]*:/', null,
$database->getParameter('dsn'));
+ if (false === preg_match_all($pattern, $subject, $matches))
+ {
+ // TODO: Error handling
+ }
+
+ $parameters = array_combine($matches[1], $matches[2]);
+
+ $this->form->setDefault('database_name', $parameters['dbname']);
+ $this->form->setDefault('database_username',
$database->getParameter('username'));
+ $this->form->setDefault('database_password',
$database->getParameter('password'));
}
}
}
Added:
trunk/qubit/plugins/sfTranslatePlugin/config/sfTranslatePluginConfiguration.class.php
===================================================================
---
trunk/qubit/plugins/sfTranslatePlugin/config/sfTranslatePluginConfiguration.class.php
(rev 0)
+++
trunk/qubit/plugins/sfTranslatePlugin/config/sfTranslatePluginConfiguration.class.php
2008-11-21 18:41:55 UTC (rev 1613)
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * sfTranslatePlugin configuration.
+ *
+ * @package sfTranslatePlugin
+ * @subpackage config
+ * @author Your name here
+ * @version SVN: $Id$
+ */
+class sfTranslatePluginConfiguration extends sfPluginConfiguration
+{
+ /**
+ * @see sfPluginConfiguration
+ */
+ public function initialize()
+ {
+ $enabledModules = sfConfig::get('sf_enabled_modules');
+ $enabledModules[] = 'sfTranslatePlugin';
+ sfConfig::set('sf_enabled_modules', $enabledModules);
+ }
+}
Property changes on:
trunk/qubit/plugins/sfTranslatePlugin/config/sfTranslatePluginConfiguration.class.php
___________________________________________________________________
Added: svn:keywords
+ Author Id Revision
Added: svn:eol-style
+ native
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.ca/group/qubit-commits?hl=en
-~----------~----~----~----~------~----~------~--~---