Changeset 1006

Show
Ignore:
Timestamp:
07/08/08 14:30:45 (1 month ago)
Author:
laurentj
Message:

ticket #643: fixed bug on events generated by daos. p=Thomas

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.0.x/build/manifests/testapp.mn

    r960 r1006  
    7676  urlsig.urlhandler.php 
    7777  testevents.listener.php 
     78  testdaoevents.listener.php 
    7879  test.iface.php 
    7980  myclass.class.php 
     
    117118cd testapp/modules/jelix_tests/daos 
    118119  products.dao.xml 
     120  products_events.dao.xml 
    119121  product_tags.dao.xml 
    120122  description.dao.xml 
     
    140142  jdao.main_api.html_cli.php 
    141143  jdao.main_api_with_pdo.html_cli.php 
     144  jdao.events.html_cli.php 
    142145  jdao.parser.html_cli.php 
    143146  jdao.parser2.html_cli.php 
  • branches/1.0.x/lib/jelix/CREDITS

    r1005 r1006  
    140140 
    141141Thomas 
    142  - fixed bugs in jDao (#576
     142 - fixed bugs in jDao (#576, #643
    143143 
    144144Christian Tritten 
  • branches/1.0.x/lib/jelix/dao/jDaoFactoryBase.class.php

    r727 r1006  
    206206 
    207207        if ($this->_deleteBeforeEvent) { 
    208             jEvent::notify("daoDeleteBefore", array('dao'=>$this->_daoselector, 'keys'=>$keys)); 
     208            jEvent::notify("daoDeleteBefore", array('dao'=>$this->_daoSelector, 'keys'=>$keys)); 
    209209        } 
    210210        $result = $this->_conn->exec ($q); 
    211211        if ($this->_deleteAfterEvent) { 
    212             jEvent::notify("daoDeleteAfter", array('dao'=>$this->_daoselector, 'keys'=>$keys, 'result'=>$result)); 
     212            jEvent::notify("daoDeleteAfter", array('dao'=>$this->_daoSelector, 'keys'=>$keys, 'result'=>$result)); 
    213213        } 
    214214        return $result; 
     
    290290 
    291291        if ($this->_deleteByBeforeEvent) { 
    292             jEvent::notify("daoDeleteByBefore", array('dao'=>$this->_daoselector, 'criterias'=>$searchcond)); 
     292            jEvent::notify("daoDeleteByBefore", array('dao'=>$this->_daoSelector, 'criterias'=>$searchcond)); 
    293293        } 
    294294        $result = $this->_conn->exec($query); 
    295295        if ($this->_deleteByAfterEvent) { 
    296             jEvent::notify("daoDeleteByAfter", array('dao'=>$this->_daoselector, 'criterias'=>$searchcond, 'result'=>$result)); 
     296            jEvent::notify("daoDeleteByAfter", array('dao'=>$this->_daoSelector, 'criterias'=>$searchcond, 'result'=>$result)); 
    297297        } 
    298298        return $result; 
  • branches/1.0.x/lib/jelix/dao/jDaoGenerator.class.php

    r1005 r1006  
    199199 
    200200        if($this->_datasParser->hasEvent('insertbefore') || $this->_datasParser->hasEvent('insert')){ 
    201             $src[] = '   jEvent::notify("daoInsertBefore", array(\'dao\'=>$this->_daoselector, \'record\'=>$record));'; 
     201            $src[] = '   jEvent::notify("daoInsertBefore", array(\'dao\'=>$this->_daoSelector, \'record\'=>$record));'; 
    202202        } 
    203203        $src[] = '   $result = $this->_conn->exec ($query);'; 
     
    231231 
    232232        if($this->_datasParser->hasEvent('insertafter') || $this->_datasParser->hasEvent('insert')){ 
    233             $src[] = '   jEvent::notify("daoInsertAfter", array(\'dao\'=>$this->_daoselector, \'record\'=>$record));'; 
     233            $src[] = '   jEvent::notify("daoInsertAfter", array(\'dao\'=>$this->_daoSelector, \'record\'=>$record));'; 
    234234        } 
    235235 
     
    255255            $src[] = "';"; 
    256256            if($this->_datasParser->hasEvent('updatebefore') || $this->_datasParser->hasEvent('update')){ 
    257                 $src[] = '   jEvent::notify("daoUpdateBefore", array(\'dao\'=>$this->_daoselector, \'record\'=>$record));'; 
     257                $src[] = '   jEvent::notify("daoUpdateBefore", array(\'dao\'=>$this->_daoSelector, \'record\'=>$record));'; 
    258258            } 
    259259            if($this->_datasParser->hasEvent('updateafter') || $this->_datasParser->hasEvent('update')){ 
    260260                $src[] = '   $result = $this->_conn->exec ($query);'; 
    261                 $src[] = '   jEvent::notify("daoUpdateAfter", array(\'dao\'=>$this->_daoselector, \'record\'=>$record));'; 
     261                $src[] = '   jEvent::notify("daoUpdateAfter", array(\'dao\'=>$this->_daoSelector, \'record\'=>$record));'; 
    262262                $src[] = '   return $result;'; 
    263263            } 
     
    379379                case 'update' : 
    380380                    if ($method->eventBeforeEnabled || $method->eventAfterEnabled) { 
    381                         $methname = ($method->type == 'update'?'Update':'Insert'); 
     381                        $src[] = '   $args = func_get_args();'; 
     382                        $methname = ($method->type == 'update'?'Update':'Delete'); 
    382383                        if ($method->eventBeforeEnabled) { 
    383                         $src[] = '   jEvent::notify("daoSpecific'.$methname.'Before", array(\'dao\'=>$this->_daoselector,\'method\'=>\''. 
    384                             $method->name.'\', \'params\'=>func_get_args()));'; 
     384                        $src[] = '   jEvent::notify("daoSpecific'.$methname.'Before", array(\'dao\'=>$this->_daoSelector,\'method\'=>\''. 
     385                            $method->name.'\', \'params\'=>$args));'; 
    385386                        } 
    386387                        if ($method->eventAfterEnabled) { 
    387388                            $src[] = '   $result = $this->_conn->exec ($__query);'; 
    388                             $src[] = '   jEvent::notify("daoSpecific'.$methname.'After", array(\'dao\'=>$this->_daoselector,\'method\'=>\''. 
    389                                 $method->name.'\', \'params\'=>func_get_args()));'; 
     389                            $src[] = '   jEvent::notify("daoSpecific'.$methname.'After", array(\'dao\'=>$this->_daoSelector,\'method\'=>\''. 
     390                                $method->name.'\', \'params\'=>$args));'; 
    390391                            $src[] = '   return $result;'; 
    391392                        } else { 
  • branches/1.0.x/testapp/modules/jelix_tests/events.xml

    r55 r1006  
    55      <event name="TestEvent" /> 
    66   </listener> 
     7   <listener name="testdaoevents"> 
     8      <event name="daoDeleteBefore" /> 
     9      <event name="daoDeleteAfter" /> 
     10      <event name="daoUpdateBefore" /> 
     11      <event name="daoUpdateAfter" /> 
     12      <event name="daoInsertBefore" /> 
     13      <event name="daoInsertAfter" /> 
     14      <event name="daoDeleteByBefore" /> 
     15      <event name="daoDeleteByAfter" /> 
     16   </listener> 
    717</events> 
  • trunk/build/manifests/testapp.mn

    r960 r1006  
    8282  urlsig.urlhandler.php 
    8383  testevents.listener.php 
     84  testdaoevents.listener.php 
    8485  test.iface.php 
    8586  myclass.class.php 
     
    126127cd testapp/modules/jelix_tests/daos 
    127128  products.dao.xml 
     129  products_events.dao.xml 
    128130  product_tags.dao.xml 
    129131  description.dao.xml 
     
    151153  jacl2.users_and_groups.html_cli.php 
    152154  jdao.conditions.html_cli.php 
     155  jdao.events.html_cli.php 
    153156  jdao.main_api.html_cli.php 
    154157  jdao.main_api_with_pdo.html_cli.php 
  • trunk/lib/jelix/CREDITS

    r1005 r1006  
    162162 
    163163Thomas 
    164  - fixed bugs in jDao (#576
     164 - fixed bugs in jDao (#576, #643
    165165 
    166166Christian Tritten 
  • trunk/lib/jelix/dao/jDaoFactoryBase.class.php

    r727 r1006  
    206206 
    207207        if ($this->_deleteBeforeEvent) { 
    208             jEvent::notify("daoDeleteBefore", array('dao'=>$this->_daoselector, 'keys'=>$keys)); 
     208            jEvent::notify("daoDeleteBefore", array('dao'=>$this->_daoSelector, 'keys'=>$keys)); 
    209209        } 
    210210        $result = $this->_conn->exec ($q); 
    211211        if ($this->_deleteAfterEvent) { 
    212             jEvent::notify("daoDeleteAfter", array('dao'=>$this->_daoselector, 'keys'=>$keys, 'result'=>$result)); 
     212            jEvent::notify("daoDeleteAfter", array('dao'=>$this->_daoSelector, 'keys'=>$keys, 'result'=>$result)); 
    213213        } 
    214214        return $result; 
     
    290290 
    291291        if ($this->_deleteByBeforeEvent) { 
    292             jEvent::notify("daoDeleteByBefore", array('dao'=>$this->_daoselector, 'criterias'=>$searchcond)); 
     292            jEvent::notify("daoDeleteByBefore", array('dao'=>$this->_daoSelector, 'criterias'=>$searchcond)); 
    293293        } 
    294294        $result = $this->_conn->exec($query); 
    295295        if ($this->_deleteByAfterEvent) { 
    296             jEvent::notify("daoDeleteByAfter", array('dao'=>$this->_daoselector, 'criterias'=>$searchcond, 'result'=>$result)); 
     296            jEvent::notify("daoDeleteByAfter", array('dao'=>$this->_daoSelector, 'criterias'=>$searchcond, 'result'=>$result)); 
    297297        } 
    298298        return $result; 
  • trunk/lib/jelix/dao/jDaoGenerator.class.php

    r1005 r1006  
    199199 
    200200        if($this->_dataParser->hasEvent('insertbefore') || $this->_dataParser->hasEvent('insert')){ 
    201             $src[] = '   jEvent::notify("daoInsertBefore", array(\'dao\'=>$this->_daoselector, \'record\'=>$record));'; 
     201            $src[] = '   jEvent::notify("daoInsertBefore", array(\'dao\'=>$this->_daoSelector, \'record\'=>$record));'; 
    202202        } 
    203203        $src[] = '   $result = $this->_conn->exec ($query);'; 
     
    231231 
    232232        if($this->_dataParser->hasEvent('insertafter') || $this->_dataParser->hasEvent('insert')){ 
    233             $src[] = '   jEvent::notify("daoInsertAfter", array(\'dao\'=>$this->_daoselector, \'record\'=>$record));'; 
     233            $src[] = '   jEvent::notify("daoInsertAfter", array(\'dao\'=>$this->_daoSelector, \'record\'=>$record));'; 
    234234        } 
    235235 
     
    255255            $src[] = "';"; 
    256256            if($this->_dataParser->hasEvent('updatebefore') || $this->_dataParser->hasEvent('update')){ 
    257                 $src[] = '   jEvent::notify("daoUpdateBefore", array(\'dao\'=>$this->_daoselector, \'record\'=>$record));'; 
     257                $src[] = '   jEvent::notify("daoUpdateBefore", array(\'dao\'=>$this->_daoSelector, \'record\'=>$record));'; 
    258258            } 
    259259            if($this->_dataParser->hasEvent('updateafter') || $this->_dataParser->hasEvent('update')){ 
    260260                $src[] = '   $result = $this->_conn->exec ($query);'; 
    261                 $src[] = '   jEvent::notify("daoUpdateAfter", array(\'dao\'=>$this->_daoselector, \'record\'=>$record));'; 
     261                $src[] = '   jEvent::notify("daoUpdateAfter", array(\'dao\'=>$this->_daoSelector, \'record\'=>$record));'; 
    262262                $src[] = '   return $result;'; 
    263263            } 
     
    379379                case 'update' : 
    380380                    if ($method->eventBeforeEnabled || $method->eventAfterEnabled) { 
    381                         $methname = ($method->type == 'update'?'Update':'Insert'); 
     381                        $src[] = '   $args = func_get_args();'; 
     382                        $methname = ($method->type == 'update'?'Update':'Delete'); 
    382383                        if ($method->eventBeforeEnabled) { 
    383                         $src[] = '   jEvent::notify("daoSpecific'.$methname.'Before", array(\'dao\'=>$this->_daoselector,\'method\'=>\''. 
    384                             $method->name.'\', \'params\'=>func_get_args()));'; 
     384                        $src[] = '   jEvent::notify("daoSpecific'.$methname.'Before", array(\'dao\'=>$this->_daoSelector,\'method\'=>\''. 
     385                            $method->name.'\', \'params\'=>$args));'; 
    385386                        } 
    386387                        if ($method->eventAfterEnabled) { 
    387388                            $src[] = '   $result = $this->_conn->exec ($__query);'; 
    388                             $src[] = '   jEvent::notify("daoSpecific'.$methname.'After", array(\'dao\'=>$this->_daoselector,\'method\'=>\''. 
    389                                 $method->name.'\', \'params\'=>func_get_args()));'; 
     389                            $src[] = '   jEvent::notify("daoSpecific'.$methname.'After", array(\'dao\'=>$this->_daoSelector,\'method\'=>\''. 
     390                                $method->name.'\', \'params\'=>$args));'; 
    390391                            $src[] = '   return $result;'; 
    391392                        } else { 
  • trunk/testapp/modules/jelix_tests/events.xml

    r55 r1006  
    55      <event name="TestEvent" /> 
    66   </listener> 
     7   <listener name="testdaoevents"> 
     8      <event name="daoDeleteBefore" /> 
     9      <event name="daoDeleteAfter" /> 
     10      <event name="daoUpdateBefore" /> 
     11      <event name="daoUpdateAfter" /> 
     12      <event name="daoInsertBefore" /> 
     13      <event name="daoInsertAfter" /> 
     14      <event name="daoDeleteByBefore" /> 
     15      <event name="daoDeleteByAfter" /> 
     16   </listener> 
    717</events> 
Download in other formats: Unified Diff Zip Archive