Author: jablko
Date: Fri Oct 2 13:16:47 2009
New Revision: 3644
Log:
Move install security check from action to filter, so it's applicable to all
install actions -- force
Added:
trunk/plugins/sfInstallPlugin/lib/sfInstallSecurityFilter.class.php
(contents, props changed)
Modified:
trunk/plugins/sfInstallPlugin/modules/sfInstallPlugin/actions/checkSystemAction.class.php
Added: trunk/plugins/sfInstallPlugin/lib/sfInstallSecurityFilter.class.php
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/plugins/sfInstallPlugin/lib/sfInstallSecurityFilter.class.php Fri Oct
2 13:16:47 2009 (r3644)
@@ -0,0 +1,40 @@
+<?php
+
+/*
+ */
+
+class sfInstallSecurityFilter extends sfFilter
+{
+ public function execute($filterChain)
+ {
+ $credential =
$this->context->controller->getActionStack()->getLastEntry()->getActionInstance()->getCredential();
+
+ try
+ {
+ new sfDatabaseManager($this->context->configuration);
+ }
+ catch (sfConfigurationException $e)
+ {
+ $this->context->user->addCredential($credential);
+
+ return $filterChain->execute();
+ }
+
+ if ($this->context->user->hasCredential($credential))
+ {
+ return $filterChain->execute();
+ }
+
+ $criteria = new Criteria;
+ $criteria->add(QubitAclGroupI18n::NAME, $credential);
+ $criteria->addJoin(QubitAclGroupI18n::ID, QubitAclGroup::ID);
+ $criteria->addJoin(QubitAclGroup::ID, QubitAclUserGroup::GROUP_ID);
+ $criteria->addJoin(QubitAclUserGroup::USER_ID, QubitUser::ID);
+ if (1 > count(QubitUser::get($criteria)))
+ {
+ return $filterChain->execute();
+ }
+
+ $this->forward(sfConfig::get('sf_secure_module'),
sfConfig::get('sf_secure_action'));
+ }
+}
Modified:
trunk/plugins/sfInstallPlugin/modules/sfInstallPlugin/actions/checkSystemAction.class.php
==============================================================================
---
trunk/plugins/sfInstallPlugin/modules/sfInstallPlugin/actions/checkSystemAction.class.php
Fri Oct 2 13:04:15 2009 (r3643)
+++
trunk/plugins/sfInstallPlugin/modules/sfInstallPlugin/actions/checkSystemAction.class.php
Fri Oct 2 13:16:47 2009 (r3644)
@@ -7,32 +7,5 @@
{
public function execute($request)
{
- try
- {
- new sfDatabaseManager(sfProjectConfiguration::getActive());
- }
- catch (sfConfigurationException $e)
- {
- $this->context->user->addCredential($this->getCredential());
-
- return;
- }
-
- if ($this->context->user->hasCredential($this->getCredential()))
- {
- return;
- }
-
- $criteria = new Criteria;
- $criteria->add(QubitAclGroupI18n::NAME, $this->getCredential());
- $criteria->addJoin(QubitAclGroupI18n::ID, QubitAclGroup::ID);
- $criteria->addJoin(QubitAclGroup::ID, QubitAclUserGroup::GROUP_ID);
- $criteria->addJoin(QubitAclUserGroup::USER_ID, QubitUser::ID);
- if (1 > count(QubitUser::get($criteria)))
- {
- return;
- }
-
- $this->forward(sfConfig::get('sf_secure_module'),
sfConfig::get('sf_secure_action'));
}
}
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---