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
*/
use Timber\Timber;
/*
* The Template for displaying all single posts
*/
$gantry = Gantry\Framework\Gantry::instance();
$theme = $gantry['theme'];
// We need to render contents of <head> before plugin content gets added.
$context = Timber::get_context();
$context['page_head'] = $theme->render('partials/page_head.html.twig', $context);
$post = Timber::query_post();
$context['post'] = $post;
$context['wp_title'] .= ' - ' . $post->title();
Timber::render(['single-' . $post->ID . '.html.twig', 'single-' . $post->post_type . '.html.twig', 'single.html.twig'], $context);
*/
$template = apply_filters( 'template_include', $template );
$is_stringy = is_string( $template ) || ( is_object( $template ) && method_exists( $template, '__toString' ) );
$template = $is_stringy ? realpath( (string) $template ) : null;
if (
is_string( $template ) &&
( str_ends_with( $template, '.php' ) || str_ends_with( $template, '.html' ) ) &&
is_file( $template ) &&
is_readable( $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 | WP_Post Object ( [ID] => 1375 [post_author] => 4 [post_date] => 2020-09-10 12:07:20 [post_date_gmt] => 2020-09-10 16:07:20 [post_content] => Should pets be allowed at halfway houses, or would they serve as more of a distraction than anything else? This is a highly controversial topic as it stands, one that many halfway house owners do not see eye-to-eye on. The truth of the matter is, most halfway house owners will not allow furry friends of any kind because of allergens and for cleanliness purposes. If there is a dog in the house, for example, and someone who is in desperate need of a sober living facility and who happens to be allergic to dogs will not be able to reside in the house. However, many halfway houses are specifically designated for pet owners. In cases like this, the pet must get along well with other animals and must be initially approved by the owner and the support staff. A dog that regularly attacks cats would not be a good fit for a pet-friendly sober home, for example. However, having a well-behaved, friendly, and calm dog or cat can help with the overall recovery process in several ways. Here are just a few of the ways that having an animal could aid in the recovery process: <ul> <li>Having an animal nearby can help residents stay sober</li> <li>Many residents report that caring for an animal helps them both emotionally and spiritually</li> <li>Some pets are emotional support animals, and they help residents work through severe emotional issues like post-traumatic stress disorder and other mental or emotional health-related issues</li> <li>Having a pet can help build self-esteem because it shows residents that they can successfully care for another living being</li> <li>Pets provide a sense of comfort - they make the halfway house itself feel more like home</li> <li>Pets can provide residents with a sense of purpose and belonging</li> <li>Pets can decrease anxiety, depression, and general feelings of stress</li> <li>Interestingly enough, having a pet can help men and women bolster their sense of spirituality and further work towards developing a relationship with a higher power</li> <li>In some cases, a person’s bond with his or her pet will be so significant that he or she will refuse treatment unless the pet can be present</li> </ul> In some cases, because of all the health benefits that furry friends provide, a halfway house will have one communal pet on-site. This pet will serve as a therapy animal, but residents will not have to care for it completely by themselves, thus it won’t serve as a major distraction the way independently caring for an animal might. <img class="alignleft size-full wp-image-1376" src="https://riverbendresidence.com/wp-content/uploads/2020/09/Do-Halfway-Houses-Allow-Pets.jpg" alt="Do Halfway Houses Allow Pets? " width="600" height="400" /> <h2>There Are Pros and Cons to Pets in Halfway Houses</h2> Just as there are positive aspects of having pets in a sober living setting, there are negative aspects as well. As previously mentioned, having an animal in the house means that those who suffer from allergies will not be able to reside in that specific sober living facility. Pets also can distract residents from their comprehensive recovery programs. For example, someone with a dog who tends to need a lot of attention might not want to leave for intensive outpatient five days a week or spend time at Alcoholics Anonymous meetings away from his or her pet. It is important that the relationship an individual has to his or her animal is healthy, and will not directly interfere with a continuation of clinical care and other addiction treatment methods. <h2>Riverbend Residence - New Jersey Sober Living</h2> At <a href="https://riverbendresidence.com/">Riverbend Residence</a>, we understand how important an individual’s relationship with his or her pet can be. While we do believe that bonds with animals can be healthy and productive, we do not accept pets at our sober living facilities for several reasons - above all else, we want to ensure that our gender-specific halfway houses remain a safe space for all residents. If you have a pet that you are completely unwilling to part with, we are more than happy to point you in the right direction. For more information, please feel free to give us a call at your earliest possible convenience. [post_title] => Do Halfway Houses Allow Pets? [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => do-halfway-houses-allow-pets [to_ping] => [pinged] => [post_modified] => 2020-09-10 12:08:15 [post_modified_gmt] => 2020-09-10 16:08:15 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=1375 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 1375 [slug] => do-halfway-houses-allow-pets [custom] => Array ( [_edit_lock] => 1599754183:3 [_edit_last] => 3 [_thumbnail_id] => 1376 [_wp_page_template] => default [_yoast_wpseo_focuskw] => Pets [_yoast_wpseo_metadesc] => Should pets be allowed at halfway houses and sober homes, or would they serve as more of a distraction than anything else? [_yoast_wpseo_linkdex] => 76 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => Do Halfway Houses Allow Pets? | Riverbend Residence [_wp_old_date] => 2020-09-09 ) ) |
| TCM_SnippetsWrittenIds | Array ( ) |
| TCM_SnippetsWrittenMd5 | Array ( ) |
| 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 | /do-halfway-houses-allow-pets/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| REQUEST_METHOD | GET |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_ACCEPT | */* |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| CONTENT_TYPE | |
| REDIRECT_STATUS | 200 |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_CF_RAY | 9f0389396e88f8bb-CMH |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| SERVER_PROTOCOL | HTTP/1.1 |
| HTTP_X_WPE_SSL | 1 |
| HTTP_CF_CONNECTING_IP | 216.73.217.61, 216.73.217.61, 216.73.217.61 |
| PATH_INFO | |
| IS_WPE | 1 |
| SERVER_PORT | 80 |
| REMOTE_PORT | |
| REMOTE_ADDR | 216.73.217.61 |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| PHP_ADMIN_VALUE | newrelic.appname=riverbendresid; newrelic.browser_monitoring.auto_instrument=off; newrelic.enabled=off; newrelic.license=; sendmail_path=/bin/sendmail-wrapper.sh 5b7ea12d5efa8de29e9e6505a5de420da8ba2ef3 /usr/sbin/sendmail -t -i; syslog.ident=phperr-riverbendresid; |
| SCRIPT_NAME | /index.php |
| HTTP_WPE_READONLY | on |
| HTTP_X_WPE_REQUEST_ID | 00cc11228031115521477111a63772af |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_REAL_IP_REMOTE | 104.23.243.193 |
| SERVER_NAME | riverbendresidence.com |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_HOST | riverbendresidence.com |
| HTTP_X_FORWARDED_PROTO | https |
| SYSLOG_IDENT | phperr-riverbendresid |
| DOCUMENT_URI | /index.php |
| QUERY_STRING | |
| REQUEST_SCHEME | http |
| HTTPS | on |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_X_IS_BOT | 1 |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| CONTENT_LENGTH | 0 |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1776849453.15 |
| REQUEST_TIME | 1776849453 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| REQUEST_METHOD | GET |
| SERVER_SOFTWARE | nginx |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_ACCEPT | */* |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| REQUEST_URI | /do-halfway-houses-allow-pets/ |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| CONTENT_TYPE | |
| REDIRECT_STATUS | 200 |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_CF_RAY | 9f0389396e88f8bb-CMH |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| SERVER_PROTOCOL | HTTP/1.1 |
| HTTP_X_WPE_SSL | 1 |
| HTTP_CF_CONNECTING_IP | 216.73.217.61, 216.73.217.61, 216.73.217.61 |
| PATH_INFO | |
| IS_WPE | 1 |
| SERVER_PORT | 80 |
| REMOTE_PORT | |
| REMOTE_ADDR | 216.73.217.61 |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| PHP_ADMIN_VALUE | newrelic.appname=riverbendresid; newrelic.browser_monitoring.auto_instrument=off; newrelic.enabled=off; newrelic.license=; sendmail_path=/bin/sendmail-wrapper.sh 5b7ea12d5efa8de29e9e6505a5de420da8ba2ef3 /usr/sbin/sendmail -t -i; syslog.ident=phperr-riverbendresid; |
| SCRIPT_NAME | /index.php |
| HTTP_WPE_READONLY | on |
| HTTP_X_WPE_REQUEST_ID | 00cc11228031115521477111a63772af |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_REAL_IP_REMOTE | 104.23.243.193 |
| SERVER_NAME | riverbendresidence.com |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_HOST | riverbendresidence.com |
| HTTP_X_FORWARDED_PROTO | https |
| SYSLOG_IDENT | phperr-riverbendresid |
| DOCUMENT_URI | /index.php |
| QUERY_STRING | |
| REQUEST_SCHEME | http |
| HTTPS | on |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_X_IS_BOT | 1 |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| CONTENT_LENGTH | 0 |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1776849453.15 |
| REQUEST_TIME | 1776849453 |