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] => 1611 [post_author] => 4 [post_date] => 2020-10-13 03:38:34 [post_date_gmt] => 2020-10-13 07:38:34 [post_content] => A halfway house is a safe, supportive, and structured place for men and women to continue along in their journeys of addiction recovery. Halfway houses provide a level of structure necessary to maintaining accountability. The level of safety and accountability is necessary to those in early recovery, and the environment will be made even more conducive to continued recovery when it is gender-specific. In most cases, you can quickly tell whether or not a halfway house is reputable based on whether or not it allows exclusively men or exclusively women. If a halfway house allows members of both sexes to reside together, there is a good chance that it is not licensed or accredited. <img class="alignleft size-full wp-image-1615" src="https://riverbendresidence.com/wp-content/uploads/2020/10/Halfway-Houses-for-Women-in-New-Jersey.jpg" alt="Halfway Houses for Women in New Jersey" width="600" height="400" /> <h2>Female-Specific Sober Living in New Jersey</h2> Riverbend Residence offers halfway houses for women in New Jersey, providing a level of structured support and increased accountability that is necessary for long-term success in sobriety. We also offer a continuation of clinical care that helps our residents continue building upon the vital life skills, relapse prevention skills, and coping mechanisms that they first learned while in inpatient addiction treatment. We have one female-specific halfway houses in New Jersey, serving women in Sussex County, New Jersey, and all surrounding areas. If you have recently completed a higher level of clinical care and are looking for the next step on your journey of recovery, we are more than happy to help - simply give us a call today to schedule an in-person tour and learn more about our New Jersey halfway houses for women. <h2>Find New Jersey Women's Only Sober Homes</h2> Our gender-specific halfway houses in New Jersey enforce a specific set of rules and guidelines to help our female residents maintain accountability while learning how to thrive as productive members of society. Women feel at ease and comfortable knowing that a gender-specific atmosphere does not invite any unwanted interactions or advances. The guidelines for New Jersey women's halfway houses include: <ul> <li>Returning home by a certain time every evening and waking up by a certain time every morning.</li> <li>Participating in a 12 step program of recovery; attending daily 12 step meetings and working through the steps with a female sponsor.</li> <li>Keeping up with daily household chores and keeping common areas clean and tidy.</li> <li>Resolving any issues with other residents that might arise calmly and effectively.</li> <li>Committing to keeping the living environment copasetic; not fighting with or stealing from any of the other residents.</li> <li>Not bringing any members of the opposite sex onto the property unless first approved by a staff member (this is usually only applicable when it comes to immediate family members).</li> <li>Participating in daily group sessions (which usually take place in the morning), and include check-in and a brief discussion of any recovery-related challenges that might have arisen during the day prior.</li> <li>Committing to staying completely sober and free of all mood and mind-altering substances - this includes taking over-the-counter medications other than as prescribed in attempts to produce a psychoactive effect.</li> <li>Adhering to the set rules and guidelines without complaint.</li> <li>Paying monthly rent and actively working towards financial independence.</li> <li>Finding and maintaining a full-time job or attending school full or part-time.</li> </ul> <h2>Continue Your Journey of Healing</h2> Our halfway houses for women in New Jersey cater to women of all ages who have recently completed a higher level of clinical care (medical detox and residential drug and alcohol rehab) and who are looking for continued support and a structured living environment. We also cater to women who have been struggling with a mild and easily managed substance abuse disorder and are simply looking for a higher level of accountability than they would find in an independent living situation. Our halfway houses provide residents with all of the comforts of home along with several additional amenities and a wide range of recovery-related resources. For more information on our female-specific halfway houses in New Jersey, call <a href="https://riverbendresidence.com/">Riverbend Residence</a> today. We look forward to speaking with you soon at <a href="tel:844-505-3447">(844) 505-3447</a> and helping you continue along in your journey of recovery. [post_title] => Halfway Houses for Women in New Jersey [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => halfway-houses-women-new-jersey [to_ping] => [pinged] => [post_modified] => 2020-10-13 03:43:17 [post_modified_gmt] => 2020-10-13 07:43:17 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=1611 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 1611 [slug] => halfway-houses-women-new-jersey [custom] => Array ( [_edit_lock] => 1602598075:3 [_edit_last] => 3 [_wp_page_template] => default [_yoast_wpseo_focuskw] => Halfway Houses for Women [_yoast_wpseo_metadesc] => We offer halfway houses for women in New Jersey, providing a level of structured support and accountability that's needed for long-term sobriety. [_yoast_wpseo_linkdex] => 73 [_yoast_wpseo_content_score] => 60 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => Halfway Houses for Women in New Jersey | Riverbend Residence [_thumbnail_id] => 1615 ) ) |
| 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 | /halfway-houses-women-new-jersey/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_X_WPE_REQUEST_ID | 4a43807356a3e847259a8f2379eeea78 |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_X_EFPC_ENABLED | true |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| DOCUMENT_URI | /index.php |
| REQUEST_METHOD | GET |
| HTTPS | on |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_HOST | riverbendresidence.com |
| SERVER_PROTOCOL | HTTP/1.1 |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_CF_RAY | a169766b38ecc526-ATL |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_REAL_IP_REMOTE | 172.71.22.39 |
| 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; |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| CONTENT_LENGTH | 0 |
| REQUEST_SCHEME | http |
| IS_WPE | 1 |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_WPE_SSL | 1 |
| SYSLOG_IDENT | phperr-riverbendresid |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| PATH_INFO | |
| SCRIPT_NAME | /index.php |
| SERVER_PORT | 80 |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_CF_CONNECTING_IP | 216.73.217.7, 216.73.217.7, 216.73.217.7 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| HTTP_X_WPE_EDGE | AN |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| CONTENT_TYPE | |
| QUERY_STRING | |
| HTTP_X_IS_BOT | 1 |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| SERVER_NAME | riverbendresidence.com |
| REMOTE_ADDR | 216.73.217.7 |
| REDIRECT_STATUS | 200 |
| REMOTE_PORT | |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_WPE_READONLY | on |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_ACCEPT | */* |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1783286939.5 |
| REQUEST_TIME | 1783286939 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| REQUEST_URI | /halfway-houses-women-new-jersey/ |
| HTTP_X_WPE_REQUEST_ID | 4a43807356a3e847259a8f2379eeea78 |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_X_EFPC_ENABLED | true |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| DOCUMENT_URI | /index.php |
| REQUEST_METHOD | GET |
| HTTPS | on |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_HOST | riverbendresidence.com |
| SERVER_PROTOCOL | HTTP/1.1 |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_CF_RAY | a169766b38ecc526-ATL |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
| HTTP_X_REAL_IP_REMOTE | 172.71.22.39 |
| 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; |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| CONTENT_LENGTH | 0 |
| REQUEST_SCHEME | http |
| IS_WPE | 1 |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_WPE_SSL | 1 |
| SYSLOG_IDENT | phperr-riverbendresid |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| PATH_INFO | |
| SCRIPT_NAME | /index.php |
| SERVER_PORT | 80 |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_CF_CONNECTING_IP | 216.73.217.7, 216.73.217.7, 216.73.217.7 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| HTTP_X_WPE_EDGE | AN |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| CONTENT_TYPE | |
| QUERY_STRING | |
| HTTP_X_IS_BOT | 1 |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| SERVER_NAME | riverbendresidence.com |
| REMOTE_ADDR | 216.73.217.7 |
| REDIRECT_STATUS | 200 |
| REMOTE_PORT | |
| SERVER_SOFTWARE | nginx |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_WPE_READONLY | on |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_ACCEPT | */* |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1783286939.5 |
| REQUEST_TIME | 1783286939 |