Security update for Core, with self-updated composer
[yaffs-website] / vendor / gabordemooij / redbean / RedBeanPHP / Util / Transaction.php
diff --git a/vendor/gabordemooij/redbean/RedBeanPHP/Util/Transaction.php b/vendor/gabordemooij/redbean/RedBeanPHP/Util/Transaction.php
deleted file mode 100644 (file)
index 35e70f8..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-
-namespace RedBeanPHP\Util;
-
-use RedBeanPHP\OODB as OODB;
-use RedBeanPHP\OODBBean as OODBBean;
-use RedBeanPHP\RedException as RedException;
-use RedBeanPHP\Adapter as Adapter;
-
-/**
- * Transaction Helper
- *
- * This code was originally part of the facade, however it has
- * been decided to remove unique features to service classes like
- * this to make them available to developers not using the facade class.
- *
- * Database transaction helper. This is a convenience class
- * to perform a callback in a database transaction. This class
- * contains a method to wrap your callback in a transaction.
- *
- * @file    RedBeanPHP/Util/Transaction.php
- * @author  Gabor de Mooij and the RedBeanPHP Community
- * @license BSD/GPLv2
- *
- * @copyright
- * copyright (c) G.J.G.T. (Gabor) de Mooij and the RedBeanPHP Community
- * This source file is subject to the BSD/GPLv2 License that is bundled
- * with this source code in the file license.txt.
- */
-class Transaction
-{
-       /**
-        * Wraps a transaction around a closure or string callback.
-        * If an Exception is thrown inside, the operation is automatically rolled back.
-        * If no Exception happens, it commits automatically.
-        * It also supports (simulated) nested transactions (that is useful when
-        * you have many methods that needs transactions but are unaware of
-        * each other).
-        *
-        * Example:
-        *
-        * <code>
-        * $from = 1;
-        * $to = 2;
-        * $amount = 300;
-        *
-        * R::transaction(function() use($from, $to, $amount)
-        * {
-        *   $accountFrom = R::load('account', $from);
-        *   $accountTo = R::load('account', $to);
-        *   $accountFrom->money -= $amount;
-        *   $accountTo->money += $amount;
-        *   R::store($accountFrom);
-        *   R::store($accountTo);
-        * });
-        * </code>
-        *
-        * @param Adapter  $adapter  Database Adapter providing transaction mechanisms.
-        * @param callable $callback Closure (or other callable) with the transaction logic
-        *
-        * @return mixed
-        */
-       public static function transaction( Adapter $adapter, $callback )
-       {
-               if ( !is_callable( $callback ) ) {
-                       throw new RedException( 'R::transaction needs a valid callback.' );
-               }
-
-               static $depth = 0;
-               $result = null;
-               try {
-                       if ( $depth == 0 ) {
-                               $adapter->startTransaction();
-                       }
-                       $depth++;
-                       $result = call_user_func( $callback ); //maintain 5.2 compatibility
-                       $depth--;
-                       if ( $depth == 0 ) {
-                               $adapter->commit();
-                       }
-               } catch ( \Exception $exception ) {
-                       $depth--;
-                       if ( $depth == 0 ) {
-                               $adapter->rollback();
-                       }
-                       throw $exception;
-               }
-               return $result;
-       }
-}