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);
/**
* 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 ) {
/**
* 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] => 2308 [post_author] => 4 [post_date] => 2021-02-15 11:59:38 [post_date_gmt] => 2021-02-15 16:59:38 [post_content] => Sober living homes were developed to help men and women who are new to sobriety seamlessly transition from inpatient drug and alcohol rehab back into fully independent living while maintaining personal accountability. Sober living residences support residents as they navigate early recovery, and require them to follow a certain set of guidelines that were developed to help them stay sober and become fully functioning members of society. While it is recommended that everyone new to sobriety enters into a sober living home, this type of environment is especially beneficial for those who might otherwise lack a strong support system, who have struggled to stay sober in the past (experiencing one or more relapses) or who would not otherwise have access to a safe and stable place to live. At <a href="https://riverbendresidence.com/">Riverbend Residence</a> we have carefully developed four gender-specific sober living homes that serve men and women of all ages in Sparta, New Jersey, and all surrounding areas. If you have recently completed inpatient treatment and are looking to take the next logical step on the road to recovery, give us a call today. We are more than happy to answer any additional questions you may have, and schedule an in-person tour so that you can take a closer look at our comfortable, sobriety-friendly homes. <img class="alignleft size-full wp-image-2310" src="https://riverbendresidence.com/wp-content/uploads/2021/02/How-do-you-get-into-a-sober-living-house-1.jpg" alt="How Do You Get Into a Sober Living House" width="600" height="400" /> <h2>More About Finding a Recovery Residence</h2> In the meantime, we have mapped out several questions that you will likely have regarding the overall sober living house experience. How much does a sober living house cost? Will you be in your bedroom, or will you be crammed into a tiny space with a bunch of other recovering men or women? How do you even get into a sober living house? First of all, sober living housing costs vary depending on the residence and depending on the unique needs of each person. <h2>What To Look For in a Great Recovery Residence</h2> At Riverbend Residence we understand that active addiction leaves most people in a very unfortunate financial situation and that financial independence is a personal goal that must be worked towards. If you would like to learn more about the coverage options we offer, simply call us today and explain your current circumstances. There are rules and regulations in the state of New Jersey that put a firm cap on how many men or women can live in one single sober home. We abide by all regulations and offer private and semi-private bedrooms to all of our residents. Our main priority is ensuring that every one of our residents feels as safe and as comfortable as possible. As far as getting into a sober home - what is the process? What are the requirements? We have compiled a checklist below - and remember, if you have any additional questions we are more than happy to answer them in detail the moment you give us a call. How to get into a reputable recovery residence? Follow these steps and you'll be on the right track: <ul> <li>Most sober living homes require that you have previously completed a higher level of clinical care, which typically includes medically monitored detox and inpatient rehab.</li> <li>Find a sober living home that is both gender-specific and licensed through the state of New Jersey. Do your research. Call potential options and ask them for an alumni list, and speak to people who lived in the house previously and who are still sober.</li> <li>Ask to take an in-person tour of several different houses. Look for a house that is kept clean and tidy, and one that requires residents to follow a strict set of guidelines.</li> </ul> <h2>Contact Our Gender-Specific Recovery Residences</h2> At R<a href="https://riverbendresidence.com">iverbend Residence</a>, we are dedicated to providing our residents with the life skills and additional support they need to thrive in early sobriety. If you would like to learn more about our gender-specific and fully accredited sober homes in Sparta, New Jersey, reach out to us today at <a href="tel:844-505-3447">(844) 505-3447</a> for more information. We look forward to speaking with you more in-depth and scheduling an in-person facility tour at your earliest possible convenience. [post_title] => How Do You Get Into a Recovery Residence [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => how-do-you-get-into-recovery-residence [to_ping] => [pinged] => [post_modified] => 2021-02-15 11:59:38 [post_modified_gmt] => 2021-02-15 16:59:38 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=2308 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 2308 [slug] => how-do-you-get-into-recovery-residence [custom] => Array ( [_edit_lock] => 1613408537:3 [_edit_last] => 3 [_thumbnail_id] => 2310 [_wp_page_template] => default [_yoast_wpseo_focuskw] => How Do You Get Into a Sober Living House [_yoast_wpseo_metadesc] => If you or a loved one have completed addiction treatment and are wondering how to get into a recovery residence, we have solutions available. [_yoast_wpseo_linkdex] => 64 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_estimated-reading-time-minutes] => 4 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => How Do You Get Into a Recovery Residence | Riverbend Residences ) ) |
| 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 | /how-do-you-get-into-recovery-residence/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WPE_SSL | 1 |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_ACCEPT_ENCODING | gzip |
| IS_WPE | 1 |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| SYSLOG_IDENT | phperr-riverbendresid |
| SERVER_NAME | riverbendresidence.com |
| CONTENT_TYPE | |
| REQUEST_SCHEME | http |
| HTTPS | on |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| HTTP_HOST | riverbendresidence.com |
| DOCUMENT_URI | /index.php |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| REQUEST_METHOD | GET |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_CF_IPCOUNTRY | US |
| REMOTE_ADDR | 216.73.216.155 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_X_IS_BOT | 1 |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| SERVER_PROTOCOL | HTTP/1.1 |
| SCRIPT_NAME | /index.php |
| REDIRECT_STATUS | 200 |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_CF_RAY | 9e1cc60ddc2924d3-CMH |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_WPE_REQUEST_ID | 666e35da21aba2337937c5b92e4675a6 |
| HTTP_X_REAL_IP_REMOTE | 104.23.197.124 |
| HTTP_WPE_READONLY | on |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| PATH_INFO | |
| QUERY_STRING | |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_CF_CONNECTING_IP | 216.73.216.155, 216.73.216.155, 216.73.216.155 |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| 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=; |
| CONTENT_LENGTH | 0 |
| SERVER_PORT | 80 |
| REMOTE_PORT | |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_VIA | 1.1 pod-404710 (Varnish/trunk) |
| HTTP_REFERER | https://riverbendresidence.com/?p=2308 |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_ACCEPT | */* |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1774429734.08 |
| REQUEST_TIME | 1774429734 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WPE_SSL | 1 |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_ACCEPT_ENCODING | gzip |
| IS_WPE | 1 |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| SYSLOG_IDENT | phperr-riverbendresid |
| SERVER_NAME | riverbendresidence.com |
| CONTENT_TYPE | |
| REQUEST_SCHEME | http |
| HTTPS | on |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| HTTP_HOST | riverbendresidence.com |
| DOCUMENT_URI | /index.php |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| REQUEST_METHOD | GET |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_CF_IPCOUNTRY | US |
| REMOTE_ADDR | 216.73.216.155 |
| SERVER_SOFTWARE | nginx |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_X_IS_BOT | 1 |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| SERVER_PROTOCOL | HTTP/1.1 |
| SCRIPT_NAME | /index.php |
| REDIRECT_STATUS | 200 |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_CF_RAY | 9e1cc60ddc2924d3-CMH |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_WPE_REQUEST_ID | 666e35da21aba2337937c5b92e4675a6 |
| HTTP_X_REAL_IP_REMOTE | 104.23.197.124 |
| HTTP_WPE_READONLY | on |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| PATH_INFO | |
| QUERY_STRING | |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_CF_CONNECTING_IP | 216.73.216.155, 216.73.216.155, 216.73.216.155 |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| 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=; |
| REQUEST_URI | /how-do-you-get-into-recovery-residence/ |
| CONTENT_LENGTH | 0 |
| SERVER_PORT | 80 |
| REMOTE_PORT | |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_VIA | 1.1 pod-404710 (Varnish/trunk) |
| HTTP_REFERER | https://riverbendresidence.com/?p=2308 |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_ACCEPT | */* |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1774429734.08 |
| REQUEST_TIME | 1774429734 |