summaryrefslogtreecommitdiff
path: root/lib/smarty/sysplugins/smarty_internal_method_getglobal.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/smarty/sysplugins/smarty_internal_method_getglobal.php')
-rw-r--r--lib/smarty/sysplugins/smarty_internal_method_getglobal.php47
1 files changed, 47 insertions, 0 deletions
diff --git a/lib/smarty/sysplugins/smarty_internal_method_getglobal.php b/lib/smarty/sysplugins/smarty_internal_method_getglobal.php
new file mode 100644
index 0000000..2be11d7
--- /dev/null
+++ b/lib/smarty/sysplugins/smarty_internal_method_getglobal.php
@@ -0,0 +1,47 @@
+<?php
+
+/**
+ * Smarty Method GetGlobal
+ *
+ * Smarty::getGlobal() method
+ *
+ * @package Smarty
+ * @subpackage PluginsInternal
+ * @author Uwe Tews
+ */
+class Smarty_Internal_Method_GetGlobal
+{
+ /**
+ * Valid for all objects
+ *
+ * @var int
+ */
+ public $objMap = 7;
+
+ /**
+ * Returns a single or all global variables
+ *
+ * @api Smarty::getGlobal()
+ *
+ * @param \Smarty_Internal_Data $data
+ * @param string $varName variable name or null
+ *
+ * @return string|array variable value or or array of variables
+ */
+ public function getGlobal(Smarty_Internal_Data $data, $varName = null)
+ {
+ if (isset($varName)) {
+ if (isset(Smarty::$global_tpl_vars[ $varName ])) {
+ return Smarty::$global_tpl_vars[ $varName ]->value;
+ } else {
+ return '';
+ }
+ } else {
+ $_result = array();
+ foreach (Smarty::$global_tpl_vars as $key => $var) {
+ $_result[ $key ] = $var->value;
+ }
+ return $_result;
+ }
+ }
+}