[ Index ]

PHP Cross Reference of Limb3

title

Body

[close]

/dbal/src/filter/ -> lmbAutoDbTransactionFilter.class.php (source)

   1  <?php
   2  /*
   3   * Limb PHP Framework
   4   *
   5   * @link http://limb-project.com 
   6   * @copyright  Copyright &copy; 2004-2007 BIT(http://bit-creative.com)
   7   * @license    LGPL http://www.gnu.org/copyleft/lesser.html 
   8   */
   9  lmb_require('limb/dbal/src/drivers/lmbAutoTransactionConnection.class.php');
  10  
  11  /**

  12   * class lmbAutoDbTransactionFilter.

  13   *

  14   * @package dbal

  15   * @version $Id: lmbAutoDbTransactionFilter.class.php 5945 2007-06-06 08:31:43Z pachanga $

  16   */
  17  class lmbAutoDbTransactionFilter
  18  {
  19    function run($chain)
  20    {
  21      $toolkit = lmbToolkit :: instance();
  22      $old_conn = $toolkit->getDefaultDbConnection();
  23      $conn = new lmbAutoTransactionConnection($old_conn);
  24      $toolkit->setDefaultDbConnection($conn);
  25  
  26      try
  27      {
  28        $chain->next();
  29        $conn->commitTransaction();
  30        $toolkit->setDefaultDbConnection($old_conn);
  31      }
  32      catch(Exception $e)
  33      {
  34        $conn->rollbackTransaction();
  35        $toolkit->setDefaultDbConnection($old_conn);
  36        throw $e;
  37      }
  38    }
  39  }
  40  ?>


Generated: Sat Nov 22 03:48:54 2008 Cross-referenced by PHPXref 0.7