aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/template/base.php
diff options
context:
space:
mode:
authorAndreas Fischer <bantu@phpbb.com>2013-10-10 23:39:09 +0200
committerAndreas Fischer <bantu@phpbb.com>2013-10-10 23:39:09 +0200
commit353ac33d5cea1752047779eb8c70c7ce3a64b6c8 (patch)
tree76e08c4e16c68256700506b7111c3cbb547dc877 /phpBB/phpbb/template/base.php
parent0228424983e35badc779923a1f0398fc3ab7c8b2 (diff)
parentb59131f558a6d0fe4c836e2658152c8698f0cd22 (diff)
downloadforums-353ac33d5cea1752047779eb8c70c7ce3a64b6c8.tar
forums-353ac33d5cea1752047779eb8c70c7ce3a64b6c8.tar.gz
forums-353ac33d5cea1752047779eb8c70c7ce3a64b6c8.tar.bz2
forums-353ac33d5cea1752047779eb8c70c7ce3a64b6c8.tar.xz
forums-353ac33d5cea1752047779eb8c70c7ce3a64b6c8.zip
Merge remote-tracking branch 'phpbb/develop' into ticket/11621
* phpbb/develop: (542 commits) [ticket/11901] Pass empty string as relative_url for non-local magic URL. [ticket/11898] Correct adm_relative_path created by installer [ticket/11898] Correct admin S_LOGIN_ACTION [ticket/11892] Fix undefined variables: to_forum_id & to_topic_id [ticket/11890] Fix untranslated string when deleting posts through MCP. [ticket/11895] Fix undefined $forum_id [ticket/10383] Update the results without the overlay popup. [ticket/10383] Make the content transitions smoother. [ticket/10383] AJAXify poll voting [ticket/11888] Update default search backend in namespaces migration [ticket/11739] Rename “Remember Me” login keys module [ticket/11893] Remove unnecessary <fieldset> causing a large font size [ticket/11894] Fix typo in "Delete post" option [ticket/11888] Use \phpbb\search\fulltext_native as search backend config [ticket/11608] Mark failed test as incomplete for mysql search backend [ticket/11608] Update search backend class names to namespaces [ticket/11608] Move markIncomplete to search backends test [ticket/11608] Rename base search test class file [ticket/11608] Remove suffix test from base class [ticket/11608] Mark postgres search not found test as incomplete ...
Diffstat (limited to 'phpBB/phpbb/template/base.php')
-rw-r--r--phpBB/phpbb/template/base.php150
1 files changed, 150 insertions, 0 deletions
diff --git a/phpBB/phpbb/template/base.php b/phpBB/phpbb/template/base.php
new file mode 100644
index 0000000000..86868707f0
--- /dev/null
+++ b/phpBB/phpbb/template/base.php
@@ -0,0 +1,150 @@
+<?php
+/**
+*
+* @package phpBB3
+* @copyright (c) 2013 phpBB Group
+* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
+*
+*/
+
+namespace phpbb\template;
+
+/**
+* @ignore
+*/
+if (!defined('IN_PHPBB'))
+{
+ exit;
+}
+
+abstract class base implements template
+{
+ /**
+ * Template context.
+ * Stores template data used during template rendering.
+ *
+ * @var \phpbb\template\context
+ */
+ protected $context;
+
+ /**
+ * Array of filenames assigned to set_filenames
+ *
+ * @var array
+ */
+ protected $filenames = array();
+
+ /**
+ * {@inheritdoc}
+ */
+ public function set_filenames(array $filename_array)
+ {
+ $this->filenames = array_merge($this->filenames, $filename_array);
+
+ return $this;
+ }
+
+ /**
+ * Get a filename from the handle
+ *
+ * @param string $handle
+ * @return string
+ */
+ protected function get_filename_from_handle($handle)
+ {
+ return (isset($this->filenames[$handle])) ? $this->filenames[$handle] : $handle;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function destroy()
+ {
+ $this->context->clear();
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function destroy_block_vars($blockname)
+ {
+ $this->context->destroy_block_vars($blockname);
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function assign_vars(array $vararray)
+ {
+ foreach ($vararray as $key => $val)
+ {
+ $this->assign_var($key, $val);
+ }
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function assign_var($varname, $varval)
+ {
+ $this->context->assign_var($varname, $varval);
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function append_var($varname, $varval)
+ {
+ $this->context->append_var($varname, $varval);
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function assign_block_vars($blockname, array $vararray)
+ {
+ $this->context->assign_block_vars($blockname, $vararray);
+
+ return $this;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function alter_block_array($blockname, array $vararray, $key = false, $mode = 'insert')
+ {
+ return $this->context->alter_block_array($blockname, $vararray, $key, $mode);
+ }
+
+ /**
+ * Calls hook if any is defined.
+ *
+ * @param string $handle Template handle being displayed.
+ * @param string $method Method name of the caller.
+ */
+ protected function call_hook($handle, $method)
+ {
+ global $phpbb_hook;
+
+ if (!empty($phpbb_hook) && $phpbb_hook->call_hook(array(__CLASS__, $method), $handle, $this))
+ {
+ if ($phpbb_hook->hook_return(array(__CLASS__, $method)))
+ {
+ $result = $phpbb_hook->hook_return_result(array(__CLASS__, $method));
+ return array($result);
+ }
+ }
+
+ return false;
+ }
+}