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] => 2400 [post_author] => 4 [post_date] => 2021-03-02 16:47:55 [post_date_gmt] => 2021-03-02 21:47:55 [post_content] => So, you recently completed medical detox and inpatient treatment, and you were ready to take the next appropriate step on your journey of addiction recovery. This typically means packing your bags and moving into a sober living home. If you are moving into a sober home for the first time, you might be wondering what to expect. What does the process look like? How often will you have to pay rent? Will you be asked to put down a deposit - and if so, how much? While the process will vary depending on the specific sober home that you are moving into, there are certain things that you can consistently expect. <h2>Thinking About Moving Into a Sober Living Home?</h2> People who live in sober homes are essentially responsible for themselves and for paying their way. They cover their rent (usually every month), they buy their food and toiletries, and they keep up with daily and weekly chores while maintaining a clean personal space. Most reputable sober homes, like Riverbend Residence, require their residents to follow a strict set of rules and guidelines to help them stay accountable and stay out of trouble. They are usually asked to find a job or return to school, and they are required to participate in daily 12-step meetings while actively working through the steps with the sponsor. They are required to respect one another at all times, and quickly resolve any discrepancies that arise. Residents have access to support staff members at all times, who they can ask for advice or additional support whenever needed. But how exactly does the process of moving into a sober home unfold? We have outlined some steps below - for additional information please feel free to reach out at any point in time. <img class="alignleft size-full wp-image-2401" src="https://riverbendresidence.com/wp-content/uploads/2021/02/The-Process-of-Moving-Into-a-Sober-Home.jpg" alt="The Process of Moving Into a Sober Home " width="600" height="400" /> <h2>What Does Moving Into a Sober Home Look Like?</h2> When it comes to finding the right sober home for you, there are several things to keep an eye out for. First of all, you will want to make sure that the sober home is gender-specific, meaning that men and women live separately. You will want to keep an eye out for any red flags, which might include a messy living space, three or four people crowded into one small bedroom, and a very flexible set of guidelines. Believe it or not, the more strict the guidelines the more reputable the sober home is. Look for a residence that maintains a strict curfew, requires residents to sign a daily meeting sheet, and keeps up with daily chores. It might seem like a lot, but it will all help you in the long run. Organization, structure, supervision, and management are the core values of a well-run, well-maintained, and reputable sober home. <h2>Directions on Moving Into a Recovery Residence</h2> If you or a loved one are moving into a sober home for the first time, it should not be a scary or uncomfortable experience. Moving into a sober home typically follows these processes and in the end, looks like this: <ul> <li>While you are still in inpatient addiction treatment, your case manager and the clinical staff members help you find a sober home that meets all of your personal needs and requirements.</li> <li>Most sober homes require monthly rent - however, because active addiction strips men and women of the ability to function at a basic human level, it is very possible that potential residents do not have enough money to cover a month upfront. If this is the case, then residents might be able to pay rent on a biweekly basis.</li> <li>Before a potential resident moves into the facility, he or she typically takes a walk-through tour and meets the other residents. He or she is giving a rundown of all of the rules and determines whether or not the sober home is an ideal fit.</li> </ul> <h2>Riverbend Residence - What Sets Us Apart</h2> To learn more about <a href="https://riverbendresidence.com/">Riverbend Residence</a> or to take a walk-through tour, call us today at <a href="tel:844-505-3447">(844) 505-3447</a> to speak with a Sober Living Advocate. We look forward to explaining the process of moving into a sober home more in-depth and helping you or your loved ones continue along on the journey of recovery. Our gender-specific sober homes in Northern New Jersey are among the most reputable and comprehensive available in the state. [post_title] => The Process of Moving Into a Sober Home [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => the-process-of-moving-into-a-sober-home [to_ping] => [pinged] => [post_modified] => 2021-03-02 16:49:32 [post_modified_gmt] => 2021-03-02 21:49:32 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=2400 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 2400 [slug] => the-process-of-moving-into-a-sober-home [custom] => Array ( [_edit_lock] => 1614721740:3 [_edit_last] => 3 [_thumbnail_id] => 2401 [_wp_page_template] => default [_yoast_wpseo_focuskw] => The Process of Moving Into a Sober Home [_yoast_wpseo_metadesc] => If you or a loved one are moving into a sober home, it should not be a scary experience, and there are certain things you can expect. [_yoast_wpseo_linkdex] => 75 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_estimated-reading-time-minutes] => 4 [_yoast_wpseo_primary_category] => 10 [_yoast_wpseo_title] => The Process of Moving Into a Sober Home | Riverbend Residence [_wp_old_date] => 2021-02-28 ) ) |
| 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 | /the-process-of-moving-into-a-sober-home/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_HOST | riverbendresidence.com |
| HTTP_CF_CONNECTING_IP | 18.97.14.86, 18.97.14.86, 18.97.14.86 |
| HTTP_VIA | 1.1 pod-404710 (Varnish/trunk) |
| HTTP_USER_AGENT | CCBot/2.0 (https://commoncrawl.org/faq/) |
| PATH_INFO | |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| HTTP_X_UA_ORIGINAL | CCBot/2.0 (https://commoncrawl.org/faq/) |
| SYSLOG_IDENT | phperr-riverbendresid |
| REMOTE_ADDR | 18.97.14.86 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_WPE_READONLY | on |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| HTTP_X_WPE_REQUEST_ID | d4de8865e3c3d3666be14321368da840 |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| SERVER_PROTOCOL | HTTP/1.1 |
| SCRIPT_NAME | /index.php |
| CONTENT_TYPE | |
| REMOTE_PORT | |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_WPE_SSL | 1 |
| 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; |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| HTTPS | on |
| SERVER_PORT | 80 |
| HTTP_ACCEPT_LANGUAGE | en-US,en;q=0.5 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| SERVER_NAME | riverbendresidence.com |
| QUERY_STRING | |
| REQUEST_SCHEME | http |
| REDIRECT_STATUS | 200 |
| HTTP_X_IS_BOT | 1 |
| IS_WPE | 1 |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_CF_RAY | 9da7bbba4f0cc991-IAD |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| DOCUMENT_URI | /index.php |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| CONTENT_LENGTH | 0 |
| REQUEST_METHOD | GET |
| HTTP_X_REAL_IP_REMOTE | 172.68.245.33 |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1773202477.24 |
| REQUEST_TIME | 1773202477 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| HTTP_HOST | riverbendresidence.com |
| HTTP_CF_CONNECTING_IP | 18.97.14.86, 18.97.14.86, 18.97.14.86 |
| HTTP_VIA | 1.1 pod-404710 (Varnish/trunk) |
| HTTP_USER_AGENT | CCBot/2.0 (https://commoncrawl.org/faq/) |
| PATH_INFO | |
| GATEWAY_INTERFACE | CGI/1.1 |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| HTTP_X_UA_ORIGINAL | CCBot/2.0 (https://commoncrawl.org/faq/) |
| SYSLOG_IDENT | phperr-riverbendresid |
| REMOTE_ADDR | 18.97.14.86 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_WPE_READONLY | on |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| HTTP_X_WPE_EDGE | AN |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| REQUEST_URI | /the-process-of-moving-into-a-sober-home/ |
| SERVER_SOFTWARE | nginx |
| HTTP_X_WPE_REQUEST_ID | d4de8865e3c3d3666be14321368da840 |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_X_CACHE_GROUP | normal |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| SERVER_PROTOCOL | HTTP/1.1 |
| SCRIPT_NAME | /index.php |
| CONTENT_TYPE | |
| REMOTE_PORT | |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_X_WPE_SSL | 1 |
| 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; |
| SCRIPT_FILENAME | /nas/content/live/riverbendresid/index.php |
| HTTPS | on |
| SERVER_PORT | 80 |
| HTTP_ACCEPT_LANGUAGE | en-US,en;q=0.5 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| SERVER_NAME | riverbendresidence.com |
| QUERY_STRING | |
| REQUEST_SCHEME | http |
| REDIRECT_STATUS | 200 |
| HTTP_X_IS_BOT | 1 |
| IS_WPE | 1 |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_CF_RAY | 9da7bbba4f0cc991-IAD |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| DOCUMENT_URI | /index.php |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| CONTENT_LENGTH | 0 |
| REQUEST_METHOD | GET |
| HTTP_X_REAL_IP_REMOTE | 172.68.245.33 |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1773202477.24 |
| REQUEST_TIME | 1773202477 |