aboutsummaryrefslogtreecommitdiffstats
path: root/library/Smarty/libs/sysplugins/smarty_internal_method_loadplugin.php
diff options
context:
space:
mode:
Diffstat (limited to 'library/Smarty/libs/sysplugins/smarty_internal_method_loadplugin.php')
-rw-r--r--library/Smarty/libs/sysplugins/smarty_internal_method_loadplugin.php111
1 files changed, 0 insertions, 111 deletions
diff --git a/library/Smarty/libs/sysplugins/smarty_internal_method_loadplugin.php b/library/Smarty/libs/sysplugins/smarty_internal_method_loadplugin.php
deleted file mode 100644
index c153f55f0..000000000
--- a/library/Smarty/libs/sysplugins/smarty_internal_method_loadplugin.php
+++ /dev/null
@@ -1,111 +0,0 @@
-<?php
-
-/**
- * Smarty Extension Loadplugin
- *
- * $smarty->loadPlugin() method
- *
- * @package Smarty
- * @subpackage PluginsInternal
- * @author Uwe Tews
- */
-class Smarty_Internal_Method_LoadPlugin
-{
- /**
- * Cache of searched plugin files
- *
- * @var array
- */
- public $plugin_files = array();
-
- /**
- * Takes unknown classes and loads plugin files for them
- * class name format: Smarty_PluginType_PluginName
- * plugin filename format: plugintype.pluginname.php
- *
- * @param \Smarty $smarty
- * @param string $plugin_name class plugin name to load
- * @param bool $check check if already loaded
- *
- * @return bool|string
- * @throws \SmartyException
- */
- public function loadPlugin(Smarty $smarty, $plugin_name, $check)
- {
- // if function or class exists, exit silently (already loaded)
- if ($check && (is_callable($plugin_name) || class_exists($plugin_name, false))) {
- return true;
- }
- if (!preg_match('#^smarty_((internal)|([^_]+))_(.+)$#i', $plugin_name, $match)) {
- throw new SmartyException("plugin {$plugin_name} is not a valid name format");
- }
- if (!empty($match[2])) {
- $file = SMARTY_SYSPLUGINS_DIR . strtolower($plugin_name) . '.php';
- if (isset($this->plugin_files[$file])) {
- if ($this->plugin_files[$file] !== false) {
- return $this->plugin_files[$file];
- } else {
- return false;
- }
- } else {
- if (is_file($file)) {
- $this->plugin_files[$file] = $file;
- require_once($file);
- return $file;
- } else {
- $this->plugin_files[$file] = false;
- return false;
- }
- }
- }
- // plugin filename is expected to be: [type].[name].php
- $_plugin_filename = "{$match[1]}.{$match[4]}.php";
- $_lower_filename = strtolower($_plugin_filename);
- if (isset($this->plugin_files)) {
- if (isset($this->plugin_files['plugins_dir'][$_lower_filename])) {
- if (!$smarty->use_include_path || $this->plugin_files['plugins_dir'][$_lower_filename] !== false) {
- return $this->plugin_files['plugins_dir'][$_lower_filename];
- }
- }
- if (!$smarty->use_include_path || $smarty->ext->_getIncludePath->isNewIncludePath($smarty)) {
- unset($this->plugin_files['include_path']);
- } else {
- if (isset($this->plugin_files['include_path'][$_lower_filename])) {
- return $this->plugin_files['include_path'][$_lower_filename];
- }
- }
- }
- $_file_names = array($_plugin_filename);
- if ($_lower_filename != $_plugin_filename) {
- $_file_names[] = $_lower_filename;
- }
- $_p_dirs = $smarty->getPluginsDir();
- if (!isset($this->plugin_files['plugins_dir'][$_lower_filename])) {
- // loop through plugin dirs and find the plugin
- foreach ($_p_dirs as $_plugin_dir) {
- foreach ($_file_names as $name) {
- $file = $_plugin_dir . $name;
- if (is_file($file)) {
- $this->plugin_files['plugins_dir'][$_lower_filename] = $file;
- require_once($file);
- return $file;
- }
- $this->plugin_files['plugins_dir'][$_lower_filename] = false;
- }
- }
- }
- if ($smarty->use_include_path) {
- foreach ($_file_names as $_file_name) {
- // try PHP include_path
- $file = $smarty->ext->_getIncludePath->getIncludePath($_p_dirs, $_file_name, $smarty);
- $this->plugin_files['include_path'][$_lower_filename] = $file;
- if ($file !== false) {
- require_once($file);
- return $file;
- }
- }
- }
- // no plugin loaded
- return false;
- }
-} \ No newline at end of file