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] => 1593 [post_author] => 4 [post_date] => 2020-10-08 08:14:52 [post_date_gmt] => 2020-10-08 12:14:52 [post_content] => A sober living home is a drug and alcohol-free house that was specifically designed to give men and women who are new to sobriety an increased level of support and structure as they slowly transition back into fully independent living. Sober living homes mandate that residents follow a strict set of rules and guidelines geared towards keeping them accountable. Some of the guidelines you can expect to be enforced include: <ul> <li>Residents must keep their personal space clean</li> <li>Everyone must work together to keep common areas clean, participating in daily chores</li> <li>Residents must find and maintain a job, go to school full-time or participate in regular volunteer work</li> <li>Everyone in the house must wake up by a certain time every morning and be back at the house by a set curfew (typically no later than 10 pm)</li> <li>In gender-specific sober living homes like Riverbend Residence, there will be no members of the opposite sex allowed on the property</li> <li>Residents must work towards financial independence and pay their rent on time every month (or as the individual rent agreement entails)</li> <li>Residents must attend at least one 12 step meeting every day</li> <li>Of course, above all else, residents must remain clean and sober</li> </ul> <img class="alignleft size-full wp-image-1594" src="https://riverbendresidence.com/wp-content/uploads/2020/10/How-Do-You-Get-into-a-Sober-Living-Home.jpg" alt="How Do You Get into a Sober Living Home? " width="600" height="400" /> <h2>Finding the Right Sober Living Home for You</h2> Finding the right sober living house to suit all of your personal needs and requirements can be tricky, seeing as there are so many options throughout the state of New Jersey and all surrounding areas. The good news is that if you know exactly what to look for, you will have a much easier time finding the right sober living home for you. How do you get into a sober living house? The only real requirements are that you have completed a high level of clinical addiction treatment (typically medically monitored detox and residential rehab) and that you have maintained sobriety and plan on continuing to maintain sobriety throughout your stay. After you have completed inpatient treatment, the next step is finding a reputable sober living home and moving in immediately. There must be no gap between inpatient treatment and sober living because newly sober individuals are the most prone to relapse. In most instances, your case manager (while you are in residential rehab) will walk you through a comprehensive list of potential sober living options. It is recommended that individuals who are in treatment in their home state or in any surrounding areas find a sober living home in the same area. That way they can continue with the intensive outpatient or outpatient program, surrounded by the same group of people and able to see the same individual therapist every week. Here are several things that you will want to make sure the sober home offers: <ul> <li>Gender-specific living</li> <li>A strict set of guidelines geared towards helping residents maintain accountability</li> <li>24-hour supervision</li> <li>A list of alumni who are still clean and sober</li> <li>A clean and tidy living space</li> <li>A sober living home that is close to your intensive outpatient or outpatient program</li> <li>A program that enforces daily 12 step meeting attendance</li> </ul> <h2>Getting Into a Sober Living House</h2> To get into a sober living house like <a href="https://riverbendresidence.com/">Riverbend Residence</a>, you must have at least three months of continuous sobriety and you must be able to pay rent. Unlike inpatient treatment, sober living houses do not accept health insurance. This is partly because we want to instill vital life skills in all of our residents - life skills like becoming financially independent, learning to budget, and learning to pay rent just as they would in the real world. For more information on our sober living home or to take an in-person tour of our home-style facilities, please feel free call us at <a href="tel:844-505-3447">(844) 505-3447</a> at any point in time. [post_title] => How Do You Get Into a Sober Living Home? [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => how-do-you-get-into-sober-living-home [to_ping] => [pinged] => [post_modified] => 2020-10-08 08:15:29 [post_modified_gmt] => 2020-10-08 12:15:29 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=1593 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 1593 [slug] => how-do-you-get-into-sober-living-home [custom] => Array ( [_edit_lock] => 1613338254:4 [_edit_last] => 3 [_thumbnail_id] => 1594 [_wp_page_template] => default [_yoast_wpseo_focuskw] => Get into a Sober Living Home [_yoast_wpseo_metadesc] => Finding the right sober home to suit all of your personal needs and requirements can be tricky, seeing as there are so many options out there. [_yoast_wpseo_linkdex] => 71 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => How Do You Get Into a Sober Living Home? | Riverbend Residence ) ) |
| 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 | /how-do-you-get-into-sober-living-home/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_X_CACHE_GROUP | normal |
| PHP_VALUE | post_max_size=100M; upload_max_filesize=50M; |
| SERVER_NAME | riverbendresidence.com |
| SERVER_PROTOCOL | HTTP/1.1 |
| SCRIPT_NAME | /index.php |
| QUERY_STRING | |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_X_FORWARDED_PROTO | https |
| CONTENT_TYPE | |
| REQUEST_SCHEME | http |
| HTTPS | on |
| SERVER_PORT | 80 |
| SYSLOG_IDENT | phperr-riverbendresid |
| PHP_ADMIN_VALUE | 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; newrelic.license=; |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot) Chrome/119.0.6045.214 Safari/537.36 |
| HTTP_ACCEPT_ENCODING | gzip |
| IS_WPE | 1 |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_CF_RAY | 9da73b46befcc94b-ATL |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| REDIRECT_STATUS | 200 |
| HTTP_X_WPE_SSL | 1 |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_VIA | 1.1 pod-404710 (Varnish/trunk) |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| CONTENT_LENGTH | 0 |
| SERVER_ADDR | 127.0.0.1 |
| REMOTE_PORT | |
| HTTP_HOST | riverbendresidence.com |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot) Chrome/119.0.6045.214 Safari/537.36 |
| HTTP_X_WPE_REQUEST_ID | 6a3e936676f633bd1f6fd77eb3434c40 |
| REMOTE_ADDR | 54.84.161.62 |
| DOCUMENT_URI | /index.php |
| PATH_INFO | |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_X_REAL_IP_REMOTE | 172.71.23.69 |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| HTTP_RAWHOST | riverbendresidence.com |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| HTTP_CF_CONNECTING_IP | 54.84.161.62, 54.84.161.62, 54.84.161.62 |
| HTTP_X_IS_BOT | 1 |
| HTTP_WPE_READONLY | on |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| REQUEST_METHOD | GET |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1773197215.88 |
| REQUEST_TIME | 1773197215 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| HTTP_X_CACHE_GROUP | normal |
| PHP_VALUE | post_max_size=100M; upload_max_filesize=50M; |
| SERVER_NAME | riverbendresidence.com |
| SERVER_PROTOCOL | HTTP/1.1 |
| SCRIPT_NAME | /index.php |
| QUERY_STRING | |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_X_FORWARDED_PROTO | https |
| CONTENT_TYPE | |
| REQUEST_SCHEME | http |
| HTTPS | on |
| SERVER_PORT | 80 |
| SYSLOG_IDENT | phperr-riverbendresid |
| PHP_ADMIN_VALUE | 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; newrelic.license=; |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_USER_AGENT | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot) Chrome/119.0.6045.214 Safari/537.36 |
| HTTP_ACCEPT_ENCODING | gzip |
| IS_WPE | 1 |
| SERVER_SOFTWARE | nginx |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_CF_RAY | 9da73b46befcc94b-ATL |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| REDIRECT_STATUS | 200 |
| HTTP_X_WPE_SSL | 1 |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_VIA | 1.1 pod-404710 (Varnish/trunk) |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| CONTENT_LENGTH | 0 |
| SERVER_ADDR | 127.0.0.1 |
| REMOTE_PORT | |
| HTTP_HOST | riverbendresidence.com |
| HTTP_X_UA_ORIGINAL | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot) Chrome/119.0.6045.214 Safari/537.36 |
| HTTP_X_WPE_REQUEST_ID | 6a3e936676f633bd1f6fd77eb3434c40 |
| REMOTE_ADDR | 54.84.161.62 |
| DOCUMENT_URI | /index.php |
| REQUEST_URI | /how-do-you-get-into-sober-living-home/ |
| PATH_INFO | |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_X_REAL_IP_REMOTE | 172.71.23.69 |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| HTTP_RAWHOST | riverbendresidence.com |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| HTTP_CF_CONNECTING_IP | 54.84.161.62, 54.84.161.62, 54.84.161.62 |
| HTTP_X_IS_BOT | 1 |
| HTTP_WPE_READONLY | on |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| REQUEST_METHOD | GET |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1773197215.88 |
| REQUEST_TIME | 1773197215 |