@@ 615-639 (lines=25) @@ | ||
612 | * First we check if the compiler function has already been registered |
|
613 | * or loaded from a plugin file. |
|
614 | */ |
|
615 | if (isset($this->_plugins['compiler'][$tag_command])) { |
|
616 | $found = true; |
|
617 | $plugin_func = $this->_plugins['compiler'][$tag_command][0]; |
|
618 | if (!is_callable($plugin_func)) { |
|
619 | $message = "compiler function '$tag_command' is not implemented"; |
|
620 | $have_function = false; |
|
621 | } |
|
622 | } |
|
623 | /* |
|
624 | * Otherwise we need to load plugin file and look for the function |
|
625 | * inside it. |
|
626 | */ |
|
627 | else if ($plugin_file = $this->_get_plugin_filepath('compiler', $tag_command)) { |
|
628 | $found = true; |
|
629 | ||
630 | include_once $plugin_file; |
|
631 | ||
632 | $plugin_func = 'smarty_compiler_' . $tag_command; |
|
633 | if (!is_callable($plugin_func)) { |
|
634 | $message = "plugin function $plugin_func() not found in $plugin_file\n"; |
|
635 | $have_function = false; |
|
636 | } else { |
|
637 | $this->_plugins['compiler'][$tag_command] = array($plugin_func, null, null, null, true); |
|
638 | } |
|
639 | } |
|
640 | ||
641 | /* |
|
642 | * True return value means that we either found a plugin or a |
|
@@ 690-715 (lines=26) @@ | ||
687 | * First we check if the block function has already been registered |
|
688 | * or loaded from a plugin file. |
|
689 | */ |
|
690 | if (isset($this->_plugins['block'][$tag_command])) { |
|
691 | $found = true; |
|
692 | $plugin_func = $this->_plugins['block'][$tag_command][0]; |
|
693 | if (!is_callable($plugin_func)) { |
|
694 | $message = "block function '$tag_command' is not implemented"; |
|
695 | $have_function = false; |
|
696 | } |
|
697 | } |
|
698 | /* |
|
699 | * Otherwise we need to load plugin file and look for the function |
|
700 | * inside it. |
|
701 | */ |
|
702 | else if ($plugin_file = $this->_get_plugin_filepath('block', $tag_command)) { |
|
703 | $found = true; |
|
704 | ||
705 | include_once $plugin_file; |
|
706 | ||
707 | $plugin_func = 'smarty_block_' . $tag_command; |
|
708 | if (!function_exists($plugin_func)) { |
|
709 | $message = "plugin function $plugin_func() not found in $plugin_file\n"; |
|
710 | $have_function = false; |
|
711 | } else { |
|
712 | $this->_plugins['block'][$tag_command] = array($plugin_func, null, null, null, true); |
|
713 | ||
714 | } |
|
715 | } |
|
716 | ||
717 | if (!$found) { |
|
718 | return false; |
|
@@ 775-800 (lines=26) @@ | ||
772 | * First we check if the custom function has already been registered |
|
773 | * or loaded from a plugin file. |
|
774 | */ |
|
775 | if (isset($this->_plugins['function'][$tag_command])) { |
|
776 | $found = true; |
|
777 | $plugin_func = $this->_plugins['function'][$tag_command][0]; |
|
778 | if (!is_callable($plugin_func)) { |
|
779 | $message = "custom function '$tag_command' is not implemented"; |
|
780 | $have_function = false; |
|
781 | } |
|
782 | } |
|
783 | /* |
|
784 | * Otherwise we need to load plugin file and look for the function |
|
785 | * inside it. |
|
786 | */ |
|
787 | else if ($plugin_file = $this->_get_plugin_filepath('function', $tag_command)) { |
|
788 | $found = true; |
|
789 | ||
790 | include_once $plugin_file; |
|
791 | ||
792 | $plugin_func = 'smarty_function_' . $tag_command; |
|
793 | if (!function_exists($plugin_func)) { |
|
794 | $message = "plugin function $plugin_func() not found in $plugin_file\n"; |
|
795 | $have_function = false; |
|
796 | } else { |
|
797 | $this->_plugins['function'][$tag_command] = array($plugin_func, null, null, null, true); |
|
798 | ||
799 | } |
|
800 | } |
|
801 | ||
802 | if (!$found) { |
|
803 | return false; |