diff options
author | Igor Wiedler <igor@wiedler.ch> | 2013-07-14 11:34:58 -0400 |
---|---|---|
committer | Igor Wiedler <igor@wiedler.ch> | 2013-07-14 11:34:58 -0400 |
commit | f6865dc33a8cedb7d21a64401ed80d2edbac36bd (patch) | |
tree | 66aa645c4d86636f0bce04a7125a7757a466b224 /phpBB/includes/template/compile.php | |
parent | fa3cdb6bf2cfdca9c26168bd258752718bc8a43f (diff) | |
parent | c15bde161a93fc2abc48cacd7e5a71c682880e52 (diff) | |
download | forums-f6865dc33a8cedb7d21a64401ed80d2edbac36bd.tar forums-f6865dc33a8cedb7d21a64401ed80d2edbac36bd.tar.gz forums-f6865dc33a8cedb7d21a64401ed80d2edbac36bd.tar.bz2 forums-f6865dc33a8cedb7d21a64401ed80d2edbac36bd.tar.xz forums-f6865dc33a8cedb7d21a64401ed80d2edbac36bd.zip |
Merge remote-tracking branch 'upstream/develop' into ticket/11574
* upstream/develop: (575 commits)
[ticket/11702] Fix forum_posts left over for link-click counts in viewforum.php
[ticket/11696] Move file to new directory
[ticket/11696] Rename constructor to __construct()
[ticket/11696] Remove manual loading of db_tools in extension controller test
[ticket/11696] Rename db_tools.php so it can be autoloaded
[ticket/11698] Moving all autoloadable files to phpbb/
[ticket/11694] Do not locate assets with root path
[ticket/11692] Don't update search_type in dev migration if already appended
[ticket/11675] Fix template loop
[ticket/11690] Old module class names may get autoloaded by class_exists
[ticket/9649] Display information on index for moderators on unapproved posts
[ticket/10999] Fix assets_version in ACP
[prep-release-3.0.12] More changelog items for the 3.0.12 release.
[ticket/11687] Add assets_version to phpbb_config
[ticket/11686] Not checking for phpBB Debug errors on functional tests
[ticket/11670] Consistency with logo: Replace "phpBB(tm)" with "phpBB(R)".
[ticket/11674] Do not include vendor folder if there are no dependencies.
[ticket/11685] Remove logout confirmation page
[ticket/11684] Remove useless confirmation page after login and admin login
[ticket/9657] Define user before injecting
...
Conflicts:
phpBB/includes/functions_container.php
phpBB/install/database_update.php
phpBB/install/index.php
Diffstat (limited to 'phpBB/includes/template/compile.php')
-rw-r--r-- | phpBB/includes/template/compile.php | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/phpBB/includes/template/compile.php b/phpBB/includes/template/compile.php deleted file mode 100644 index 76cb3011df..0000000000 --- a/phpBB/includes/template/compile.php +++ /dev/null @@ -1,166 +0,0 @@ -<?php -/** -* -* @package phpBB3 -* @copyright (c) 2005 phpBB Group -* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 -* -*/ - -/** -* @ignore -*/ -if (!defined('IN_PHPBB')) -{ - exit; -} - -stream_filter_register('phpbb_template', 'phpbb_template_filter'); - -/** -* Extension of template class - Functions needed for compiling templates only. -* -* @package phpBB3 -* @uses template_filter As a PHP stream filter to perform compilation of templates -*/ -class phpbb_template_compile -{ - /** - * Array of parameters to forward to template filter - * - * @var array - */ - private $filter_params; - - /** - * Array of default parameters - * - * @var array - */ - private $default_filter_params; - - /** - * Constructor. - * - * @param bool $allow_php Whether PHP code will be allowed in templates (inline PHP code, PHP tag and INCLUDEPHP tag) - * @param array $style_names Name of style to which the template being compiled belongs and parents in style tree order - * @param phpbb_style_resource_locator $locator Resource locator - * @param string $phpbb_root_path Path to phpBB root directory - * @param phpbb_extension_manager $extension_manager Extension manager to use for finding template fragments in extensions; if null, template events will not be invoked - * @param phpbb_user $user Current user - */ - public function __construct($allow_php, $style_names, $locator, $phpbb_root_path, $extension_manager = null, $user = null) - { - $this->filter_params = $this->default_filter_params = array( - 'allow_php' => $allow_php, - 'style_names' => $style_names, - 'locator' => $locator, - 'phpbb_root_path' => $phpbb_root_path, - 'extension_manager' => $extension_manager, - 'user' => $user, - 'template_compile' => $this, - 'cleanup' => true, - ); - } - - /** - * Set filter parameters - * - * @param array $params Array of parameters (will be merged onto $this->filter_params) - */ - public function set_filter_params($params) - { - $this->filter_params = array_merge( - $this->filter_params, - $params - ); - } - - /** - * Reset filter parameters to their default settings - */ - public function reset_filter_params() - { - $this->filter_params = $this->default_filter_params; - } - - /** - * Compiles template in $source_file and writes compiled template to - * cache directory - * - * @param string $handle Template handle to compile - * @param string $source_file Source template file - * @return bool Return true on success otherwise false - */ - public function compile_file_to_file($source_file, $compiled_file) - { - $lock = new phpbb_lock_flock($compiled_file); - $lock->acquire(); - - $source_handle = @fopen($source_file, 'rb'); - $destination_handle = @fopen($compiled_file, 'wb'); - - if (!$source_handle || !$destination_handle) - { - return false; - } - - $this->compile_stream_to_stream($source_handle, $destination_handle); - - @fclose($source_handle); - @fclose($destination_handle); - - phpbb_chmod($compiled_file, CHMOD_READ | CHMOD_WRITE); - - $lock->release(); - - clearstatcache(); - - return true; - } - - /** - * Compiles a template located at $source_file. - * - * Returns PHP source suitable for eval(). - * - * @param string $source_file Source template file - * @return string|bool Return compiled code on successful compilation otherwise false - */ - public function compile_file($source_file) - { - $source_handle = @fopen($source_file, 'rb'); - $destination_handle = @fopen('php://temp' ,'r+b'); - - if (!$source_handle || !$destination_handle) - { - return false; - } - - $this->compile_stream_to_stream($source_handle, $destination_handle); - - @fclose($source_handle); - - rewind($destination_handle); - $contents = stream_get_contents($destination_handle); - @fclose($dest_handle); - - return $contents; - } - - /** - * Compiles contents of $source_stream into $dest_stream. - * - * A stream filter is appended to $source_stream as part of the - * process. - * - * @param resource $source_stream Source stream - * @param resource $dest_stream Destination stream - * @return null - */ - private function compile_stream_to_stream($source_stream, $dest_stream) - { - stream_filter_append($source_stream, 'phpbb_template', null, $this->filter_params); - stream_copy_to_stream($source_stream, $dest_stream); - } -} |