aboutsummaryrefslogtreecommitdiffstats
path: root/library/Smarty/libs/sysplugins/smarty_internal_runtime_hhvm.php
blob: 117cd8166853f826959a080e3ba6ddd11f19ad04 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php

/**
 * Runtime Extension Hhvm
 *
 * include patch for modified compiled or cached templates
 * HHVM does not check if file was modified when including same file multiple times
 *
 * @package    Smarty
 * @subpackage PluginsInternal
 * @author     Uwe Tews
 */
class Smarty_Internal_Runtime_Hhvm
{
    /**
     * @param \Smarty_Internal_Template $_template
     * @param string                    $file file name
     *
     * @return mixed
     */
    static function includeHhvm(Smarty_Internal_Template $_template, $file)
    {
        $_smarty_tpl = $_template;
        $tmp_file = $file . preg_replace('![^\w]+!', '_', uniqid(rand(), true)) . '.php';
        file_put_contents($tmp_file, file_get_contents($file));
        $result = @include $tmp_file;
        @unlink($tmp_file);
        return $result;
    }
}