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] => 1840 [post_author] => 4 [post_date] => 2020-11-12 12:35:40 [post_date_gmt] => 2020-11-12 17:35:40 [post_content] => Recently, rates of drug abuse and addiction have been steadily climbing throughout the state of New Jersey. According to the National Institute on Drug Abuse, rates of opioid addiction throughout New Jersey are especially high. In 2018 alone, roughly 90 percent of all reported drug-related overdose deaths in the state were directly linked to opioid narcotics - namely prescription painkillers and heroin. This equated to 2,583 of 2,900 total fatalities. The recent statewide opioid epidemic has been attributed to numerous factors, including exceptionally high rates of written prescriptions issued by New Jersey providers. It was also reported that during 2018 there were 38.9 opioid prescriptions written per every 100 New Jersey residents. While slightly lower than the national average of 51.4 prescriptions written per 100 residents, the rate is still staggering, and very clearly adds fuel to the fire. <img class="alignleft size-full wp-image-1841" src="https://riverbendresidence.com/wp-content/uploads/2020/11/Sparta-New-Jersey-Sober-Living-Residences.jpg" alt="Sparta, New Jersey Sober Living Residences" width="600" height="400" /> <h2>Find Sparta, New Jersey Sober Homes</h2> In response to the increasingly high addiction cases throughout the state, many medical detox facilities, treatment centers, and sober living houses have been founded. The majority of these facilities are run by experienced men and women who have the best interest of their clients at heart. There are some sober living residences, however, that were developed by individuals who are looking to make a profit off of the misfortune of others rather than go to great lengths to help. When looking for a sober living residence in New Jersey, it is important to do your research and thoroughly vet your options. Our Sparta, New Jersey sober living residences are among the most reputable in the state and have helped many men and women of all ages go on to lead healthy, productive, and sober lives. How do you separate the reputable and effective sober living homes from those that were founded on greed and focused solely on profit? A good place to start is by requesting an in-person tour of the facility. Reputable sober living residences in Sparta, New Jersey will always: <ul> <li><strong>Be gender-specific.</strong> If females and males are cohabitating in a halfway house, there is a very good chance that this residence does not have the best interest of their residents in mind. Not only do mixed-gender houses serve as a major distraction, but allowing men and women to cohabitate in very early recovery is simply not appropriate.</li> <li><strong>Be clean and tidy.</strong> Reputable sober living homes require residents to participate in daily chores while actively cleaning up after themselves and keeping common areas clean. If you take a tour of a home that is unclean, messy, and in a state of general disarray, this is a significant red flag and a good indication that the sober house is not actively enforcing rules.</li> <li><strong>Be enforcing a continuation of care</strong>. This often looks like enforcing daily 12 step meetings, attendance, and involvement in step work, attending an intensive outpatient or outpatient program, and continuing with individual therapy whenever deemed necessary.</li> </ul> <h2>Riverbend Residence - Premier Sober Living Housing</h2> <a href="https://riverbendresidence.com/">Riverbend Residence</a> provides men and women of all ages with premier sober living housing in Sparta, New Jersey, and all surrounding areas. Our gender-specific houses are extremely comfortable and highly structured. We always keep the well-being of each resident in the forefront of our minds, ensuring that each individual has access to the tools and resources he or she needs to maintain success in sobriety for years to come. Sober living residences should always provide their residents with a safe and supportive place to continue along in their recovery journeys as they work towards a transition back into fully independent living. We allow our residents to stay for as long as they need to - the length of stay at our Sparta, New Jersey sober living residences depends heavily on individualized needs. For more information or to take an in-person tour of our sober living homes, please reach out to us at any point in time. Sober living is an important part of every multi-phased recovery program, and we are confident that our carefully structured homes are the most comprehensive and personalized available in the state of New Jersey. [post_title] => Sparta, New Jersey Sober Living Residences [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => sparta-new-jersey-sober-living-residences [to_ping] => [pinged] => [post_modified] => 2020-11-12 12:35:40 [post_modified_gmt] => 2020-11-12 17:35:40 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=1840 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 1840 [slug] => sparta-new-jersey-sober-living-residences [custom] => Array ( [_edit_lock] => 1605202515:3 [_edit_last] => 3 [_thumbnail_id] => 1841 [_wp_page_template] => default [_yoast_wpseo_focuskw] => Sparta New Jersey Sober Living [_yoast_wpseo_metadesc] => Our Sparta, New Jersey sober living residences are among the most reputable in the state and have helped many men and women of all ages. [_yoast_wpseo_linkdex] => 73 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => Sparta, New Jersey Sober Living Residences | Riverbend Residence [_wp_old_date] => 2020-11-09 ) ) |
| 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 | /sparta-new-jersey-sober-living-residences/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| REQUEST_SCHEME | http |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| DOCUMENT_URI | /index.php |
| CONTENT_TYPE | |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_WPE_READONLY | on |
| HTTP_X_REAL_IP_REMOTE | 104.23.197.124 |
| HTTP_X_CACHE_GROUP | normal |
| SERVER_PROTOCOL | HTTP/1.1 |
| PATH_INFO | |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| REQUEST_METHOD | GET |
| HTTP_X_IS_BOT | 1 |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| SCRIPT_NAME | /index.php |
| IS_WPE | 1 |
| REDIRECT_STATUS | 200 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_ACCEPT | */* |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| SYSLOG_IDENT | phperr-riverbendresid |
| PHP_VALUE | post_max_size=100M; upload_max_filesize=50M; |
| PHP_ADMIN_VALUE | syslog.ident=phperr-riverbendresid; 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; |
| HTTP_HOST | riverbendresidence.com |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_CF_CONNECTING_IP | 216.73.217.61, 216.73.217.61, 216.73.217.61 |
| HTTP_X_WPE_EDGE | AN |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| HTTPS | on |
| SERVER_PORT | 80 |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| HTTP_X_WPE_REQUEST_ID | 289d377031da0af01a6971eb5141ee79 |
| HTTP_CF_RAY | 9ef31aa50e433cd0-CMH |
| HTTP_CF_IPCOUNTRY | US |
| SERVER_NAME | riverbendresidence.com |
| CONTENT_LENGTH | 0 |
| REMOTE_PORT | |
| HTTP_X_WPE_SSL | 1 |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| REMOTE_ADDR | 216.73.217.61 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_X_FORWARDED_PROTO | https |
| QUERY_STRING | |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1776677151.65 |
| REQUEST_TIME | 1776677151 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| REQUEST_SCHEME | http |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| DOCUMENT_URI | /index.php |
| CONTENT_TYPE | |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_WPE_READONLY | on |
| HTTP_X_REAL_IP_REMOTE | 104.23.197.124 |
| HTTP_X_CACHE_GROUP | normal |
| SERVER_PROTOCOL | HTTP/1.1 |
| PATH_INFO | |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| REQUEST_METHOD | GET |
| HTTP_X_IS_BOT | 1 |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| SCRIPT_NAME | /index.php |
| IS_WPE | 1 |
| REDIRECT_STATUS | 200 |
| SERVER_SOFTWARE | nginx |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_ACCEPT | */* |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| SYSLOG_IDENT | phperr-riverbendresid |
| PHP_VALUE | post_max_size=100M; upload_max_filesize=50M; |
| PHP_ADMIN_VALUE | syslog.ident=phperr-riverbendresid; 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; |
| HTTP_HOST | riverbendresidence.com |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_CF_CONNECTING_IP | 216.73.217.61, 216.73.217.61, 216.73.217.61 |
| HTTP_X_WPE_EDGE | AN |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| HTTPS | on |
| SERVER_PORT | 80 |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| HTTP_X_WPE_REQUEST_ID | 289d377031da0af01a6971eb5141ee79 |
| HTTP_CF_RAY | 9ef31aa50e433cd0-CMH |
| HTTP_CF_IPCOUNTRY | US |
| SERVER_NAME | riverbendresidence.com |
| CONTENT_LENGTH | 0 |
| REMOTE_PORT | |
| HTTP_X_WPE_SSL | 1 |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| REMOTE_ADDR | 216.73.217.61 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_X_FORWARDED_PROTO | https |
| REQUEST_URI | /sparta-new-jersey-sober-living-residences/ |
| QUERY_STRING | |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1776677151.65 |
| REQUEST_TIME | 1776677151 |