throw new \RuntimeException(sprintf('Unable to write in the cache directory (%s).', $dir));
}
$tmpFile = tempnam($dir, basename($key));
if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $key)) {
@chmod($key, 0666 & ~umask());
if (self::FORCE_BYTECODE_INVALIDATION == ($this->options & self::FORCE_BYTECODE_INVALIDATION)) {
// Compile cached file into bytecode cache
if (\function_exists('opcache_invalidate') && filter_var(ini_get('opcache.enable'), FILTER_VALIDATE_BOOLEAN)) {
@opcache_invalidate($key, true);
} elseif (\function_exists('apc_compile_file')) {
apc_compile_file($key);
}
}
return;
}
throw new \RuntimeException(sprintf('Failed to write cache file "%s".', $key));
}
public function getTimestamp($key)
{
if (!file_exists($key)) {
return 0;
}
return (int) @filemtime($key);
}
}
class_alias('Twig\Cache\FilesystemCache', 'Twig_Cache_Filesystem');
if (!$this->isAutoReload() || $this->isTemplateFresh($name, $this->cache->getTimestamp($key))) {
$this->cache->load($key);
}
$source = null;
if (!class_exists($cls, false)) {
$loader = $this->getLoader();
if (!$loader instanceof SourceContextLoaderInterface) {
$source = new Source($loader->getSource($name), $name);
} else {
$source = $loader->getSourceContext($name);
}
$content = $this->compileSource($source);
if ($this->bcWriteCacheFile) {
$this->writeCacheFile($key, $content);
} else {
$this->cache->write($key, $content);
$this->cache->load($key);
}
if (!class_exists($mainCls, false)) {
/* Last line of defense if either $this->bcWriteCacheFile was used,
* $this->cache is implemented as a no-op or we have a race condition
* where the cache was cleared between the above calls to write to and load from
* the cache.
*/
eval('?>'.$content);
}
}
if (!class_exists($cls, false)) {
throw new RuntimeError(sprintf('Failed to load Twig template "%s", index "%s": cache might be corrupted.', $name, $index), -1, $source);
}
}
if (!$this->runtimeInitialized) {
$this->initRuntime();
/**
* Loads a template internal representation.
*
* This method is for internal use only and should never be called
* directly.
*
* @param string $name The template name
* @param int $index The index if it is an embedded template
*
* @return \Twig_TemplateInterface A template instance representing the given template name
*
* @throws LoaderError When the template cannot be found
* @throws RuntimeError When a previously generated cache is corrupted
* @throws SyntaxError When an error occurred during compilation
*
* @internal
*/
public function loadTemplate($name, $index = null)
{
return $this->loadClass($this->getTemplateClass($name), $name, $index);
}
/**
* @internal
*/
public function loadClass($cls, $name, $index = null)
{
$mainCls = $cls;
if (null !== $index) {
$cls .= '___'.$index;
}
if (isset($this->loadedTemplates[$cls])) {
return $this->loadedTemplates[$cls];
}
if (!class_exists($cls, false)) {
if ($this->bcGetCacheFilename) {
$key = $this->getCacheFilename($name);
} else {
*
* @param string|TemplateWrapper|\Twig\Template $name The template name
*
* @throws LoaderError When the template cannot be found
* @throws RuntimeError When a previously generated cache is corrupted
* @throws SyntaxError When an error occurred during compilation
*
* @return TemplateWrapper
*/
public function load($name)
{
if ($name instanceof TemplateWrapper) {
return $name;
}
if ($name instanceof Template) {
return new TemplateWrapper($this, $name);
}
return new TemplateWrapper($this, $this->loadTemplate($name));
}
/**
* Loads a template internal representation.
*
* This method is for internal use only and should never be called
* directly.
*
* @param string $name The template name
* @param int $index The index if it is an embedded template
*
* @return \Twig_TemplateInterface A template instance representing the given template name
*
* @throws LoaderError When the template cannot be found
* @throws RuntimeError When a previously generated cache is corrupted
* @throws SyntaxError When an error occurred during compilation
*
* @internal
*/
public function loadTemplate($name, $index = null)
}
$key = null;
$output = false;
if ( false !== $expires ) {
ksort($data);
$key = md5($file.json_encode($data));
$output = $this->get_cache($key, self::CACHEGROUP, $cache_mode);
}
if ( false === $output || null === $output ) {
$twig = $this->get_twig();
if ( strlen($file) ) {
$loader = $this->get_loader();
$result = $loader->getCacheKey($file);
do_action('timber_loader_render_file', $result);
}
$data = apply_filters('timber_loader_render_data', $data);
$data = apply_filters('timber/loader/render_data', $data, $file);
$template = $twig->load($file);
$output = $template->render($data);
}
if ( false !== $output && false !== $expires && null !== $key ) {
$this->delete_cache();
$this->set_cache($key, $output, self::CACHEGROUP, $expires, $cache_mode);
}
$output = apply_filters('timber_output', $output);
return apply_filters('timber/output', $output, $data, $file);
}
protected function delete_cache() {
Cleaner::delete_transients();
}
/**
* Get first existing template.
*
* @param array|string $templates Name(s) of the Twig template(s) to choose from.
* @return string|bool Name of chosen template, otherwise false.
if ( $via_render ) {
$file = apply_filters('timber_render_file', $file);
} else {
$file = apply_filters('timber_compile_file', $file);
}
$output = false;
if ($file !== false) {
if ( is_null($data) ) {
$data = array();
}
if ( $via_render ) {
$data = apply_filters('timber_render_data', $data);
} else {
$data = apply_filters('timber_compile_data', $data);
}
$output = $loader->render($file, $data, $expires, $cache_mode);
} else {
if ( is_array($filenames) ) {
$filenames = implode(", ", $filenames);
}
Helper::error_log( 'Error loading your template files: '.$filenames.'. Make sure one of these files exists.' );
}
do_action('timber_compile_done');
return $output;
}
/**
* Compile a string.
*
* @api
* @example
* ```php
* $data = array(
* 'username' => 'Jane Doe',
* );
$twig = $dummy_loader->get_twig();
$template = $twig->createTemplate($string);
return $template->render($data);
}
/**
* Fetch function.
*
* @api
* @param array|string $filenames Name of the Twig file to render. If this is an array of files, Timber will
* render the first file that exists.
* @param array $data Optional. An array of data to use in Twig template.
* @param bool|int $expires Optional. In seconds. Use false to disable cache altogether. When passed an
* array, the first value is used for non-logged in visitors, the second for users.
* Default false.
* @param string $cache_mode Optional. Any of the cache mode constants defined in TimberLoader.
* @return bool|string The returned output.
*/
public static function fetch( $filenames, $data = array(), $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT ) {
$output = self::compile($filenames, $data, $expires, $cache_mode, true);
$output = apply_filters('timber_compile_result', $output);
return $output;
}
/**
* Render function.
*
* Passes data to a Twig file and echoes the output.
*
* @api
* @example
* ```php
* $context = Timber::context();
*
* Timber::render( 'index.twig', $context );
* ```
* @param array|string $filenames Name of the Twig file to render. If this is an array of files, Timber will
* render the first file that exists.
* @param array $data Optional. An array of data to use in Twig template.
* @param bool|int $expires Optional. In seconds. Use false to disable cache altogether. When passed an
* Passes data to a Twig file and echoes the output.
*
* @api
* @example
* ```php
* $context = Timber::context();
*
* Timber::render( 'index.twig', $context );
* ```
* @param array|string $filenames Name of the Twig file to render. If this is an array of files, Timber will
* render the first file that exists.
* @param array $data Optional. An array of data to use in Twig template.
* @param bool|int $expires Optional. In seconds. Use false to disable cache altogether. When passed an
* array, the first value is used for non-logged in visitors, the second for users.
* Default false.
* @param string $cache_mode Optional. Any of the cache mode constants defined in TimberLoader.
* @return bool|string The echoed output.
*/
public static function render( $filenames, $data = array(), $expires = false, $cache_mode = Loader::CACHE_USE_DEFAULT ) {
$output = self::fetch($filenames, $data, $expires, $cache_mode);
echo $output;
return $output;
}
/**
* Render a string with Twig variables.
*
* @api
* @example
* ```php
* $data = array(
* 'username' => 'Jane Doe',
* );
*
* Timber::render_string( 'Hi {{ username }}, I’m a string with a custom Twig variable', $data );
* ```
* @param string $string A string with Twig variables.
* @param array $data An array of data to use in Twig template.
* @return bool|string
*/
$context['title'] = __('Archive', $theme->details()['name']);
if (is_day()) {
$context['title'] = __('Archive:', $theme->details()['name']) . ' ' . get_the_date('j F Y');
} else if (is_month()) {
$context['title'] = __('Archive:', $theme->details()['name']) . ' ' . get_the_date('F Y');
} else if (is_year()) {
$context['title'] = __('Archive:', $theme->details()['name']) . ' ' . get_the_date('Y');
} else if (is_tag()) {
$context['title'] = single_tag_title('', false);
} else if (is_category()) {
$context['title'] = single_cat_title('', false);
array_unshift($templates, 'archive-' . get_query_var('cat') . '.html.twig');
} else if (is_post_type_archive()) {
$context['title'] = post_type_archive_title('', false);
array_unshift($templates, 'archive-' . get_post_type() . '.html.twig');
}
$context['posts'] = Timber::get_posts();
Timber::render($templates, $context);
/**
* Filters the path of the current template before including it.
*
* @since 3.0.0
*
* @param string $template The path of the template to include.
*/
$template = apply_filters( 'template_include', $template );
if ( $template ) {
/**
* Fires immediately before including the template.
*
* @since 6.9.0
*
* @param string $template The path of the template about to be included.
*/
do_action( 'wp_before_include_template', $template );
include $template;
} elseif ( current_user_can( 'switch_themes' ) ) {
$theme = wp_get_theme();
if ( $theme->errors() ) {
wp_die( $theme->errors() );
}
}
return;
}
<?php
/**
* Loads the WordPress environment and template.
*
* @package WordPress
*/
if ( ! isset( $wp_did_header ) ) {
$wp_did_header = true;
// Load the WordPress library.
require_once __DIR__ . '/wp-load.php';
// Set up the WordPress query.
wp();
// Load the theme template.
require_once ABSPATH . WPINC . '/template-loader.php';
}
<?php /** * Front to the WordPress application. This file doesn't do anything, but loads * wp-blog-header.php which does and tells WordPress to load the theme. * * @package WordPress */ /** * Tells WordPress to load the WordPress theme and output it. * * @var bool */ define( 'WP_USE_THEMES', true ); /** Loads the WordPress Environment and Template */ require __DIR__ . '/wp-blog-header.php';
| Key | Value |
| TCM_PostShown | |
| TCM_SnippetsWrittenIds | Array ( [5] => Array ( [active] => 1 [trackMode] => 0 [trackPage] => 0 [id] => 5 [name] => GA4 + Fathom [code] => <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-T181RYY20Q"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-T181RYY20Q'); </script> <!-- Fathom - beautiful, simple website analytics --> <script src="https://cdn.usefathom.com/script.js" data-site="HZBZHIAP" defer></script> <!-- / Fathom --> [order] => 1000 [position] => 0 [includeEverywhereActive] => 1 [includeCategoriesActive] => 0 [includeTagsActive] => 0 [exceptCategoriesActive] => 0 [exceptTagsActive] => 0 [deviceType] => Array ( [0] => all ) [includePostsOfType_page_Active] => 0 [includePostsOfType_page] => Array ( [0] => -1 ) [exceptPostsOfType_page_Active] => 0 [includePostsOfType_post_Active] => 0 [includePostsOfType_post] => Array ( [0] => -1 ) [exceptPostsOfType_post_Active] => 0 [codesCount] => 3 [includeCategories] => Array ( ) [includeTags] => Array ( ) [exceptCategories] => Array ( ) [exceptTags] => Array ( ) [exceptPostsOfType_page] => Array ( ) [exceptPostsOfType_post] => Array ( ) [CTC_10002_ProductsIds] => Array ( ) [CTC_10002_CategoriesIds] => Array ( ) [CTC_10002_TagsIds] => Array ( ) [CTC_10001_ProductsIds] => Array ( ) [CTC_10001_CategoriesIds] => Array ( ) [CTC_10001_TagsIds] => Array ( ) [CTC_10003_ProductsIds] => Array ( ) [CTC_10003_CategoriesIds] => Array ( ) [CTC_10003_TagsIds] => Array ( ) ) [3] => Array ( [active] => 1 [trackMode] => 0 [trackPage] => 0 [id] => 3 [name] => GTM [code] => <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PCTSSD6');</script> <!-- End Google Tag Manager --> [order] => 1000 [position] => 0 [includeEverywhereActive] => 1 [includeCategoriesActive] => 0 [includeTagsActive] => 0 [exceptCategoriesActive] => 0 [exceptTagsActive] => 0 [deviceType] => Array ( [0] => all ) [includePostsOfType_page_Active] => 0 [includePostsOfType_page] => Array ( [0] => -1 ) [exceptPostsOfType_page_Active] => 0 [includePostsOfType_post_Active] => 0 [includePostsOfType_post] => Array ( [0] => -1 ) [exceptPostsOfType_post_Active] => 0 [codesCount] => 1 [includeCategories] => Array ( ) [includeTags] => Array ( ) [exceptCategories] => Array ( ) [exceptTags] => Array ( ) [exceptPostsOfType_page] => Array ( ) [exceptPostsOfType_post] => Array ( ) [CTC_10002_ProductsIds] => Array ( ) [CTC_10002_CategoriesIds] => Array ( ) [CTC_10002_TagsIds] => Array ( ) [CTC_10001_ProductsIds] => Array ( ) [CTC_10001_CategoriesIds] => Array ( ) [CTC_10001_TagsIds] => Array ( ) [CTC_10003_ProductsIds] => Array ( ) [CTC_10003_CategoriesIds] => Array ( ) [CTC_10003_TagsIds] => Array ( ) ) ) |
| TCM_SnippetsWrittenMd5 | Array ( [4bd52374af17647c6b5ff69663b1ddb0] => 5 [1d83876615444ee1c2354fd8b20c1d06] => 3 ) |
| TCM_Cache_Query_2_ | Array ( [0] => Array ( [id] => post [text] => Post (post) [name] => Post (post) ) [1] => Array ( [id] => page [text] => Page (page) [name] => Page (page) ) ) |
| Key | Value |
| SERVER_SOFTWARE | nginx |
| REQUEST_URI | /category/marijuana/ |
| USER | fpm200055 |
| HOME | /home/fpm200055 |
| WPENGINE_ACCOUNT | midhudsonaddic |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_X_IS_BOT | 1 |
| HTTP_X_UA_ORIGINAL | CCBot/2.0 (https://commoncrawl.org/faq/) |
| HTTP_X_WPE_REQUEST_ID | ec0b42d3d852b4466b2f5aafc8f8f692 |
| SCRIPT_FILENAME | /nas/content/live/midhudsonaddic/index.php |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_VIA | 1.1 pod-404710 (Varnish/7.7) |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_ACCEPT_LANGUAGE | en-US,en;q=0.5 |
| SERVER_PROTOCOL | HTTP/1.1 |
| PATH_INFO | |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_CF_IPCOUNTRY | US |
| PHP_ADMIN_VALUE | syslog.ident=phperr-midhudsonaddic; newrelic.appname=midhudsonaddic; newrelic.browser_monitoring.auto_instrument=off; newrelic.enabled=off; newrelic.license=; sendmail_path=/bin/sendmail-wrapper.sh 03c9f7ada29a306649df8e0504516929c294daa5 /usr/sbin/sendmail -t -i; |
| SERVER_NAME | midhudsonaddictionrecovery.com |
| CONTENT_TYPE | |
| REQUEST_METHOD | GET |
| REDIRECT_STATUS | 200 |
| REMOTE_PORT | |
| SYSLOG_IDENT | phperr-midhudsonaddic |
| HTTP_CF_RAY | 9cadabb2dd66d6e9-IAD |
| HTTP_X_WPE_INSTALL_NAME | midhudsonaddic |
| HTTP_X_FORWARDED_HOST | midhudsonaddictionrecovery.com |
| HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_WPE_SSL | 1 |
| REMOTE_ADDR | 18.97.14.81 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_X_WPE_EDGE | AN |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| HTTP_CF_CONNECTING_IP | 18.97.14.81, 18.97.14.81, 18.97.14.81 |
| HTTP_RAWHOST | midhudsonaddictionrecovery.com |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| DOCUMENT_ROOT | /nas/content/live/midhudsonaddic |
| CONTENT_LENGTH | 0 |
| PATH_TRANSLATED | /nas/content/live/midhudsonaddic/index.php |
| QUERY_STRING | |
| REQUEST_SCHEME | http |
| IS_WPE | 1 |
| HTTPS | on |
| SERVER_PORT | 80 |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_X_REAL_IP_REMOTE | 172.71.194.53 |
| HTTP_WPE_READONLY | on |
| DOCUMENT_URI | /index.php |
| SCRIPT_NAME | /index.php |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| HTTP_USER_AGENT | CCBot/2.0 (https://commoncrawl.org/faq/) |
| HTTP_HOST | midhudsonaddictionrecovery.com |
| HTTP_X_WPENGINE_PHP_VERSION | 8.2 |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1770580380.7 |
| REQUEST_TIME | 1770580380 |
| Key | Value |
| USER | fpm200055 |
| HOME | /home/fpm200055 |
| WPENGINE_ACCOUNT | midhudsonaddic |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_X_IS_BOT | 1 |
| HTTP_X_UA_ORIGINAL | CCBot/2.0 (https://commoncrawl.org/faq/) |
| HTTP_X_WPE_REQUEST_ID | ec0b42d3d852b4466b2f5aafc8f8f692 |
| REQUEST_URI | /category/marijuana/ |
| SCRIPT_FILENAME | /nas/content/live/midhudsonaddic/index.php |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_VIA | 1.1 pod-404710 (Varnish/7.7) |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_ACCEPT_LANGUAGE | en-US,en;q=0.5 |
| SERVER_PROTOCOL | HTTP/1.1 |
| PATH_INFO | |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_CF_IPCOUNTRY | US |
| PHP_ADMIN_VALUE | syslog.ident=phperr-midhudsonaddic; newrelic.appname=midhudsonaddic; newrelic.browser_monitoring.auto_instrument=off; newrelic.enabled=off; newrelic.license=; sendmail_path=/bin/sendmail-wrapper.sh 03c9f7ada29a306649df8e0504516929c294daa5 /usr/sbin/sendmail -t -i; |
| SERVER_NAME | midhudsonaddictionrecovery.com |
| CONTENT_TYPE | |
| REQUEST_METHOD | GET |
| REDIRECT_STATUS | 200 |
| REMOTE_PORT | |
| SYSLOG_IDENT | phperr-midhudsonaddic |
| HTTP_CF_RAY | 9cadabb2dd66d6e9-IAD |
| HTTP_X_WPE_INSTALL_NAME | midhudsonaddic |
| HTTP_X_FORWARDED_HOST | midhudsonaddictionrecovery.com |
| HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_WPE_SSL | 1 |
| REMOTE_ADDR | 18.97.14.81 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_X_WPE_EDGE | AN |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| HTTP_CF_CONNECTING_IP | 18.97.14.81, 18.97.14.81, 18.97.14.81 |
| HTTP_RAWHOST | midhudsonaddictionrecovery.com |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| DOCUMENT_ROOT | /nas/content/live/midhudsonaddic |
| CONTENT_LENGTH | 0 |
| PATH_TRANSLATED | /nas/content/live/midhudsonaddic/index.php |
| QUERY_STRING | |
| REQUEST_SCHEME | http |
| IS_WPE | 1 |
| HTTPS | on |
| SERVER_PORT | 80 |
| SERVER_SOFTWARE | nginx |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_X_REAL_IP_REMOTE | 172.71.194.53 |
| HTTP_WPE_READONLY | on |
| DOCUMENT_URI | /index.php |
| SCRIPT_NAME | /index.php |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| HTTP_USER_AGENT | CCBot/2.0 (https://commoncrawl.org/faq/) |
| HTTP_HOST | midhudsonaddictionrecovery.com |
| HTTP_X_WPENGINE_PHP_VERSION | 8.2 |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1770580380.7 |
| REQUEST_TIME | 1770580380 |