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] => 1683 [post_author] => 4 [post_date] => 2020-10-27 12:00:55 [post_date_gmt] => 2020-10-27 16:00:55 [post_content] => A halfway house - also frequently called a sober living home - is a transitional living environment for men or women who are new to addiction recovery and who have already completed a higher level of clinical care (usually medical detox and inpatient treatment). Halfway houses offer structured support, helping residents navigate early sobriety and remain accountable while preparing to transition back into fully independent living. Entering into a halfway house can sometimes be a slightly confusing experience, seeing as there are so many different names for halfway houses. <img class="alignleft size-full wp-image-1684" src="https://riverbendresidence.com/wp-content/uploads/2020/10/What-Are-Other-Names-for-Halfway-Houses.jpg" alt="What Are Other Names for Halfway Houses? " width="600" height="400" /> <h2>Other Names for Halfway Houses</h2> When it comes down to it, no matter what it is called, a halfway house will always provide the same service - a safe and supportive living situation in which newly sober men and women can comfortably thrive in their recovery. Riverbend Residence offers four gender-specific halfway houses in the heart of Sussex County, New Jersey, available to men and women in New Jersey and all surrounding areas. If you have recently completed inpatient drug and alcohol rehab and you are looking to take the next logical step on your journey of recovery, please feel free to reach out to us today to learn more about our New Jersey halfway houses. <h2>Most Common Names for Sober Homes</h2> The naming of halfway houses can get confusing if you don't understand the lingo or are new to recovery. If you are currently searching for the right New Jersey halfway house for you, you might hear the residence called a wide range of other terms for these sober living facilities, and these include: <ul> <li>Transitional living</li> <li>Transitional residences</li> <li>Transitional homes</li> <li>Sober residences</li> <li>Recovery residences</li> <li>Sober living homes</li> <li>Sober living environments</li> <li>Sober homes</li> <li>Recovery homes</li> <li>Recovery houses</li> </ul> It can be confusing trying to juggle so many different terms. In most cases, if a halfway house is referred to as something else, it will be referred to as a sober living home. The important thing is that you know what to look for in a halfway house. Keep your eye out for the following things: <ul> <li><strong>A structured environment.</strong> Reputable halfway houses always have a strict set of rules and guidelines in place to make sure that residents are staying on the right track in their programs of addiction recovery.</li> <li><strong>A clean and tidy living space.</strong> Every halfway house should be enforcing daily chores, requiring residents to keep their personal space and common spaces clean.</li> <li><strong>12 step meeting involvement.</strong> Reputable halfway houses require their residents to participate in at least one 12 step meeting every day while actively working through the 12 steps with a sponsor of the same gender.</li> <li><strong>Helping residents strive for financial independence.</strong> Residents are required to obtain and maintain a job and work towards paying their rent on a bi-weekly or monthly basis.</li> <li><strong>The requirement that all residents stay completely sober.</strong> If a resident is suspected of using a mood or mind-altering substance, he or she will be required to undergo a drug test - if there is any chemical substance present in the system, he or she will be asked to move back into a higher level of clinical care. At Riverbend Residence, we never kick any of our residents out onto the streets without a place to go. We make sure that they are set up with a plan that will get them on the right track and keep them sober long-term.</li> </ul> <h2>Continuing Care - Riverbend Residence</h2> At <a href="https://riverbendresidence.com/">Riverbend Residence</a>, we offer an important part of every long-term continuation of clinical care - an extended stay at a reputable halfway house. If you need gender-specific sober living housing, we are available to help. Simply give us a call for more information or to take an in-person tour of our facilities. We look forward to speaking with you and seeing you soon! [post_title] => What Are Other Names for Halfway Houses? [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => what-are-other-names-for-halfway-houses [to_ping] => [pinged] => [post_modified] => 2020-10-27 12:00:55 [post_modified_gmt] => 2020-10-27 16:00:55 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=1683 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 1683 [slug] => what-are-other-names-for-halfway-houses [custom] => Array ( [_edit_lock] => 1603814720:3 [_edit_last] => 3 [_thumbnail_id] => 1684 [_wp_page_template] => default [_yoast_wpseo_focuskw] => Other Names for Halfway Houses [_yoast_wpseo_metadesc] => The naming of halfway houses can get confusing if you don't understand the lingo or are new to recovery, so let's go over everything. [_yoast_wpseo_linkdex] => 75 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => What Are Other Names for Halfway Houses? | Riverbend Residence ) ) |
| 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 | /what-are-other-names-for-halfway-houses/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_WPE_READONLY | on |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_X_WPE_REQUEST_ID | d5d7b2966d3fdc691c9220aa71ed5416 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| HTTP_X_IS_BOT | 1 |
| REMOTE_ADDR | 216.73.216.117 |
| DOCUMENT_URI | /index.php |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| IS_WPE | 1 |
| HTTPS | on |
| REMOTE_PORT | |
| HTTP_X_WPE_SSL | 1 |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| HTTP_X_CACHE_GROUP | normal |
| SERVER_NAME | riverbendresidence.com |
| SCRIPT_NAME | /index.php |
| HTTP_CF_CONNECTING_IP | 216.73.216.117, 216.73.216.117, 216.73.216.117 |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| 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; |
| PATH_INFO | |
| REDIRECT_STATUS | 200 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_CF_IPCOUNTRY | US |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| QUERY_STRING | |
| SERVER_PORT | 80 |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| SYSLOG_IDENT | phperr-riverbendresid |
| SERVER_PROTOCOL | HTTP/1.1 |
| CONTENT_TYPE | |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_X_EFPC_ENABLED | true |
| HTTP_CF_RAY | a0d0e2d80e1bd806-ATL |
| HTTP_HOST | riverbendresidence.com |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_X_REAL_IP_REMOTE | 108.162.237.130 |
| HTTP_ACCEPT | */* |
| CONTENT_LENGTH | 0 |
| REQUEST_METHOD | GET |
| REQUEST_SCHEME | http |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1781687059.28 |
| REQUEST_TIME | 1781687059 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_WPE_READONLY | on |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_X_WPE_REQUEST_ID | d5d7b2966d3fdc691c9220aa71ed5416 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| HTTP_X_IS_BOT | 1 |
| REMOTE_ADDR | 216.73.216.117 |
| DOCUMENT_URI | /index.php |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| IS_WPE | 1 |
| HTTPS | on |
| REMOTE_PORT | |
| HTTP_X_WPE_SSL | 1 |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| HTTP_X_CACHE_GROUP | normal |
| SERVER_NAME | riverbendresidence.com |
| REQUEST_URI | /what-are-other-names-for-halfway-houses/ |
| SCRIPT_NAME | /index.php |
| HTTP_CF_CONNECTING_IP | 216.73.216.117, 216.73.216.117, 216.73.216.117 |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| 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; |
| PATH_INFO | |
| REDIRECT_STATUS | 200 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_CF_IPCOUNTRY | US |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| QUERY_STRING | |
| SERVER_PORT | 80 |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| SYSLOG_IDENT | phperr-riverbendresid |
| SERVER_PROTOCOL | HTTP/1.1 |
| CONTENT_TYPE | |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_X_EFPC_ENABLED | true |
| HTTP_CF_RAY | a0d0e2d80e1bd806-ATL |
| HTTP_HOST | riverbendresidence.com |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_X_REAL_IP_REMOTE | 108.162.237.130 |
| HTTP_ACCEPT | */* |
| CONTENT_LENGTH | 0 |
| REQUEST_METHOD | GET |
| REQUEST_SCHEME | http |
| SERVER_SOFTWARE | nginx |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1781687059.28 |
| REQUEST_TIME | 1781687059 |