Author: sevein
Date: Wed Feb 15 13:43:49 2012
New Revision: 10897
Log:
Move QubitTransactionFilter to lib/filter
Added:
trunk/lib/filter/QubitTransactionFilter.class.php
- copied unchanged from r10825, trunk/lib/QubitTransactionFilter.class.php
Deleted:
trunk/lib/QubitTransactionFilter.class.php
Copied: trunk/lib/filter/QubitTransactionFilter.class.php (from r10825,
trunk/lib/QubitTransactionFilter.class.php)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/lib/filter/QubitTransactionFilter.class.php Wed Feb 15 13:43:49
2012 (r10897, copy of r10825, trunk/lib/QubitTransactionFilter.class.php)
@@ -0,0 +1,66 @@
+<?php
+
+/*
+ * This file is part of Qubit Toolkit.
+ *
+ * Qubit Toolkit is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Qubit Toolkit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Qubit Toolkit. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+class QubitTransactionFilter extends sfFilter
+{
+ protected static
+ $connection = null;
+
+ public static function getConnection()
+ {
+ if (!isset(self::$connection))
+ {
+ self::$connection = Propel::getConnection();
+ // self::$connection->beginTransaction();
+ }
+
+ return self::$connection;
+ }
+
+ public function execute($filterChain)
+ {
+ try
+ {
+ $filterChain->execute();
+
+ if (isset(self::$connection))
+ {
+ self::$connection->commit();
+ }
+ }
+ catch (Exception $e)
+ {
+ if (isset(self::$connection))
+ {
+ // Whitelist of exceptions which commit instead of rollback the
+ // transaction
+ if ($e instanceof sfStopException)
+ {
+ self::$connection->commit();
+ }
+ else
+ {
+ self::$connection->rollBack();
+ }
+ }
+
+ throw $e;
+ }
+ }
+}
--
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.com/group/qubit-commits?hl=en.