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] => 988 [post_author] => 4 [post_date] => 2020-06-18 00:29:10 [post_date_gmt] => 2020-06-18 04:29:10 [post_content] => Every individual journey of addiction recovery will be marked by distinct phases. In most cases, the phases remain the same - medical detox, inpatient/residential rehab, and aftercare. Aftercare will generally consist of outpatient treatment and a sober living housing situation. Sober living provides those new to sobriety with ongoing support and accountability, making the transition from inpatient rehab back to independent living as seamless as possible. Drug addiction has been a major health-related issue across the United States for decades. Unfortunately, some states are more hard-hit than others, which includes New Jersey. That is why our halfway houses in New Jersey offer an opportunity for men and women to strengthen their recovery from addiction. <img class="wp-image-993 size-full alignleft" src="https://riverbendresidence.com/wp-content/uploads/2020/06/What-to-Look-for-in-New-Jersey-Halfway-Houses-1.jpg" alt="What to Look for in New Jersey Halfway Houses" width="600" height="400" /> <h2>New Jersey and Drug Addiction</h2> New Jersey is one of the states that has suffered extensively at the hands of substance abuse. The National Institute on Drug Abuse reported that the majority of drug-related overdose deaths in New Jersey in 2018 were directly attributed to opioid narcotics. Nearly 90% of reported drug overdose deaths in 2018 involved an opioid - this equates to 2,583 of the total 2,900 deaths. The good news is that overdose-related death is preventable. Those who are struggling with addiction of any kind and are currently residing in the state of New Jersey have many options when it comes to addiction treatment. When looking for a New Jersey halfway house - the third phase of a multi-phased program of recovery - there are certain things to look for. <h2>What to Look for in a Great Halfway House</h2> If you are looking to enter into a <a href="https://riverbendresidence.com/sober-living/">New Jersey sober living</a> house or halfway house after completing addiction treatment, here are several things to look for which will help make your stay pleasant and fulfilling: <ul> <li><strong>Rules and structure.</strong> The structure is a very crucial component of every reputable halfway house. Rules must be implemented and strictly enforced. Most reputable halfway houses will enforce a curfew, make seeking and maintaining a job mandatory, require daily group sessions and AA meetings, and require that bi-weekly drug tests are taken to maintain accountability.</li> <li><strong>Cost and fees.</strong> Most New Jersey halfway houses will charge by the week. It is important to ensure that the house you are committing to is within your price range.</li> <li><strong>The location of the halfway house.</strong> Your halfway house must be close to your treatment center - this way, you can continue outpatient treatment with the same therapists you have already come to thoroughly know.</li> <li><strong>Feelings of safety and comfort.</strong> You want to feel safe and comfortable in the halfway house that you do ultimately choose. This means ensuring that your housemates are all on the same page and the amenities are comfortable.</li> <li><strong>Licensing.</strong> Regulations are a major part of every accredited halfway house. Make sure that the halfway house you are committing to is both licensed and accredited.</li> <li><strong>The ability to continuously learn.</strong> A halfway house is about much more than just living under the same roof as other sober men or women. The program the house offers should be further contributing to your recovery.</li> <li><strong>Association with your inpatient rehab facility.</strong> If your inpatient treatment center recommends a specific New Jersey halfway house, the chances are that it is a good option.</li> <li><strong>Halfway house management.</strong> Who is running the halfway house? People that have lived there before and have maintained years of recovery, or people that are not even sober? Take the staff into careful consideration.</li> <li><strong>Gender-specific housing.</strong> Halfway houses that allow both men and women to live under the same roof are generally not reputable - keep this in mind.</li> </ul> <h2>Riverbend Residence - Halfway Houses in New Jersey</h2> Finding a quality halfway house in New Jersey is not always an easy task, seeing as there are so many options available, and not all of them are equally reputable. If you are a New Jersey resident who has recently completed inpatient treatment and is ready to move on to the next phase of recovery, please feel free to give <a href="https://riverbendresidence.com/">Riverbend Residence</a> a call today. We are standing by to answer any question you may have, and get you set up as a resident at the earliest possible convenience. [post_title] => What to Look for in New Jersey Halfway Houses [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => what-to-look-for-in-new-jersey-halfway-houses [to_ping] => [pinged] => [post_modified] => 2020-06-18 00:30:46 [post_modified_gmt] => 2020-06-18 04:30:46 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=988 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 988 [slug] => what-to-look-for-in-new-jersey-halfway-houses [custom] => Array ( [_edit_lock] => 1593029548:4 [_edit_last] => 3 [_thumbnail_id] => 993 [_wp_page_template] => default [_yoast_wpseo_focuskw] => New Jersey halfway houses [_yoast_wpseo_metadesc] => If you are looking to find a comfortable New Jersey halfway house, here are several things to look for that will make your stay pleasant and fulfilling. [_yoast_wpseo_linkdex] => 69 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_title] => What to Look for in New Jersey Halfway Houses | Riverbend Residence [_wp_old_date] => 2020-06-17 ) ) |
| 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 | /what-to-look-for-in-new-jersey-halfway-houses/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_HOST | riverbendresidence.com |
| PHP_ADMIN_VALUE | 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; newrelic.appname=riverbendresid; |
| SERVER_NAME | riverbendresidence.com |
| PATH_INFO | |
| REQUEST_METHOD | GET |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_CF_CONNECTING_IP | 18.97.14.86, 18.97.14.86, 18.97.14.86 |
| HTTP_X_FORWARDED_PROTO | https |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| CONTENT_LENGTH | 0 |
| HTTPS | on |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| SYSLOG_IDENT | phperr-riverbendresid |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_X_REAL_IP_REMOTE | 172.70.35.211 |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| HTTP_USER_AGENT | CCBot/2.0 (https://commoncrawl.org/faq/) |
| SERVER_PROTOCOL | HTTP/1.1 |
| DOCUMENT_URI | /index.php |
| CONTENT_TYPE | |
| HTTP_X_UA_ORIGINAL | CCBot/2.0 (https://commoncrawl.org/faq/) |
| HTTP_VIA | 1.1 pod-404710 (Varnish/trunk) |
| SCRIPT_NAME | /index.php |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| HTTP_WPE_READONLY | on |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
| HTTP_CF_IPCOUNTRY | US |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| REDIRECT_STATUS | 200 |
| SERVER_ADDR | 127.0.0.1 |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WPE_SSL | 1 |
| REMOTE_ADDR | 18.97.14.86 |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| QUERY_STRING | |
| IS_WPE | 1 |
| SERVER_PORT | 80 |
| HTTP_ACCEPT_LANGUAGE | en-US,en;q=0.5 |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_RAWHOST | riverbendresidence.com |
| REQUEST_SCHEME | http |
| HTTP_CF_RAY | 9da7e4c14e2def62-IAD |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_X_IS_BOT | 1 |
| REMOTE_PORT | |
| HTTP_X_WPE_REQUEST_ID | 31882ae2d80ef39e21446dc6e292661d |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1773204157.71 |
| REQUEST_TIME | 1773204157 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_HOST | riverbendresidence.com |
| PHP_ADMIN_VALUE | 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; newrelic.appname=riverbendresid; |
| SERVER_NAME | riverbendresidence.com |
| REQUEST_URI | /what-to-look-for-in-new-jersey-halfway-houses/ |
| PATH_INFO | |
| REQUEST_METHOD | GET |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_CF_CONNECTING_IP | 18.97.14.86, 18.97.14.86, 18.97.14.86 |
| HTTP_X_FORWARDED_PROTO | https |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| CONTENT_LENGTH | 0 |
| HTTPS | on |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| SYSLOG_IDENT | phperr-riverbendresid |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_X_REAL_IP_REMOTE | 172.70.35.211 |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| HTTP_USER_AGENT | CCBot/2.0 (https://commoncrawl.org/faq/) |
| SERVER_PROTOCOL | HTTP/1.1 |
| DOCUMENT_URI | /index.php |
| CONTENT_TYPE | |
| HTTP_X_UA_ORIGINAL | CCBot/2.0 (https://commoncrawl.org/faq/) |
| HTTP_VIA | 1.1 pod-404710 (Varnish/trunk) |
| SCRIPT_NAME | /index.php |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| HTTP_WPE_READONLY | on |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
| HTTP_CF_IPCOUNTRY | US |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| REDIRECT_STATUS | 200 |
| SERVER_ADDR | 127.0.0.1 |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WPE_SSL | 1 |
| REMOTE_ADDR | 18.97.14.86 |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| QUERY_STRING | |
| IS_WPE | 1 |
| SERVER_PORT | 80 |
| HTTP_ACCEPT_LANGUAGE | en-US,en;q=0.5 |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_RAWHOST | riverbendresidence.com |
| REQUEST_SCHEME | http |
| HTTP_CF_RAY | 9da7e4c14e2def62-IAD |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_X_IS_BOT | 1 |
| REMOTE_PORT | |
| SERVER_SOFTWARE | nginx |
| HTTP_X_WPE_REQUEST_ID | 31882ae2d80ef39e21446dc6e292661d |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1773204157.71 |
| REQUEST_TIME | 1773204157 |