Ignore:
Timestamp:
05/28/12 17:34:40 (12 years ago)
Author:
natan
Message:

Ticket #2786 - Permitir transações separadas ao persistir uma lista de objetos - Corrigido

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/Sync.php

    r6111 r6328  
    88 
    99if(!function_exists('parseURI')) 
    10 {    
     10{ 
    1111    function parseURI( $URI ) 
    1212    { 
     
    2424 
    2525if(!function_exists('formatURI')) 
    26 {   
     26{ 
    2727    function formatURI( $concept = false, $id = false, $service = false ) 
    2828    { 
     
    6161 
    6262if(!function_exists('prepare')) 
    63 {   
     63{ 
    6464    function prepare( $concept, $id, $dt, &$data, &$oldIds, &$mounted, &$synced ) 
    6565    { 
     
    123123    $args = array( $args ); 
    124124 
    125 Controller::addFallbackHandler( 0, function($e){ throw $e; } ); 
     125Controller::addFallbackHandler( 0, function($e, $URI){ 
     126 
     127    throw new Exception( $e->getMessage(), 100, $e ); 
     128 
     129} ); 
     130 
     131Controller::addFallbackHandler( 100, function( $e, $URI ){ 
     132 
     133    Controller::rollback( $URI ); 
     134    throw $e; 
     135 
     136}); 
    126137 
    127138foreach( $args as $i => $data ) 
     
    161172              if( !isset($tx['order']) ) 
    162173                    continue; 
    163                
     174 
    164175                  $oldId = $oldIds[ $tx['order'] ]; 
    165176 
     
    173184                  unset( $data[$oldURI] ); 
    174185 
    175                   $return[ $oldURI ] = !$tx['rollback'] ? $dt ?  
     186                  $return[ $oldURI ] = !$tx['rollback'] ? $dt ? 
    176187                                       array( 'id' => $tx['id'] ) : false : 'ROLLBACK'; 
    177188          } 
     
    182193} 
    183194 
     195 
    184196echo json_encode( $return ); 
    185197 
    186198Controller::closeAll(); 
    187            
     199 
    188200//         ob_start(); 
    189201//         print "\n"; 
Note: See TracChangeset for help on using the changeset viewer.