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] => 2513 [post_author] => 4 [post_date] => 2021-03-23 15:53:14 [post_date_gmt] => 2021-03-23 19:53:14 [post_content] => Over the past several decades, America as a whole has seen a significant increase in addiction cases and treatment admissions. Several areas of the country have been more hard-hit by increasing rates of drug addiction than others - New Jersey is one of these areas. The state of New Jersey has experienced increased rates of opioid abuse and addiction, as well as overdose-related deaths directly linked to opioid narcotics like heroin and prescription painkillers. According to the National Institute on Drug Abuse, there were a total of 67,367 drug-related overdose deaths in the year 2018, and opioid narcotics were directly involved in 46,800 two of these fatalities. In the state of New Jersey, there were 2,900 drug overdose deaths - and roughly 90 percent of all of these deaths (exactly 2,583) were directly linked to opioids. Interestingly enough, the rates of written opioid prescriptions in New Jersey were lower than that of the national average. <h2>Can Sober Living Help Addicted Men and Women?</h2> In the state of New Jersey providers wrote an average of 38.9 prescriptions for every 100 persons, as compared to the US national average of 51.4 prescriptions for 100 persons. Still, the rates of opioid abuse, addiction, and overdose-related death in the state of New Jersey are higher than that of the national average, meaning that more treatment options are needed throughout the state. The good news is that in recent years, numerous treatment centers have been founded in response to the statewide opioid epidemic. In addition to treatment centers, there are more sober living houses in New Jersey than there ever have been. But before finding a sober living in New Jersey and committing to this sober living long-term, you must understand the purpose that sober living serves and that you know exactly what to look for when finding a reputable sober living house for men and women. <img class="alignleft size-full wp-image-2514" src="https://riverbendresidence.com/wp-content/uploads/2021/03/New-Jersey-Sober-Living-for-Men-and-Women.jpg" alt="New Jersey Sober Living for Men and Women " width="600" height="400" /> <h2>More About Sober Living in New Jersey</h2> Sober living is an essential part of every long-term program of recovery. The majority of men and women who struggle with addiction and subsequently enter into a multi-phased recovery program will go through the following phases of clinical care: <strong>Medically monitored detox -</strong> Detox is an important stage of the recovery process in the sense that it helps men and women who are struggling with addiction undergo a safe drug or alcohol withdrawal in a closely monitored environment. Once the individual in question has been physically stabilized, he or she moves on to the next level of care which is usually rehab. <strong>Inpatient drug rehab -</strong> This stage of the recovery process is the most intensive and long-lived, and depending on the severity of the substance abuse disorder, the individual will stay in inpatient drug rehab for between one and three months - even longer if the substance abuse disorder was particularly severe. <strong>Intensive outpatient or outpatient rehab -</strong> Once inpatient treatment is complete the individual transfers to intensive outpatient or outpatient treatment, where he or she continues individual and group therapy and slowly re-integrates into society. Also known as IOP or OP, these two levels of care focus heavily on relapse prevention and the development of vital life skills. <strong>Sober living -</strong> Once an individual has completed inpatient drug rehab, he or she generally transfers immediately into a sober living house. Sober living houses are gender-specific, meaning men live with men and women live with women. Sober living houses provide additional structure and support so that people who are new to sobriety can slowly work towards independent living while being held accountable. <h2>Sober Living in New Jersey for Men and Women</h2> <a href="https://riverbendresidence.com/">Sober living</a> is the final phase of every recovery program, but it is also an important phase - one that improves the likelihood of a person staying sober immensely. If you are looking for sober living in New Jersey for men and women, Riverbend Residence is available to help. Our sober living houses are gender-specific and licensed and accredited through the state of New Jersey. To learn more, give us a call today at <a href="tel:844-505-3447">(844) 505-3447</a> for more information around the clock. [post_title] => New Jersey Sober Living for Men and Women [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => new-jersey-sober-living-men-women [to_ping] => [pinged] => [post_modified] => 2021-03-23 15:53:14 [post_modified_gmt] => 2021-03-23 19:53:14 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=2513 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 2513 [slug] => new-jersey-sober-living-men-women [custom] => Array ( [_edit_lock] => 1616529495:3 [_edit_last] => 3 [_thumbnail_id] => 2514 [_wp_page_template] => default [_yoast_wpseo_focuskw] => New Jersey Sober Living for Men and Women [_yoast_wpseo_metadesc] => If you or a loved one are looking into sober living homes in New Jersey, we offer gender-specific sober living for men and women. [_yoast_wpseo_linkdex] => 69 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_estimated-reading-time-minutes] => 4 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => New Jersey Sober Living for Men and Women | Riverbend Residence [_wp_old_date] => 2021-03-22 ) ) |
| 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 | /new-jersey-sober-living-men-women/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| CONTENT_LENGTH | 0 |
| SERVER_PORT | 80 |
| REMOTE_PORT | |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| HTTP_CF_RAY | 9d8845afbf00be76-CMH |
| HTTP_X_WPE_REQUEST_ID | 54e5e5d3ef67e045453b7a245329d2af |
| SYSLOG_IDENT | phperr-riverbendresid |
| SERVER_PROTOCOL | HTTP/1.1 |
| REDIRECT_STATUS | 200 |
| HTTP_X_IS_BOT | 1 |
| HTTP_X_WPE_SSL | 1 |
| HTTP_WPE_READONLY | on |
| HTTP_ACCEPT_ENCODING | gzip |
| REQUEST_METHOD | GET |
| HTTP_X_WPE_EDGE | AN |
| HTTP_REFERER | https://riverbendresidence.com/new-jersey-sober-living-men-women |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_HOST | riverbendresidence.com |
| QUERY_STRING | |
| IS_WPE | 1 |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| PATH_INFO | |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| REQUEST_SCHEME | http |
| HTTPS | on |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_VIA | 1.1 pod-404710 (Varnish/trunk) |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| REMOTE_ADDR | 216.73.216.179 |
| DOCUMENT_URI | /index.php |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| SCRIPT_NAME | /index.php |
| CONTENT_TYPE | |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_REAL_IP_REMOTE | 104.23.197.125 |
| HTTP_CF_CONNECTING_IP | 216.73.216.179, 216.73.216.179, 216.73.216.179 |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| PHP_ADMIN_VALUE | 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; newrelic.enabled=off; |
| SERVER_NAME | riverbendresidence.com |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_ACCEPT | */* |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1772872583.66 |
| REQUEST_TIME | 1772872583 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| CONTENT_LENGTH | 0 |
| SERVER_PORT | 80 |
| REMOTE_PORT | |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| HTTP_CF_RAY | 9d8845afbf00be76-CMH |
| HTTP_X_WPE_REQUEST_ID | 54e5e5d3ef67e045453b7a245329d2af |
| SYSLOG_IDENT | phperr-riverbendresid |
| SERVER_PROTOCOL | HTTP/1.1 |
| REDIRECT_STATUS | 200 |
| HTTP_X_IS_BOT | 1 |
| HTTP_X_WPE_SSL | 1 |
| HTTP_WPE_READONLY | on |
| HTTP_ACCEPT_ENCODING | gzip |
| REQUEST_METHOD | GET |
| HTTP_X_WPE_EDGE | AN |
| HTTP_REFERER | https://riverbendresidence.com/new-jersey-sober-living-men-women |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_HOST | riverbendresidence.com |
| QUERY_STRING | |
| IS_WPE | 1 |
| SERVER_SOFTWARE | nginx |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| PATH_INFO | |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| REQUEST_SCHEME | http |
| HTTPS | on |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_VIA | 1.1 pod-404710 (Varnish/trunk) |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| REMOTE_ADDR | 216.73.216.179 |
| DOCUMENT_URI | /index.php |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| SCRIPT_NAME | /index.php |
| CONTENT_TYPE | |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_REAL_IP_REMOTE | 104.23.197.125 |
| HTTP_CF_CONNECTING_IP | 216.73.216.179, 216.73.216.179, 216.73.216.179 |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| PHP_ADMIN_VALUE | 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; newrelic.enabled=off; |
| SERVER_NAME | riverbendresidence.com |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_ACCEPT | */* |
| REQUEST_URI | /new-jersey-sober-living-men-women/ |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1772872583.66 |
| REQUEST_TIME | 1772872583 |