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] => 1469 [post_author] => 4 [post_date] => 2020-09-21 17:09:03 [post_date_gmt] => 2020-09-21 21:09:03 [post_content] => Addiction is a complicated disease. In most instances, men and women who suffer at the hands of an addictive disorder are attempting to self-medicate underlying issues. These underlying issues often range significantly, but many times include untreated mental health disorders and unresolved trauma. While in residential treatment, men and women will undergo intensive therapeutic intervention. They will work through past traumatic experiences alongside a licensed and accredited therapist, and they will address any underlying mental health disorders in one-on-one psychiatric sessions. However, it is important to note that all underlying disorders are not resolved simply because the inpatient treatment portion of the multi-phased clinical care continuum comes to an end. For clients to continue recovering, they must commit to a personalized and comprehensive aftercare program. Part of this aftercare program will be continued individual therapy - and another part will be committing to an extended stay at a gender-specific halfway house. <img class="alignleft size-full wp-image-1470" src="https://riverbendresidence.com/wp-content/uploads/2020/09/Do-Couples-Halfway-Houses-Have-Strict-Rules.jpg" alt="Do Couples Halfway Houses Have Strict Rules? " width="600" height="400" /> <h2>What Do Couples Halfway Houses Look Like?</h2> While it might not seem like working through past traumatic experiences and living in a gender-specific halfway house go together, these two experiences are very closely intertwined. In most cases, women go through traumatic experiences at the hands of members of the opposite sex - and vice versa. Because of this, men and women who have not fully worked through their underlying trauma will often engage in self-destructive, “old” behaviors when given the opportunity. It is not uncommon for these self-destructive behaviors to include promiscuous sex. Couples halfway houses are counterintuitive in this way - and several other ways. <h2>Explaining How Couples Sober Living Works</h2> Couples halfway houses might seem like an appealing idea to those who are currently in a relationship, but there are many viable reasons to move into a gender-specific halfway house once inpatient treatment has come to an end. Some of these reasons are as follows: <ul> <li><strong>In many cases, couples will actively use it together.</strong> They will seek treatment independently but at the same time, and then attempt to enter the couple’s halfway house. However, they can prove to be awfully bad influences on one another. If one individual stop taking his or her recovery seriously, the other is liable to follow suit. Separating couples while they are in sober living makes it far more likely for them to heal independently and both achieve long-term recovery.</li> <li><strong>If couples live together in a halfway house, they will inevitably be distracted by one another.</strong> For example, say one individual wants to go to a meeting but the other wants to spend the day at the beach. It is more likely that the meeting-prone partner will be convinced to go to the beach and neglect his or her recovery.</li> <li><strong>It is difficult to live with a significant other, especially when learning to live an entirely new way of life.</strong> Gender-specific halfway houses are far more conducive to recovery because they eliminate all potentially stress-inducing issues, like disagreements and fights (which can be relapse triggers).</li> </ul> <h2>Riverbend Residence - Gender-Specific Sober Living</h2> Gender-specific <a href="https://riverbendresidence.com/sober-living/">halfway houses</a> are conducive to long-term recovery for many reasons. Above all else, they allow residents to heal in a completely safe and supportive environment without any unnecessary distractions. Couples halfway houses not only promote unhealthy behaviors, but they provide distractions to residents who should be focusing their full attention on recovery. It is often suggested that those who are new to recovery do not make any major changes within the first year. This includes entering a new relationship or ending a relationship that you are already in - which can be a major relapse trigger. Living with a significant other is certainly not easy. Of course, living separately from them can be difficult, but it is the best possible option for those who are looking to focus their attention on their sobriety and continue setting a solid foundation for long-term recovery. [post_title] => Do Couples Halfway Houses Have Strict Rules? [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => do-couples-halfway-houses-have-strict-rules [to_ping] => [pinged] => [post_modified] => 2020-09-21 17:09:03 [post_modified_gmt] => 2020-09-21 21:09:03 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=1469 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 1469 [slug] => do-couples-halfway-houses-have-strict-rules [custom] => Array ( [_edit_lock] => 1600789241:3 [_edit_last] => 3 [_thumbnail_id] => 1470 [_wp_page_template] => default [_yoast_wpseo_focuskw] => Couples Halfway Houses [_yoast_wpseo_metadesc] => Couples halfway houses might seem like a good idea to those who are in a relationship, but there are many reasons why they can end up being a disaster. [_yoast_wpseo_linkdex] => 75 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => Do Couples Halfway Houses Have Strict Rules? | 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 | /do-couples-halfway-houses-have-strict-rules/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_ACCEPT | */* |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| HTTPS | on |
| 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_X_IS_BOT | 1 |
| HTTP_X_WPE_SSL | 1 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| PATH_INFO | |
| QUERY_STRING | |
| HTTP_HOST | riverbendresidence.com |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| REMOTE_ADDR | 216.73.216.74 |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| IS_WPE | 1 |
| REDIRECT_STATUS | 200 |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| SERVER_PROTOCOL | HTTP/1.1 |
| DOCUMENT_URI | /index.php |
| CONTENT_TYPE | |
| REMOTE_PORT | |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_WPE_REQUEST_ID | 6bb37dbd380258ffd6685b3c3f007dc4 |
| PHP_ADMIN_VALUE | sendmail_path=/bin/sendmail-wrapper.sh 5b7ea12d5efa8de29e9e6505a5de420da8ba2ef3 /usr/sbin/sendmail -t -i; syslog.ident=phperr-riverbendresid; newrelic.appname=riverbendresid; newrelic.browser_monitoring.auto_instrument=off; newrelic.enabled=off; newrelic.license=; |
| SERVER_NAME | riverbendresidence.com |
| REQUEST_METHOD | GET |
| SERVER_PORT | 80 |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| HTTP_CF_RAY | 9ed70db53d221cc4-CMH |
| HTTP_CF_CONNECTING_IP | 216.73.216.74, 216.73.216.74, 216.73.216.74 |
| SYSLOG_IDENT | phperr-riverbendresid |
| REQUEST_SCHEME | http |
| HTTP_WPE_READONLY | on |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_WPE_EDGE | AN |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_X_REAL_IP_REMOTE | 104.23.243.193 |
| SCRIPT_NAME | /index.php |
| CONTENT_LENGTH | 0 |
| HTTP_X_CACHE_GROUP | normal |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1776383020.49 |
| REQUEST_TIME | 1776383020 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_ACCEPT | */* |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| HTTPS | on |
| 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_X_IS_BOT | 1 |
| HTTP_X_WPE_SSL | 1 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| PATH_INFO | |
| QUERY_STRING | |
| SERVER_SOFTWARE | nginx |
| HTTP_HOST | riverbendresidence.com |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| REMOTE_ADDR | 216.73.216.74 |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| IS_WPE | 1 |
| REDIRECT_STATUS | 200 |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| SERVER_PROTOCOL | HTTP/1.1 |
| DOCUMENT_URI | /index.php |
| CONTENT_TYPE | |
| REMOTE_PORT | |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_WPE_REQUEST_ID | 6bb37dbd380258ffd6685b3c3f007dc4 |
| PHP_ADMIN_VALUE | sendmail_path=/bin/sendmail-wrapper.sh 5b7ea12d5efa8de29e9e6505a5de420da8ba2ef3 /usr/sbin/sendmail -t -i; syslog.ident=phperr-riverbendresid; newrelic.appname=riverbendresid; newrelic.browser_monitoring.auto_instrument=off; newrelic.enabled=off; newrelic.license=; |
| SERVER_NAME | riverbendresidence.com |
| REQUEST_URI | /do-couples-halfway-houses-have-strict-rules/ |
| REQUEST_METHOD | GET |
| SERVER_PORT | 80 |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| HTTP_CF_RAY | 9ed70db53d221cc4-CMH |
| HTTP_CF_CONNECTING_IP | 216.73.216.74, 216.73.216.74, 216.73.216.74 |
| SYSLOG_IDENT | phperr-riverbendresid |
| REQUEST_SCHEME | http |
| HTTP_WPE_READONLY | on |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_WPE_EDGE | AN |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_X_REAL_IP_REMOTE | 104.23.243.193 |
| SCRIPT_NAME | /index.php |
| CONTENT_LENGTH | 0 |
| HTTP_X_CACHE_GROUP | normal |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1776383020.49 |
| REQUEST_TIME | 1776383020 |