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] => 1813 [post_author] => 4 [post_date] => 2020-11-09 16:45:02 [post_date_gmt] => 2020-11-09 21:45:02 [post_content] => A sober home is a safe and structured living environment, specifically designed for men and women who are new to addiction recovery and who are looking to maintain their sobriety. Sober homes are considered a necessary phase of every effective program of clinical care. Generally speaking, the multi-phased recovery process consists of the following: <ul> <li>Medically monitored detox</li> <li>Inpatient or residential addiction treatment</li> <li>Intensive outpatient treatment/outpatient treatment</li> <li>Sober living housing</li> <li>Long-term aftercare programming</li> </ul> <img class="alignleft size-full wp-image-1814" src="https://riverbendresidence.com/wp-content/uploads/2020/11/What-is-the-Purpose-of-a-Sober-Home.jpg" alt="What is the Purpose of a Sober Home?" width="600" height="400" /> <h2>The Purpose of a Halfway House</h2> In most cases, an individual will transfer directly from inpatient treatment to sober living. During this phase of the recovery process the individual will be especially susceptible to relapse, so transferring immediately into a sober home is essential. Fortunately, Riverbend Residence works closely with many reputable inpatient treatment centers in New Jersey and all the surrounding areas, allowing clients to move into our sober living homes the day that they complete a higher level of clinical care. <h2>Why Sober Living Homes are Necessary</h2> Other than providing a safe and structured living environment to men and women who are relatively new to sobriety, what is the purpose of a sober home? Sober homes serve many purposes, including the following: <ul> <li>Sober living homes protect residents from relapse. Early recovery can be tricky to navigate, seeing as individuals are still learning to identify and work through their relapse triggers. Sober homes like Riverbend Residence protect residents from relapse by encouraging them to stay accountable and address potential relapse triggers as soon as they arise.</li> <li>They allow residents the opportunity to discuss recovery-related challenges in a supportive group setting. Most reputable sober homes offer group sessions, during which residents have the opportunity to discuss any issues they might face while offering peer support to other residents in the house.</li> <li>They encourage the continued development of crucial life skills. Certain life skills will be taught in sober living, including vocational skills and things like preparing nutritious meals, keeping personal spaces clean, and working towards financial independence while managing personal finances.</li> <li>Sober homes allow individuals to form lasting bonds with other men or women who are in recovery. The built-in support system provided by sober homes is extremely beneficial, and the friendships forged in sober living often last a lifetime.</li> <li>They allow residents to slowly transition back into the “real world.” This transition can be jarring, and should not be attempted all at once. A slow transition is the most effective. Sober homes like Riverbend Residence soften the blow of the transition back to fully independent living while helping residents develop the tools and coping mechanisms they need to stay sober on their own accord.</li> <li>An unmatched level of accountability. It can be difficult for individuals who are new to recovery to keep up with their programs. Reputable sober homes mandate things like daily 12 step meeting attendance, continued clinical care, and ongoing therapy.</li> </ul> <h2>Riverbend Residence - Gender-Specific Sober Living</h2> <a href="https://riverbendresidence.com/">Riverbend Residence</a> has four gender-specific sober homes in Sussex County, New Jersey, serving men and women throughout the state and in all surrounding areas. Our sober home program was carefully designed to provide men and women who are new to sobriety with the additional support they need as they navigate early recovery. We understand how vulnerable individuals can be during this period, and our support staff members work together to provide around-the-clock encouragement and firsthand insight. If you have recently completed a higher level of clinical care and you are ready to continue progressing in your journey of recovery, please feel free to reach out to us at any point in time. We look forward to speaking with you and helping you determine whether or not our sober home is a good fit for you and your personal needs and requirements. For more information or to take an in-person tour, give us a call today at <a href="tel:844-505-3447">(844) 505-3447</a> for more information. [post_title] => What is the Purpose of a Sober Home? [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => what-is-purpose-of-sober-home [to_ping] => [pinged] => [post_modified] => 2020-11-09 16:45:25 [post_modified_gmt] => 2020-11-09 21:45:25 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=1813 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 1813 [slug] => what-is-purpose-of-sober-home [custom] => Array ( [_edit_lock] => 1605023318:3 [_edit_last] => 3 [_thumbnail_id] => 1814 [_wp_page_template] => default [_yoast_wpseo_focuskw] => Purpose of a Sober Home [_yoast_wpseo_metadesc] => A sober home is a safe and structured living environment, specifically designed for men and women who are new to addiction recovery. [_yoast_wpseo_linkdex] => 63 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => What is the Purpose of a Sober Home? | Riverbend Residence [_wp_old_date] => 2020-11-04 ) ) |
| 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-is-purpose-of-sober-home/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| CONTENT_TYPE | |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_WPE_READONLY | on |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_X_WPE_REQUEST_ID | d0e946314a4c533f07fae9f44fba1392 |
| HTTP_CF_IPCOUNTRY | US |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| REQUEST_SCHEME | http |
| IS_WPE | 1 |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| HTTP_X_IS_BOT | 1 |
| HTTP_CF_CONNECTING_IP | 216.73.216.73, 216.73.216.73, 216.73.216.73 |
| HTTPS | on |
| REMOTE_PORT | |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_HOST | riverbendresidence.com |
| HTTP_X_EFPC_ENABLED | true |
| SCRIPT_NAME | /index.php |
| REDIRECT_STATUS | 200 |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WPE_SSL | 1 |
| SERVER_PROTOCOL | HTTP/1.1 |
| HTTP_RAWHOST | riverbendresidence.com |
| SYSLOG_IDENT | phperr-riverbendresid |
| DOCUMENT_URI | /index.php |
| CONTENT_LENGTH | 0 |
| SERVER_PORT | 80 |
| HTTP_ACCEPT | */* |
| HTTP_X_REAL_IP_REMOTE | 104.23.245.136 |
| HTTP_CF_RAY | a092ab3fe8f9b23b-ATL |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_CACHE_GROUP | normal |
| SERVER_NAME | riverbendresidence.com |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| REQUEST_METHOD | GET |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| REMOTE_ADDR | 216.73.216.73 |
| PATH_INFO | |
| QUERY_STRING | |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_FORWARDED_PROTO | https |
| PHP_ADMIN_VALUE | newrelic.enabled=off; newrelic.license=; 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; |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1781034665.03 |
| REQUEST_TIME | 1781034665 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| REQUEST_URI | /what-is-purpose-of-sober-home/ |
| CONTENT_TYPE | |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_WPE_READONLY | on |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_X_WPE_REQUEST_ID | d0e946314a4c533f07fae9f44fba1392 |
| HTTP_CF_IPCOUNTRY | US |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| REQUEST_SCHEME | http |
| IS_WPE | 1 |
| SERVER_SOFTWARE | nginx |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| HTTP_X_IS_BOT | 1 |
| HTTP_CF_CONNECTING_IP | 216.73.216.73, 216.73.216.73, 216.73.216.73 |
| HTTPS | on |
| REMOTE_PORT | |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_HOST | riverbendresidence.com |
| HTTP_X_EFPC_ENABLED | true |
| SCRIPT_NAME | /index.php |
| REDIRECT_STATUS | 200 |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WPE_SSL | 1 |
| SERVER_PROTOCOL | HTTP/1.1 |
| HTTP_RAWHOST | riverbendresidence.com |
| SYSLOG_IDENT | phperr-riverbendresid |
| DOCUMENT_URI | /index.php |
| CONTENT_LENGTH | 0 |
| SERVER_PORT | 80 |
| HTTP_ACCEPT | */* |
| HTTP_X_REAL_IP_REMOTE | 104.23.245.136 |
| HTTP_CF_RAY | a092ab3fe8f9b23b-ATL |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_CACHE_GROUP | normal |
| SERVER_NAME | riverbendresidence.com |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| REQUEST_METHOD | GET |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| REMOTE_ADDR | 216.73.216.73 |
| PATH_INFO | |
| QUERY_STRING | |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_FORWARDED_PROTO | https |
| PHP_ADMIN_VALUE | newrelic.enabled=off; newrelic.license=; 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; |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1781034665.03 |
| REQUEST_TIME | 1781034665 |