| @@ 517-530 (lines=14) @@ | ||
| 514 | } |
|
| 515 | } elseif (is_string($callback)) { |
|
| 516 | if (class_exists($callback)) { |
|
| 517 | if (is_subclass_of($callback, 'Dwoo\Block\Plugin')) { |
|
| 518 | $this->plugins[$name] = array( |
|
| 519 | 'type' => self::BLOCK_PLUGIN | $compilable, |
|
| 520 | 'callback' => $callback, |
|
| 521 | 'class' => $callback |
|
| 522 | ); |
|
| 523 | } else { |
|
| 524 | $this->plugins[$name] = array( |
|
| 525 | 'type' => self::CLASS_PLUGIN | $compilable, |
|
| 526 | 'callback' => $callback, |
|
| 527 | 'class' => $callback, |
|
| 528 | 'function' => ($compilable ? 'compile' : 'process') |
|
| 529 | ); |
|
| 530 | } |
|
| 531 | } elseif (function_exists($callback)) { |
|
| 532 | $this->plugins[$name] = array( |
|
| 533 | 'type' => self::FUNC_PLUGIN | $compilable, |
|
| @@ 545-558 (lines=14) @@ | ||
| 542 | 'callback' => $callback |
|
| 543 | ); |
|
| 544 | } elseif (is_object($callback)) { |
|
| 545 | if (is_subclass_of($callback, 'Dwoo\Block\Plugin')) { |
|
| 546 | $this->plugins[$name] = array( |
|
| 547 | 'type' => self::BLOCK_PLUGIN | $compilable, |
|
| 548 | 'callback' => get_class($callback), |
|
| 549 | 'class' => $callback |
|
| 550 | ); |
|
| 551 | } else { |
|
| 552 | $this->plugins[$name] = array( |
|
| 553 | 'type' => self::CLASS_PLUGIN | $compilable, |
|
| 554 | 'callback' => $callback, |
|
| 555 | 'class' => $callback, |
|
| 556 | 'function' => ($compilable ? 'compile' : 'process') |
|
| 557 | ); |
|
| 558 | } |
|
| 559 | } else { |
|
| 560 | throw new Exception('Callback could not be processed correctly, please check that the function/class you used exists'); |
|
| 561 | } |
|