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
-~----------~----~----~----~------~----~------~--~---

Reply via email to