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);
}
break;
}
}
if ( ! $template ) {
$template = get_index_template();
}
/**
* 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 ) {
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] => 1550 [post_author] => 4 [post_date] => 2020-10-01 03:01:08 [post_date_gmt] => 2020-10-01 07:01:08 [post_content] => Addiction recovery is a multi-phased process - one that includes medical detox, a continuation of clinical care, and long-term aftercare planning. In most cases, the early recovery process will ideally look somewhat like this: <ol> <li><em>Medically monitored detox.</em> During this stage of the recovery process, the individual undergoes drug or alcohol withdrawal in a safe and supportive environment. He or she will be closely monitored by a team of medical professionals, and withdrawal symptoms will be treated effectively with a variety of proven detox methods as soon as they arise. While an individual is in medical detox an aftercare program will be developed, which will include a seamless transition to the next level of clinical care. In most cases, the next level of clinical care is inpatient treatment (or drug and alcohol rehab).</li> <li><em>Inpatient or residential addiction treatment.</em> This stage of the addiction recovery process is also known as “rehab.” Individuals who were recently physically stabilized in a medical detox facility will move on to drug and alcohol rehab, where they will stay for between one and three months (longer if the case of addiction was especially severe or if there were any significant underlying disorders, such as mental illness or unresolved trauma). This stage of the recovery process consists of intensive therapeutic intervention and the development of healthy coping mechanisms and life skills.</li> <li><em>Intensive outpatient treatment and sober living.</em> Once an individual completes inpatient treatment he or she will transfer directly to a sober living home. It is important to make sure that there is no time gap between inpatient treatment and sober living, seeing as the relapse rates for those who complete inpatient treatment and do not immediately enter into a sober living environment are exceptionally high. While in a sober living house the individual will continue in his or her program of clinical care with an intensive outpatient program (IOP). The IOP program will meet five days a week for several hours every day and will include a continuation of the group and individual therapy. IOP also allows for the honing of relapse prevention skills.</li> <li><em>Outpatient treatment and sober living.</em> While still living in a sober living house the individual will continue with an outpatient treatment program, which is essentially the same set up as IOP but is slightly less of a commitment. In most cases, individuals who are in outpatient treatment will meet three or four times a week for only several hours every day. They will be able to maintain a part or full-time job while still receiving some level of clinical care.</li> <li>After around six months (or longer) the individual will move out of the sober living facility and transition back to fully independent living. He or she will have developed a viable aftercare plan while in a sober living house and will implement that plan to stay sober long-term. Generally speaking, aftercare consists of ongoing individual therapy and daily 12 step meeting involvement.</li> </ol> <img class="alignleft size-full wp-image-1551" src="https://riverbendresidence.com/wp-content/uploads/2020/09/What-is-the-Next-Step-After-Sober-Living.jpg" alt="What is the Next Step After Sober Living? " width="600" height="400" /> <h2>What Happens After You Move Out of a Halfway House?</h2> What happens once an individual moves on from sober living? Transitioning back to fully independent living can seem somewhat overwhelming or intimidating at first. The level of personal freedom will be new, and there will be no one to keep you accountable but yourself. The goal of sober living housing is to prepare men and women for the recovery journey ahead, and for success in sobriety without the built-in structure and constantly available support network. Every reputable sober living house - like <a href="https://riverbendresidence.com/">Riverbend Residence</a> - will make sure that the transition is smooth and stress-free, and that residents are fully prepared to keep themselves accountable before they make the transition. What happens after sober living is a return to daily life! We want to make sure that residents are nothing but prepared and excited to take the next step on the lifelong road to recovery. If you're interested in our sober living and treatment programs, give us a call around the clock at <a href="tel:844-505-3447">(844) 505-3447</a> for more information. Having the right sober support system in place can mean the difference between staying clean after sober living or going back to your old ways and experiencing a relapse. [post_title] => What is the Next Step After Sober Living? [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => next-step-after-sober-living [to_ping] => [pinged] => [post_modified] => 2020-10-01 03:01:08 [post_modified_gmt] => 2020-10-01 07:01:08 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=1550 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 1550 [slug] => next-step-after-sober-living [custom] => Array ( [_edit_lock] => 1601558429:3 [_edit_last] => 3 [_thumbnail_id] => 1551 [_wp_page_template] => default [_yoast_wpseo_focuskw] => Next Step After Sober Living [_yoast_wpseo_metadesc] => Recovery from substance use disorders is a multi-step approach for the highest success rate and this means time spent in a sober living home. [_yoast_wpseo_linkdex] => 67 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => What is the Next Step After Sober Living? | 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 | /next-step-after-sober-living/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| CONTENT_TYPE | |
| SERVER_PROTOCOL | HTTP/1.1 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| HTTP_ACCEPT_LANGUAGE | en-US,en;q=0.5 |
| SERVER_NAME | riverbendresidence.com |
| REMOTE_ADDR | 18.97.9.175 |
| REQUEST_METHOD | GET |
| REMOTE_PORT | |
| 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; |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_WPE_SSL | 1 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| QUERY_STRING | |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_CF_RAY | 9cb1e4405b4207fc-IAD |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_HOST | riverbendresidence.com |
| HTTP_VIA | 1.1 pod-404710 (Varnish/7.7) |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_CF_CONNECTING_IP | 18.97.9.175, 18.97.9.175, 18.97.9.175 |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| HTTP_USER_AGENT | CCBot/2.0 (https://commoncrawl.org/faq/) |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_X_REAL_IP_REMOTE | 172.70.38.112 |
| HTTP_X_WPE_REQUEST_ID | ead47cafbb2ad6ac734130f664e8082e |
| REQUEST_SCHEME | http |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_X_UA_ORIGINAL | CCBot/2.0 (https://commoncrawl.org/faq/) |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| PATH_INFO | |
| REDIRECT_STATUS | 200 |
| HTTPS | on |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
| IS_WPE | 1 |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_X_IS_BOT | 1 |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_WPE_READONLY | on |
| SYSLOG_IDENT | phperr-riverbendresid |
| CONTENT_LENGTH | 0 |
| SERVER_PORT | 80 |
| DOCUMENT_URI | /index.php |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| SCRIPT_NAME | /index.php |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1770624640.13 |
| REQUEST_TIME | 1770624640 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| CONTENT_TYPE | |
| SERVER_PROTOCOL | HTTP/1.1 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| HTTP_ACCEPT_LANGUAGE | en-US,en;q=0.5 |
| SERVER_NAME | riverbendresidence.com |
| REMOTE_ADDR | 18.97.9.175 |
| REQUEST_METHOD | GET |
| REMOTE_PORT | |
| 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; |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_WPE_SSL | 1 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| QUERY_STRING | |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_CF_RAY | 9cb1e4405b4207fc-IAD |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_HOST | riverbendresidence.com |
| HTTP_VIA | 1.1 pod-404710 (Varnish/7.7) |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_CF_CONNECTING_IP | 18.97.9.175, 18.97.9.175, 18.97.9.175 |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| HTTP_USER_AGENT | CCBot/2.0 (https://commoncrawl.org/faq/) |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_X_REAL_IP_REMOTE | 172.70.38.112 |
| HTTP_X_WPE_REQUEST_ID | ead47cafbb2ad6ac734130f664e8082e |
| REQUEST_SCHEME | http |
| SERVER_SOFTWARE | nginx |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_X_UA_ORIGINAL | CCBot/2.0 (https://commoncrawl.org/faq/) |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| PATH_INFO | |
| REDIRECT_STATUS | 200 |
| HTTPS | on |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
| IS_WPE | 1 |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_X_IS_BOT | 1 |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_WPE_READONLY | on |
| SYSLOG_IDENT | phperr-riverbendresid |
| CONTENT_LENGTH | 0 |
| SERVER_PORT | 80 |
| DOCUMENT_URI | /index.php |
| REQUEST_URI | /next-step-after-sober-living/ |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| SCRIPT_NAME | /index.php |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1770624640.13 |
| REQUEST_TIME | 1770624640 |