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] => 1773 [post_author] => 4 [post_date] => 2020-11-04 16:42:52 [post_date_gmt] => 2020-11-04 21:42:52 [post_content] => Once an individual has completed the initial stages of the addiction treatment process, he or she will move on to a comprehensive program of aftercare. In most cases, this includes a continuation of clinical care in an intensive outpatient or outpatient program and a transfer from a residential rehab to a sober living home. It is not uncommon for individuals who recently completed inpatient treatment to want to move home and continue with their lives. Isn’t three months of intensive clinical treatment good enough? Is aftercare necessary? <h2>Sober Living Houses Are Safe for Recovery</h2> The truth is, people are the most vulnerable to relapse during the few months after they complete inpatient treatment. Transferring directly into a reputable sober living home in the same area is highly recommended - most individuals who commit to sober living maintain sobriety for years to come. Of course, when it comes to finding the right sober living home for you and your unique needs and requirements, you may have several concerns. One of the most common concerns is whether or not sober living homes are safe places to live. <img class="alignleft size-full wp-image-1774" src="https://riverbendresidence.com/wp-content/uploads/2020/11/Are-Sober-Living-Homes-Safe-Places.jpg" alt="Are Sober Living Homes Safe Places? " width="600" height="400" /> <h2>Are Sober Living Homes Dangerous?</h2> Not all sober living houses were created equally, therefore not all sober living homes are safe. You must wind up in a reputable, licensed, accredited and gender-specific environment - one that consistently prioritizes the sobriety and overall well-being of each client. Sadly, because addiction has become such a prevalent and widespread issue throughout the state of New Jersey, many halfway houses have been popping up throughout the state that does not necessarily keep the well-being of their residents in mind. <h2>Flop Houses Are Not Safe Residences</h2> They view the current opioid epidemic as an opportunity for profit and prioritize their financial endeavors over all else - which often has dire consequences. These halfway houses, often called “flop houses,” are truly the antithesis of safe. If you're interested in a sober living home for yourself or a loved one, you want the halfway house to be safe and comfortable. There are several ways to effectively tell whether or not a sober home is safe, including the following: <ul> <li>If the house is not gender-specific, it is probably not safe. If you are looking into a sober living home be sure that it is female-specific or male-specific.</li> <li>Safe sober living homes are clean, tidy, and structured.</li> <li>Safe sober living homes have support staff members available around-the-clock.</li> <li>If a sober home is safe, it has a zero-tolerance policy, meaning that substance use is never allowed under any circumstances.</li> <li>All safe sober living homes require residents to stick to a strict curfew, and people other than residents are never allowed on the property. In some cases, the sponsors or immediate family members of a resident might be allowed on the property with pre-approval.</li> </ul> <h2>Riverbend Residence - Safe Sober Living</h2> We at <a href="https://riverbendresidence.com/">Riverbend Residence</a>, pride ourselves on providing men and women in New Jersey with the safest and most comfortable sober living experience available. Our program was specifically designed to help residents continue in their recovery programs, laying a solid foundation for continued success once they transfer back into fully independent living. Our safe and structured program holds each resident to a high standard, implementing a solid set of rules and regulations geared towards helping them maintain accountability while becoming productive members of the community. If you have recently completed inpatient treatment and are looking for the next appropriate level of care, we are available to help. Not only does our structured environment provide residents with an unmatched level of safety, but our luxury-style sober living homes are monitored around-the-clock to ensure that all residents are safe and staying on the right path. For more information on our gender-specific New Jersey sober homes, please reach out to us at <a href="tel:844-505-3447">(844) 505-3447</a> today. We will gladly set up an in-person facility tour and answer any additional questions you may have. [post_title] => Are Sober Living Homes Safe Places? [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => are-sober-living-homes-safe-places [to_ping] => [pinged] => [post_modified] => 2020-11-04 16:42:52 [post_modified_gmt] => 2020-11-04 21:42:52 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=1773 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 1773 [slug] => are-sober-living-homes-safe-places [custom] => Array ( [_edit_lock] => 1604603884:3 [_edit_last] => 3 [_thumbnail_id] => 1774 [_wp_page_template] => default [_yoast_wpseo_focuskw] => Sober Living Homes Safe [_yoast_wpseo_metadesc] => If you're interested in a sober living home for yourself or a loved one, you want the halfway house to be safe and comfortable. [_yoast_wpseo_linkdex] => 71 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => Are Sober Living Homes Safe Places? | Riverbend Residence [_wp_old_date] => 2020-11-02 ) ) |
| 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 | /are-sober-living-homes-safe-places/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| HTTPS | on |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| HTTP_ACCEPT_ENCODING | gzip |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| QUERY_STRING | |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_ACCEPT | */* |
| HTTP_HOST | riverbendresidence.com |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| PATH_INFO | |
| REMOTE_PORT | |
| HTTP_X_WPE_REQUEST_ID | eae4d8a00f81cd2867cdf9a2ca628631 |
| HTTP_REFERER | https://riverbendresidence.com/are-sober-living-homes-safe-places |
| HTTP_X_CACHE_GROUP | normal |
| SYSLOG_IDENT | phperr-riverbendresid |
| SERVER_PROTOCOL | HTTP/1.1 |
| SCRIPT_NAME | /index.php |
| CONTENT_TYPE | |
| REQUEST_SCHEME | http |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_IS_BOT | 1 |
| HTTP_X_FORWARDED_PROTO | https |
| 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; |
| CONTENT_LENGTH | 0 |
| REQUEST_METHOD | GET |
| HTTP_CF_RAY | 9dd982181e48ecfa-CMH |
| HTTP_X_REAL_IP_REMOTE | 104.23.197.124 |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_WPE_SSL | 1 |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_WPE_EDGE | AN |
| HTTP_CF_CONNECTING_IP | 216.73.216.155, 216.73.216.155, 216.73.216.155 |
| HTTP_WPE_READONLY | on |
| HTTP_VIA | 1.1 pod-404710 (Varnish/trunk) |
| HTTP_CF_IPCOUNTRY | US |
| SERVER_NAME | riverbendresidence.com |
| REMOTE_ADDR | 216.73.216.155 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| REDIRECT_STATUS | 200 |
| SERVER_PORT | 80 |
| DOCUMENT_URI | /index.php |
| IS_WPE | 1 |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1773724404.53 |
| REQUEST_TIME | 1773724404 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| HTTPS | on |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| HTTP_ACCEPT_ENCODING | gzip |
| REQUEST_URI | /are-sober-living-homes-safe-places/ |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| QUERY_STRING | |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_ACCEPT | */* |
| HTTP_HOST | riverbendresidence.com |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| PATH_INFO | |
| REMOTE_PORT | |
| HTTP_X_WPE_REQUEST_ID | eae4d8a00f81cd2867cdf9a2ca628631 |
| HTTP_REFERER | https://riverbendresidence.com/are-sober-living-homes-safe-places |
| HTTP_X_CACHE_GROUP | normal |
| SYSLOG_IDENT | phperr-riverbendresid |
| SERVER_PROTOCOL | HTTP/1.1 |
| SCRIPT_NAME | /index.php |
| CONTENT_TYPE | |
| REQUEST_SCHEME | http |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_IS_BOT | 1 |
| HTTP_X_FORWARDED_PROTO | https |
| 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; |
| CONTENT_LENGTH | 0 |
| REQUEST_METHOD | GET |
| HTTP_CF_RAY | 9dd982181e48ecfa-CMH |
| HTTP_X_REAL_IP_REMOTE | 104.23.197.124 |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_WPE_SSL | 1 |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_WPE_EDGE | AN |
| HTTP_CF_CONNECTING_IP | 216.73.216.155, 216.73.216.155, 216.73.216.155 |
| SERVER_SOFTWARE | nginx |
| HTTP_WPE_READONLY | on |
| HTTP_VIA | 1.1 pod-404710 (Varnish/trunk) |
| HTTP_CF_IPCOUNTRY | US |
| SERVER_NAME | riverbendresidence.com |
| REMOTE_ADDR | 216.73.216.155 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| REDIRECT_STATUS | 200 |
| SERVER_PORT | 80 |
| DOCUMENT_URI | /index.php |
| IS_WPE | 1 |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1773724404.53 |
| REQUEST_TIME | 1773724404 |