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] => 2475 [post_author] => 4 [post_date] => 2021-04-13 10:54:27 [post_date_gmt] => 2021-04-13 14:54:27 [post_content] => Sober living housing is an important stage of every long-term program of recovery. In sober living, men or women who are new to sobriety slowly transition back into day-to-day life as they learn how to navigate a substance-free lifestyle. Most commonly, an individual will transfer into a sober living home as soon as he or she completes inpatient addiction treatment. while in sober living, he or she will continue to attend an intensive outpatient or outpatient treatment program. Reputable sober homes enforce a strict set of rules and guidelines carefully developed to help those new to sobriety stay sober and successfully integrate into society. While the rules will vary depending on the sober living house, there are generally several that are strictly enforced regardless of who is running the show. <img class="alignleft size-full wp-image-2476" src="https://riverbendresidence.com/wp-content/uploads/2021/03/Sober-Living-House-Rules-on-Phones.jpg" alt="Sober Living House Rules on Phones " width="600" height="400" /> <h2>Can I Have My Cell Phone in a Sober Living Home?</h2> One of the questions that many men and women who are about to enter into a sober living environment have is whether or not they will be allowed to use their phones while they are in sober living. At Riverbend Residence, we understand that having access to a cell phone is extremely important in this day and age. It is unrealistic to assume that someone who is working full-time and who is slowly reintegrating into society does not need a phone - phones are extremely useful when it comes to scheduling and organizing personal time. <h2>What Are the Rules on Cell Phones in Recovery Homes?</h2> We allow all of our residents to have their phones on them at all times, that we encourage them to turn their phones off at a certain time so that they are not distracted and can get a full night's sleep. Of course, there are many other reasons why men and women need to have a phone in early recovery other than for work purposes. Social interaction is a staple of Alcoholics Anonymous, and we encourage all of our residents to obtain phone numbers at the meetings they attend so that they can work on building out their support groups. Residents must also communicate with their sponsor regularly, calling up him or her and setting up dates and times to work through step work. This is all to say that sober living house rules on phones are generally consistent in the sense that they allow residents to have phones as long as they use them responsibly. <h2>Sober Living House Regulations Include Cell Phone Rules</h2> These rules include (but are not limited to): <ul> <li>Residents must wake up by a certain time every morning and they must be home by a certain time every evening</li> <li>Residents must find and maintain a part or full-time job, go back to school part or full-time, or engage in regular volunteer work</li> <li>Residents must participate in daily chores and agreed to keep all personal spaces and common areas clean and tidy at all times</li> <li>Residents must respect one another and avoid borrowing things that belong to other residents, such as clothing or other personal belongings</li> <li>Reputable sober living homes are gender-specific, which means that women live together or men live together and members of the opposite sex are not allowed on premises without approval</li> <li>Residents must attend at least one 12-step meeting every day and must actively be working through the steps with a sponsor of their choosing</li> </ul> <h2>Comfortable Transition Living at Riverbend Residence</h2> At <a href="https://riverbendresidence.com/">Riverbend Residence</a>, we offer gender-specific sober living to men and women in New Jersey and all surrounding areas. While our sober living house does enforce a strict set of rules and guidelines to keep residents in check, we do consider the fact that men and women who are new to sobriety have personal needs as far as social interaction. As long as residents consistently prove to staff members that they can use their cell phones responsibly, they can keep their phones on them at all times. to learn more about our sober living housing environment and the rules that we implement, please reach out to us today. [post_title] => Sober Living House Rules on Phones [post_excerpt] => [post_status] => publish [comment_status] => closed [ping_status] => open [post_password] => [post_name] => sober-living-house-rules-on-phones [to_ping] => [pinged] => [post_modified] => 2021-04-13 11:12:17 [post_modified_gmt] => 2021-04-13 15:12:17 [post_content_filtered] => [post_parent] => 0 [guid] => https://riverbendresidence.com/?p=2475 [menu_order] => 0 [post_type] => post [post_mime_type] => [comment_count] => 0 [filter] => raw [status] => publish [id] => 2475 [slug] => sober-living-house-rules-on-phones [custom] => Array ( [_edit_lock] => 1618326668:3 [_edit_last] => 3 [_thumbnail_id] => 2476 [_wp_page_template] => default [_yoast_wpseo_focuskw] => Sober Living House Rules on Phones [_yoast_wpseo_metadesc] => Many men and women who enter into a sober home ask if whether or not they will be allowed to use their phones while in sober living. [_yoast_wpseo_linkdex] => 59 [_yoast_wpseo_content_score] => 30 [_yoast_wpseo_estimated-reading-time-minutes] => 4 [_yoast_wpseo_primary_category] => 10 [_wp_old_date] => 2021-03-15 [_yoast_wpseo_title] => Sober Living House Rules on Cell Phones | Riverbend Residences ) ) |
| 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 | /sober-living-house-rules-on-phones/ |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| IS_WPE | 1 |
| SERVER_PORT | 80 |
| GATEWAY_INTERFACE | CGI/1.1 |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_CF_VISITOR | {\"scheme\":\"https\"} |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_X_WPE_REQUEST_ID | 8af4fdba15ca3b9dd2f9ab797ca189ff |
| HTTP_X_REAL_IP_REMOTE | 172.71.191.6 |
| HTTP_X_UA_ORIGINAL | CCBot/2.0 (https://commoncrawl.org/faq/) |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_HOST | riverbendresidence.com |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_X_WPE_SSL | 1 |
| HTTP_ACCEPT_LANGUAGE | en-US,en;q=0.5 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| PATH_INFO | |
| CONTENT_LENGTH | 0 |
| HTTPS | on |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_WPE_READONLY | on |
| HTTP_X_CACHE_GROUP | normal |
| SERVER_NAME | riverbendresidence.com |
| CONTENT_TYPE | |
| REQUEST_SCHEME | http |
| HTTP_X_IS_BOT | 1 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| REMOTE_ADDR | 18.97.9.168 |
| DOCUMENT_URI | /index.php |
| QUERY_STRING | |
| REDIRECT_STATUS | 200 |
| REMOTE_PORT | |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| HTTP_X_WPE_EDGE | AN |
| HTTP_CF_RAY | 9ebf78dd7c73e5fd-IAD |
| HTTP_USER_AGENT | CCBot/2.0 (https://commoncrawl.org/faq/) |
| SYSLOG_IDENT | phperr-riverbendresid |
| 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 |
| REQUEST_METHOD | GET |
| HTTP_CF_CONNECTING_IP | 18.97.9.168, 18.97.9.168, 18.97.9.168 |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| SERVER_PROTOCOL | HTTP/1.1 |
| SCRIPT_NAME | /index.php |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1776135751.33 |
| REQUEST_TIME | 1776135751 |
| Key | Value |
| USER | fpm200067 |
| HOME | /home/fpm200067 |
| WPENGINE_ACCOUNT | riverbendresid |
| WPENGINE_PHPSESSIONS | on |
| WPENGINE_DB_SESSIONS | off |
| IS_WPE | 1 |
| SERVER_PORT | 80 |
| GATEWAY_INTERFACE | CGI/1.1 |
| PHP_VALUE | upload_max_filesize=50M; post_max_size=100M; |
| HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
| HTTP_X_WPE_LOCAL_SSL | 1 |
| HTTP_X_FORWARDED_PROTO | https |
| HTTP_CF_VISITOR | {"scheme":"https"} |
| HTTP_X_FORWARDED_HOST | riverbendresidence.com |
| HTTP_RAWHOST | riverbendresidence.com |
| HTTP_X_WPE_REQUEST_ID | 8af4fdba15ca3b9dd2f9ab797ca189ff |
| HTTP_X_REAL_IP_REMOTE | 172.71.191.6 |
| HTTP_X_UA_ORIGINAL | CCBot/2.0 (https://commoncrawl.org/faq/) |
| HTTP_CF_IPCOUNTRY | US |
| HTTP_HOST | riverbendresidence.com |
| HTTP_ACCEPT_ENCODING | gzip |
| HTTP_X_WPE_SSL | 1 |
| HTTP_ACCEPT_LANGUAGE | en-US,en;q=0.5 |
| DOCUMENT_ROOT | /nas/content/live/riverbendresid |
| PATH_TRANSLATED | /nas/content/live/riverbendresid/index.php |
| PATH_INFO | |
| CONTENT_LENGTH | 0 |
| HTTPS | on |
| SERVER_ADDR | 127.0.0.1 |
| HTTP_WPE_READONLY | on |
| HTTP_X_CACHE_GROUP | normal |
| SERVER_NAME | riverbendresidence.com |
| CONTENT_TYPE | |
| REQUEST_SCHEME | http |
| HTTP_X_IS_BOT | 1 |
| HTTP_CDN_LOOP | cloudflare; loops=1 |
| REMOTE_ADDR | 18.97.9.168 |
| DOCUMENT_URI | /index.php |
| REQUEST_URI | /sober-living-house-rules-on-phones/ |
| QUERY_STRING | |
| REDIRECT_STATUS | 200 |
| REMOTE_PORT | |
| HTTP_VIA | 1.1 pod-404710 (Varnish/8.0) |
| HTTP_X_WORDPRESS_TYPE | DEFAULT |
| HTTP_X_WPENGINE_PHP_VERSION | 7.4 |
| SERVER_SOFTWARE | nginx |
| HTTP_X_WPE_EDGE | AN |
| HTTP_CF_RAY | 9ebf78dd7c73e5fd-IAD |
| HTTP_USER_AGENT | CCBot/2.0 (https://commoncrawl.org/faq/) |
| SYSLOG_IDENT | phperr-riverbendresid |
| 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 |
| REQUEST_METHOD | GET |
| HTTP_CF_CONNECTING_IP | 18.97.9.168, 18.97.9.168, 18.97.9.168 |
| HTTP_X_WPE_INSTALL_NAME | riverbendresid |
| SERVER_PROTOCOL | HTTP/1.1 |
| SCRIPT_NAME | /index.php |
| FCGI_ROLE | RESPONDER |
| PHP_SELF | /index.php |
| REQUEST_TIME_FLOAT | 1776135751.33 |
| REQUEST_TIME | 1776135751 |