@@ 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 | } |