Commit 5d1d506a authored by zYne's avatar zYne

added invoker catching

parent 96f97c24
...@@ -1503,6 +1503,8 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count ...@@ -1503,6 +1503,8 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count
{ {
foreach ($this->_table->getTemplates() as $template) { foreach ($this->_table->getTemplates() as $template) {
if (method_exists($template, $method)) { if (method_exists($template, $method)) {
$template->setInvoker($this);
return call_user_func_array(array($template, $method), $args); return call_user_func_array(array($template, $method), $args);
} }
} }
......
...@@ -32,11 +32,14 @@ Doctrine::autoload('Doctrine_Record_Abstract'); ...@@ -32,11 +32,14 @@ Doctrine::autoload('Doctrine_Record_Abstract');
*/ */
class Doctrine_Template extends Doctrine_Record_Abstract class Doctrine_Template extends Doctrine_Record_Abstract
{ {
/**
* @param Doctrine_Record $_invoker the record that invoked the last delegated call
*/
protected $_invoker;
/** /**
* setTable * setTable
* *
* @param Doctrine_Table $_table the table object this Template belongs to * @param Doctrine_Table $_table the table object this Template belongs to
*/ */
public function setTable(Doctrine_Table $table) public function setTable(Doctrine_Table $table)
{ {
...@@ -46,13 +49,34 @@ class Doctrine_Template extends Doctrine_Record_Abstract ...@@ -46,13 +49,34 @@ class Doctrine_Template extends Doctrine_Record_Abstract
* getTable * getTable
* returns the associated table object * returns the associated table object
* *
* @return Doctrine_Table the associated table object * @return Doctrine_Table the associated table object
*/ */
public function getTable() public function getTable()
{ {
return $this->_table; return $this->_table;
} }
/**
* setInvoker
*
* sets the last used invoker
*
* @param Doctrine_Record $invoker the record that invoked the last delegated call
* @return Doctrine_Template this object
*/
public function setInvoker(Doctrine_Record $invoker)
{
$this->_invoker = $invoker;
}
/**
* setInvoker
* returns the last used invoker
*
* @return Doctrine_Record the record that invoked the last delegated call
*/
public function getInvoker()
{
return $this->_invoker;
}
public function setUp() public function setUp()
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment