Illuminate \ View \ ViewException (E_ERROR)
syntax error, unexpected '|', expecting variable (T_VARIABLE) (View: /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php)
Previous exceptions
  • syntax error, unexpected '|', expecting variable (T_VARIABLE) (0)
Illuminate\View\ViewException thrown with message "syntax error, unexpected '|', expecting variable (T_VARIABLE) (View: /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php)" Stacktrace: #28 Illuminate\View\ViewException in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php:35 #27 Illuminate\View\Engines\CompilerEngine:handleViewException in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/PhpEngine.php:43 #26 ParseError in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php:35 #25 Composer\Autoload\{closure} in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php:427 #24 Composer\Autoload\ClassLoader:loadClass in [internal]:0 #23 spl_autoload_call in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.php:31 #22 include in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php:576 #21 Composer\Autoload\{closure} in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php:427 #20 Composer\Autoload\ClassLoader:loadClass in [internal]:0 #19 spl_autoload_call in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/MarkupFixer.php:56 #18 TOC\MarkupFixer:__construct in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/app/View/Composers/BlogPost.php:20 #17 App\View\Composers\BlogPost:override in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/roots/acorn/src/Acorn/View/Composer.php:72 #16 Roots\Acorn\View\Composer:merge in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/roots/acorn/src/Acorn/View/Composer.php:59 #15 Roots\Acorn\View\Composer:compose in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Concerns/ManagesEvents.php:124 #14 Illuminate\View\Factory:Illuminate\View\Concerns\{closure} in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/events/Dispatcher.php:381 #13 Illuminate\Events\Dispatcher:Illuminate\Events\{closure} in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/events/Dispatcher.php:226 #12 Illuminate\Events\Dispatcher:dispatch in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Concerns/ManagesEvents.php:177 #11 Illuminate\View\Factory:callComposer in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:120 #10 Illuminate\View\View:renderContents in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:91 #9 Illuminate\View\View:render in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/eb422c8beb3d93cfa2fe08ce3b438f23bc0fae21.php:3 #8 include in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/PhpEngine.php:41 #7 Illuminate\View\Engines\PhpEngine:evaluatePath in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/CompilerEngine.php:57 #6 Illuminate\View\Engines\CompilerEngine:get in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:139 #5 Illuminate\View\View:getContents in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:122 #4 Illuminate\View\View:renderContents in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php:91 #3 Illuminate\View\View:render in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/index.php:4 #2 include in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php:106 #1 require_once in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php:19 #0 require in /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/index.php:6
28
Illuminate\View\ViewException
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php35
27
Illuminate\View\Engines\CompilerEngine handleViewException
/vendor/illuminate/view/Engines/PhpEngine.php43
26
ParseError
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php35
25
Composer\Autoload\{closure}
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php427
24
Composer\Autoload\ClassLoader loadClass
[internal]0
23
spl_autoload_call
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.php31
22
include
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php576
21
Composer\Autoload\{closure}
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php427
20
Composer\Autoload\ClassLoader loadClass
[internal]0
19
spl_autoload_call
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/MarkupFixer.php56
18
TOC\MarkupFixer __construct
/app/View/Composers/BlogPost.php20
17
App\View\Composers\BlogPost override
/vendor/roots/acorn/src/Acorn/View/Composer.php72
16
Roots\Acorn\View\Composer merge
/vendor/roots/acorn/src/Acorn/View/Composer.php59
15
Roots\Acorn\View\Composer compose
/vendor/illuminate/view/Concerns/ManagesEvents.php124
14
Illuminate\View\Factory Illuminate\View\Concerns\{closure}
/vendor/illuminate/events/Dispatcher.php381
13
Illuminate\Events\Dispatcher Illuminate\Events\{closure}
/vendor/illuminate/events/Dispatcher.php226
12
Illuminate\Events\Dispatcher dispatch
/vendor/illuminate/view/Concerns/ManagesEvents.php177
11
Illuminate\View\Factory callComposer
/vendor/illuminate/view/View.php120
10
Illuminate\View\View renderContents
/vendor/illuminate/view/View.php91
9
Illuminate\View\View render
/storage/framework/views/eb422c8beb3d93cfa2fe08ce3b438f23bc0fae21.php3
8
include
/vendor/illuminate/view/Engines/PhpEngine.php41
7
Illuminate\View\Engines\PhpEngine evaluatePath
/vendor/illuminate/view/Engines/CompilerEngine.php57
6
Illuminate\View\Engines\CompilerEngine get
/vendor/illuminate/view/View.php139
5
Illuminate\View\View getContents
/vendor/illuminate/view/View.php122
4
Illuminate\View\View renderContents
/vendor/illuminate/view/View.php91
3
Illuminate\View\View render
/index.php4
2
include
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php106
1
require_once
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php19
0
require
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/index.php6
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php
 *
 * @package   org.cocur.slugify
 * @author    Florian Eckerstorfer <florian@eckerstorfer.co>
 * @author    Marchenko Alexandr
 * @copyright 2012-2014 Florian Eckerstorfer
 * @license   http://www.opensource.org/licenses/MIT The MIT License
 */
interface SlugifyInterface
{
    /**
     * Return a URL safe version of a string.
     *
     * @param string            $string
     * @param string|array|null $options
     *
     * @return string
     *
     * @api
     */
    public function slugify(string $string, array|string|null $options = null): string;
}
 
Arguments
  1. "syntax error, unexpected '|', expecting variable (T_VARIABLE) (View: /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php)"
    
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/PhpEngine.php
     *
     * @param  string  $__path
     * @param  array  $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Throwable $e) {
            $this->handleViewException($e, $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Throwable  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Throwable
     */
    protected function handleViewException(Throwable $e, $obLevel)
    {
        while (ob_get_level() > $obLevel) {
            ob_end_clean();
        }
 
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/cocur/slugify/src/SlugifyInterface.php
 *
 * @package   org.cocur.slugify
 * @author    Florian Eckerstorfer <florian@eckerstorfer.co>
 * @author    Marchenko Alexandr
 * @copyright 2012-2014 Florian Eckerstorfer
 * @license   http://www.opensource.org/licenses/MIT The MIT License
 */
interface SlugifyInterface
{
    /**
     * Return a URL safe version of a string.
     *
     * @param string            $string
     * @param string|array|null $options
     *
     * @return string
     *
     * @api
     */
    public function slugify(string $string, array|string|null $options = null): string;
}
 
Arguments
  1. "syntax error, unexpected '|', expecting variable (T_VARIABLE)"
    
Exception message: syntax error, unexpected '|', expecting variable (T_VARIABLE)
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php
    public function unregister()
    {
        spl_autoload_unregister(array($this, 'loadClass'));
 
        if (null !== $this->vendorDir) {
            unset(self::$registeredLoaders[$this->vendorDir]);
        }
    }
 
    /**
     * Loads the given class or interface.
     *
     * @param  string    $class The name of the class
     * @return true|null True if loaded, null otherwise
     */
    public function loadClass($class)
    {
        if ($file = $this->findFile($class)) {
            $includeFile = self::$includeFile;
            $includeFile($file);
 
            return true;
        }
 
        return null;
    }
 
    /**
     * Finds the path to the file where the class is defined.
     *
     * @param string $class The name of the class
     *
     * @return string|false The path if found, false otherwise
     */
    public function findFile($class)
    {
        // class map lookup
        if (isset($this->classMap[$class])) {
            return $this->classMap[$class];
        }
[internal]
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.php
 *
 * For the full copyright and license information, please view the LICENSE.md
 * file that was distributed with this source code.
 *
 * ------------------------------------------------------------------
 */
 
declare(strict_types=1);
 
namespace TOC;
 
use Cocur\Slugify\Slugify;
use Cocur\Slugify\SlugifyInterface;
 
/**
 * UniqueSlugify creates slugs from text without repeating the same slug twice per instance
 *
 * @author Casey McLaughlin <caseyamcl@gmail.com>
 */
class UniqueSlugify implements SlugifyInterface
{
    /**
     * @var SlugifyInterface
     */
    private $slugify;
 
    /**
     * @var array
     */
    private $used;
 
    /**
     * Constructor
     *
     * @param SlugifyInterface|null $slugify
     */
    public function __construct(?SlugifyInterface $slugify = null)
    {
        $this->used = array();
        $this->slugify = $slugify ?: new Slugify();
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php
 
    /**
     * @return void
     */
    private static function initializeIncludeClosure()
    {
        if (self::$includeFile !== null) {
            return;
        }
 
        /**
         * Scope isolated include.
         *
         * Prevents access to $this/self from included files.
         *
         * @param  string $file
         * @return void
         */
        self::$includeFile = \Closure::bind(static function($file) {
            include $file;
        }, null, null);
    }
}
 
Arguments
  1. "/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.php"
    
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/composer/ClassLoader.php
    public function unregister()
    {
        spl_autoload_unregister(array($this, 'loadClass'));
 
        if (null !== $this->vendorDir) {
            unset(self::$registeredLoaders[$this->vendorDir]);
        }
    }
 
    /**
     * Loads the given class or interface.
     *
     * @param  string    $class The name of the class
     * @return true|null True if loaded, null otherwise
     */
    public function loadClass($class)
    {
        if ($file = $this->findFile($class)) {
            $includeFile = self::$includeFile;
            $includeFile($file);
 
            return true;
        }
 
        return null;
    }
 
    /**
     * Finds the path to the file where the class is defined.
     *
     * @param string $class The name of the class
     *
     * @return string|false The path if found, false otherwise
     */
    public function findFile($class)
    {
        // class map lookup
        if (isset($this->classMap[$class])) {
            return $this->classMap[$class];
        }
[internal]
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/MarkupFixer.php
    /**
     * @var HTML5
     */
    private $htmlParser;
 
    /**
     * @var SlugifyInterface
     */
    private $slugifier;
 
    /**
     * Constructor
     *
     * @param HTML5|null $htmlParser
     * @param SlugifyInterface|null $slugify
     */
    public function __construct(?HTML5 $htmlParser = null, ?SlugifyInterface $slugify = null)
    {
        $this->htmlParser = $htmlParser ?? new HTML5();
        $this->slugifier = $slugify ?? new UniqueSlugify();
    }
 
    /**
     * Fix markup
     *
     * @param string $markup
     * @param int    $topLevel
     * @param int    $depth
     * @return string Markup with added IDs
     * @throws RuntimeException
     */
    public function fix(string $markup, int $topLevel = 1, int $depth = 6): string
    {
        if (! $this->isFullHtmlDocument($markup)) {
            $partialID = uniqid('toc_generator_');
            $markup = sprintf("<body id='%s'>%s</body>", $partialID, $markup);
        }
 
        $domDocument = $this->htmlParser->loadHTML($markup);
        $domDocument->preserveWhiteSpace = true; // do not clobber whitespace
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/app/View/Composers/BlogPost.php
<?php
 
namespace App\View\Composers;
 
use DOMDocument;
use Roots\Acorn\View\Composer;
 
class BlogPost extends Composer
{
    protected static $views = [
        'partials.content-single',
    ];
 
    public function override()
    {
        $fields = get_fields();
 
        $htmlContent = apply_filters( 'the_content', get_the_content() );
 
        $markupFixer  = new \TOC\MarkupFixer();
        $tocGenerator = new \TOC\TocGenerator();
 
        $htmlContent = $markupFixer->fix($htmlContent);
        $fields['toc'] = $tocGenerator->getOrderedHtmlMenu($htmlContent);
        $fields['the_content'] = $htmlContent;
        $fields['the_category'] = $this->getCategory();
 
        return $fields;
    }
 
    public function getCategory() {
      $category = null;
      if(get_the_terms(get_the_id(), 'category')) {
        foreach(get_the_terms(get_the_id(), 'category') as $term) {
            if($term->name !== "Blog" && $term->name !== "Events" && $term->name !== "News") {
                $category = $term;
                return $category;
            }
        }
      }
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/roots/acorn/src/Acorn/View/Composer.php
     */
    public function compose(View $view)
    {
        $this->view = $view;
        $this->data = new Fluent($view->getData());
 
        $view->with($this->merge());
    }
 
    /**
     * Data to be merged and passed to the view before rendering.
     *
     * @return array
     */
    protected function merge()
    {
        return array_merge(
            $this->with(),
            $this->view->getData(),
            $this->override()
        );
    }
 
    /**
     * Data to be passed to view before rendering
     *
     * @return array
     */
    protected function with()
    {
        return [];
    }
 
    /**
     * Data to be passed to view before rendering
     *
     * @return array
     */
    protected function override()
    {
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/roots/acorn/src/Acorn/View/Composer.php
            return static::$views;
        }
 
        $view = array_slice(explode('\\', static::class), 3);
        $view = array_map([Str::class, 'snake'], $view, array_fill(0, count($view), '-'));
        return implode('/', $view);
    }
 
    /**
     * Compose the view before rendering.
     *
     * @param  \Illuminate\View\View $view
     * @return void
     */
    public function compose(View $view)
    {
        $this->view = $view;
        $this->data = new Fluent($view->getData());
 
        $view->with($this->merge());
    }
 
    /**
     * Data to be merged and passed to the view before rendering.
     *
     * @return array
     */
    protected function merge()
    {
        return array_merge(
            $this->with(),
            $this->view->getData(),
            $this->override()
        );
    }
 
    /**
     * Data to be passed to view before rendering
     *
     * @return array
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Concerns/ManagesEvents.php
 
        return $callback;
    }
 
    /**
     * Build a class based container callback Closure.
     *
     * @param  string  $class
     * @param  string  $prefix
     * @return \Closure
     */
    protected function buildClassEventCallback($class, $prefix)
    {
        [$class, $method] = $this->parseClassEvent($class, $prefix);
 
        // Once we have the class and method name, we can build the Closure to resolve
        // the instance out of the IoC container and call the method on it with the
        // given arguments that are passed to the Closure as the composer's data.
        return function () use ($class, $method) {
            return $this->container->make($class)->{$method}(...func_get_args());
        };
    }
 
    /**
     * Parse a class based composer name.
     *
     * @param  string  $class
     * @param  string  $prefix
     * @return array
     */
    protected function parseClassEvent($class, $prefix)
    {
        return Str::parseCallback($class, $this->classEventMethodForPrefix($prefix));
    }
 
    /**
     * Determine the class event method based on the given prefix.
     *
     * @param  string  $prefix
     * @return string
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/events/Dispatcher.php
     * @param  \Closure|string  $listener
     * @param  bool  $wildcard
     * @return \Closure
     */
    public function makeListener($listener, $wildcard = false)
    {
        if (is_string($listener)) {
            return $this->createClassListener($listener, $wildcard);
        }
 
        if (is_array($listener) && isset($listener[0]) && is_string($listener[0])) {
            return $this->createClassListener($listener, $wildcard);
        }
 
        return function ($event, $payload) use ($listener, $wildcard) {
            if ($wildcard) {
                return $listener($event, $payload);
            }
 
            return $listener(...array_values($payload));
        };
    }
 
    /**
     * Create a class based listener using the IoC container.
     *
     * @param  string  $listener
     * @param  bool  $wildcard
     * @return \Closure
     */
    public function createClassListener($listener, $wildcard = false)
    {
        return function ($event, $payload) use ($listener, $wildcard) {
            if ($wildcard) {
                return call_user_func($this->createClassCallable($listener), $event, $payload);
            }
 
            $callable = $this->createClassCallable($listener);
 
            return $callable(...array_values($payload));
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/events/Dispatcher.php
     * @param  bool  $halt
     * @return array|null
     */
    public function dispatch($event, $payload = [], $halt = false)
    {
        // When the given "event" is actually an object we will assume it is an event
        // object and use the class as the event name and this event itself as the
        // payload to the handler, which makes object based events quite simple.
        [$event, $payload] = $this->parseEventAndPayload(
            $event, $payload
        );
 
        if ($this->shouldBroadcast($payload)) {
            $this->broadcastEvent($payload[0]);
        }
 
        $responses = [];
 
        foreach ($this->getListeners($event) as $listener) {
            $response = $listener($event, $payload);
 
            // If a response is returned from the listener and event halting is enabled
            // we will just return this response, and not call the rest of the event
            // listeners. Otherwise we will add the response on the response list.
            if ($halt && ! is_null($response)) {
                return $response;
            }
 
            // If a boolean false is returned from a listener, we will stop propagating
            // the event to any further listeners down in the chain, else we keep on
            // looping through the listeners and firing every one in our sequence.
            if ($response === false) {
                break;
            }
 
            $responses[] = $response;
        }
 
        return $halt ? null : $responses;
    }
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Concerns/ManagesEvents.php
    protected function addEventListener($name, $callback)
    {
        if (Str::contains($name, '*')) {
            $callback = function ($name, array $data) use ($callback) {
                return $callback($data[0]);
            };
        }
 
        $this->events->listen($name, $callback);
    }
 
    /**
     * Call the composer for a given view.
     *
     * @param  \Illuminate\Contracts\View\View  $view
     * @return void
     */
    public function callComposer(ViewContract $view)
    {
        $this->events->dispatch('composing: '.$view->name(), [$view]);
    }
 
    /**
     * Call the creator for a given view.
     *
     * @param  \Illuminate\Contracts\View\View  $view
     * @return void
     */
    public function callCreator(ViewContract $view)
    {
        $this->events->dispatch('creating: '.$view->name(), [$view]);
    }
}
 
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
     */
    protected function renderContents()
    {
        // We will keep track of the amount of views being rendered so we can flush
        // the section after the complete rendering operation is done. This will
        // clear out the sections for any separate views that may be rendered.
        $this->factory->incrementRender();
 
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php
        $this->view = $view;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
 
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
 
    /**
     * Get the string contents of the view.
     *
     * @param  callable|null  $callback
     * @return array|string
     *
     * @throws \Throwable
     */
    public function render(callable $callback = null)
    {
        try {
            $contents = $this->renderContents();
 
            $response = isset($callback) ? $callback($this, $contents) : null;
 
            // Once we have the contents of the view, we will flush the sections if we are
            // done rendering all views so that there is nothing left hanging over when
            // another view gets rendered in the future by the application developer.
            $this->factory->flushStateIfDoneRendering();
 
            return ! is_null($response) ? $response : $contents;
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/eb422c8beb3d93cfa2fe08ce3b438f23bc0fae21.php
<?php $__env->startSection('content'); ?>
  <?php while(have_posts()): ?> <?php (the_post()); ?>
    <?php echo $__env->first(['partials.content-single-' . get_post_type(), 'partials.content-single'], \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
  <?php endwhile; ?>
<?php $__env->stopSection(); ?>
 
<?php echo $__env->make('layouts.app', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?><?php /**PATH /home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php ENDPATH**/ ?>
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/PhpEngine.php
    /**
     * Get the evaluated contents of the view at the given path.
     *
     * @param  string  $__path
     * @param  array  $__data
     * @return string
     */
    protected function evaluatePath($__path, $__data)
    {
        $obLevel = ob_get_level();
 
        ob_start();
 
        extract($__data, EXTR_SKIP);
 
        // We'll evaluate the contents of the view inside a try/catch block so we can
        // flush out any stray output that might get out before an error occurs or
        // an exception is thrown. This prevents any partial views from leaking.
        try {
            include $__path;
        } catch (Throwable $e) {
            $this->handleViewException($e, $obLevel);
        }
 
        return ltrim(ob_get_clean());
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Throwable  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Throwable
     */
    protected function handleViewException(Throwable $e, $obLevel)
    {
        while (ob_get_level() > $obLevel) {
            ob_end_clean();
Arguments
  1. "/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/eb422c8beb3d93cfa2fe08ce3b438f23bc0fae21.php"
    
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/Engines/CompilerEngine.php
     *
     * @param  string  $path
     * @param  array  $data
     * @return string
     */
    public function get($path, array $data = [])
    {
        $this->lastCompiled[] = $path;
 
        // If this given view has expired, which means it has simply been edited since
        // it was last compiled, we will re-compile the views so we can evaluate a
        // fresh copy of the view. We'll pass the compiler the path of the view.
        if ($this->compiler->isExpired($path)) {
            $this->compiler->compile($path);
        }
 
        // Once we have the path to the compiled file, we will evaluate the paths with
        // typical PHP just like any other templates. We also keep a stack of views
        // which have been rendered for right exception messages to be generated.
        $results = $this->evaluatePath($this->compiler->getCompiledPath($path), $data);
 
        array_pop($this->lastCompiled);
 
        return $results;
    }
 
    /**
     * Handle a view exception.
     *
     * @param  \Throwable  $e
     * @param  int  $obLevel
     * @return void
     *
     * @throws \Throwable
     */
    protected function handleViewException(Throwable $e, $obLevel)
    {
        $e = new ViewException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e);
 
        parent::handleViewException($e, $obLevel);
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
     * Get the data bound to the view instance.
     *
     * @return array
     */
    public function gatherData()
    {
        $data = array_merge($this->factory->getShared(), $this->data);
 
        foreach ($data as $key => $value) {
            if ($value instanceof Renderable) {
                $data[$key] = $value->render();
            }
        }
 
        return $data;
    }
 
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
     */
    protected function renderContents()
    {
        // We will keep track of the amount of views being rendered so we can flush
        // the section after the complete rendering operation is done. This will
        // clear out the sections for any separate views that may be rendered.
        $this->factory->incrementRender();
 
        $this->factory->callComposer($this);
 
        $contents = $this->getContents();
 
        // Once we've finished rendering the view, we'll decrement the render count
        // so that each sections get flushed out next time a view is created and
        // no old sections are staying around in the memory of an environment.
        $this->factory->decrementRender();
 
        return $contents;
    }
 
    /**
     * Get the evaluated contents of the view.
     *
     * @return string
     */
    protected function getContents()
    {
        return $this->engine->get($this->path, $this->gatherData());
    }
 
    /**
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/vendor/illuminate/view/View.php
        $this->view = $view;
        $this->path = $path;
        $this->engine = $engine;
        $this->factory = $factory;
 
        $this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
    }
 
    /**
     * Get the string contents of the view.
     *
     * @param  callable|null  $callback
     * @return array|string
     *
     * @throws \Throwable
     */
    public function render(callable $callback = null)
    {
        try {
            $contents = $this->renderContents();
 
            $response = isset($callback) ? $callback($this, $contents) : null;
 
            // Once we have the contents of the view, we will flush the sections if we are
            // done rendering all views so that there is nothing left hanging over when
            // another view gets rendered in the future by the application developer.
            $this->factory->flushStateIfDoneRendering();
 
            return ! is_null($response) ? $response : $contents;
        } catch (Throwable $e) {
            $this->factory->flushState();
 
            throw $e;
        }
    }
 
    /**
     * Get the contents of the view instance.
     *
     * @return string
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/index.php
<!doctype html>
<html <?php language_attributes(); ?>>
 
    <?php echo \Roots\view(\Roots\app('sage.view'), \Roots\app('sage.data'))->render(); ?>
 
</html>
 
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php
            }
 
            break;
        }
    }
 
    if ( ! $template ) {
        $template = get_index_template();
    }
 
    /**
     * 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 ) {
        include $template;
    } elseif ( current_user_can( 'switch_themes' ) ) {
        $theme = wp_get_theme();
        if ( $theme->errors() ) {
            wp_die( $theme->errors() );
        }
    }
    return;
}
 
Arguments
  1. "/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/index.php"
    
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php
<?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';
 
}
 
Arguments
  1. "/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php"
    
/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/index.php
<?php
/**
 * WordPress View Bootstrapper
 */
define('WP_USE_THEMES', true);
require __DIR__ . '/wp/wp-blog-header.php';
 
Arguments
  1. "/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php"
    

Environment & details:

Key Value
query_vars
array:3 [
  "page" => ""
  "name" => "breathing-new-life-into-old-clothes-shannan-mackenzie-halls-sustainable-fashion-journey"
  "category_name" => "blog"
]
query_string
"name=breathing-new-life-into-old-clothes-shannan-mackenzie-halls-sustainable-fashion-journey&category_name=blog"
request
"blog/breathing-new-life-into-old-clothes-shannan-mackenzie-halls-sustainable-fashion-journey"
matched_rule
"(.+?)/([^/]+)(?:/([0-9]+))?/?$"
matched_query
"category_name=blog&name=breathing-new-life-into-old-clothes-shannan-mackenzie-halls-sustainable-fashion-journey&page="
did_permalink
true
Key Value
query
array:3 [
  "page" => ""
  "name" => "breathing-new-life-into-old-clothes-shannan-mackenzie-halls-sustainable-fashion-journey"
  "category_name" => "blog"
]
query_vars
array:66 [
  "page" => 0
  "name" => "breathing-new-life-into-old-clothes-shannan-mackenzie-halls-sustainable-fashion-journey"
  "category_name" => "blog"
  "error" => ""
  "m" => ""
  "p" => 0
  "post_parent" => ""
  "subpost" => ""
  "subpost_id" => ""
  "attachment" => ""
  "attachment_id" => 0
  "pagename" => ""
  "page_id" => 0
  "second" => ""
  "minute" => ""
  "hour" => ""
  "day" => 0
  "monthnum" => 0
  "year" => 0
  "w" => 0
  "tag" => ""
  "cat" => ""
  "tag_id" => ""
  "author" => ""
  "author_name" => ""
  "feed" => ""
  "tb" => ""
  "paged" => 0
  "meta_key" => ""
  "meta_value" => ""
  "preview" => ""
  "s" => ""
  "sentence" => ""
  "title" => ""
  "fields" => ""
  "menu_order" => ""
  "embed" => ""
  "category__in" => []
  "category__not_in" => []
  "category__and" => []
  "post__in" => []
  "post__not_in" => []
  "post_name__in" => []
  "tag__in" => []
  "tag__not_in" => []
  "tag__and" => []
  "tag_slug__in" => []
  "tag_slug__and" => []
  "post_parent__in" => []
  "post_parent__not_in" => []
  "author__in" => []
  "author__not_in" => []
  "search_columns" => []
  "ignore_sticky_posts" => false
  "suppress_filters" => false
  "cache_results" => true
  "update_post_term_cache" => true
  "update_menu_item_cache" => false
  "lazy_load_term_meta" => true
  "update_post_meta_cache" => true
  "post_type" => ""
  "posts_per_page" => 10
  "nopaging" => false
  "comments_per_page" => "50"
  "no_found_rows" => false
  "order" => "DESC"
]
meta_query
WP_Meta_Query {#2559}
queried_object
WP_Post {#2560}
queried_object_id
19071
request
"""
SELECT   wp_posts.*\n
\t\t\t\t\t FROM wp_posts \n
\t\t\t\t\t WHERE 1=1  AND wp_posts.post_name = 'breathing-new-life-into-old-clothes-shannan-mackenzie-halls-sustainable-fashion-journey' AND wp_posts.post_type = 'post'\n
\t\t\t\t\t \n
\t\t\t\t\t ORDER BY wp_posts.post_date DESC\n
\t\t\t\t\t 
"""
post_count
1
in_the_loop
true
current_comment
-1
found_posts
1
is_single
true
is_singular
true
Key Value
ID
19071
post_author
"43"
post_date
"2020-04-22 18:25:11"
post_date_gmt
"2020-04-22 18:25:11"
post_content
"""
We have once again reached that special time of the year – <a href="https://canadianfilmday.ca/" target="_blank" rel="noopener noreferrer">National Canadian Film Day</a>.\n
\n
&nbsp;\n
\n
Billed as a day dedicated to encouraging all Canadians to celebrate the incredible achievements of our nation’s filmmakers, National Canadian Film Day marks the perfect occasion to watch some great Canadian film and television.\n
\n
&nbsp;\n
<p style="text-align: center;"><iframe src="https://www.youtube.com/embed/QvPbKM6xDMA" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>\n
&nbsp;\n
\n
To help you out with your viewing selections, we at Toronto Film School reached out to some of our faculty to provide their top three recommendations:\n
\n
&nbsp;\n
\n
<img class="alignnone size-medium wp-image-10380 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2017/07/TFS_BlogImage_AndrewInterview.jpg" alt="" width="670" height="392" />\n
<p style="text-align: center;"><a href="http://www.project10.ca/about" target="_blank" rel="noopener noreferrer"><strong>Andrew Barnsley </strong></a><strong>– </strong><a href="https://www.torontofilmschool.ca/blog/andrew-barnsley-executive-producer-schitts-creek-joins-toronto-film-school-executive-producer-residence/" target="_blank" rel="noopener noreferrer"><strong>Executive Producer in Residence</strong></a><strong>: </strong></p>\n
&nbsp;\n
\n
Barnsley is one of the <a href="https://www.torontofilmschool.ca/blog/toronto-film-schools-andrew-barnsley-scores-four-emmy-nods-with-schitts-creek-team/" target="_blank" rel="noopener noreferrer">Emmy-nominated</a> executive producers of the CBC’s hit comedy series <a href="https://www.cbc.ca/schittscreek/m_site/" target="_blank" rel="noopener noreferrer"><em>Schitt’s Creek</em></a><em>.</em> In addition to his 2019 Outstanding Comedy Series Emmy nomination, Andrew’s work on the Eugene Levy and Catherine O’Hara fronted show has also garnered him two Canadian Screen Awards for Best Comedy Series, as well as a 2019 Critic's Choice Television Award nomination. As the CEO of <a href="http://www.project10.ca/" target="_blank" rel="noopener noreferrer">Project 10 Productions</a>, Barnsley currently splits his time between Toronto and Los Angeles, where his 2019 development and production slate also includes CTV’s <a href="https://www.ctv.ca/Jann" target="_blank" rel="noopener noreferrer"><em>Jann</em></a>, and the Family Channel tween series, <a href="https://www.family.ca/shows/my-perfect-landing/" target="_blank" rel="noopener noreferrer"><em>My Perfect Landing</em></a><em>.</em><em> </em>\n
\n
&nbsp;\n
<p style="text-align: center;"><strong>Barnsley’s top 3 must-see Canadian films: </strong></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt0065788/" target="_blank" rel="noopener noreferrer"><em>Goin' Down The Road</em></a>, directed by <a href="https://www.imdb.com/name/nm0790519/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Donald Shebib</a></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt0295552/" target="_blank" rel="noopener noreferrer"><em>Rare Birds</em></a><em>,</em> directed by <a href="https://www.imdb.com/name/nm0348274/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Sturla Gunnarsson</a></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt0116768/" target="_blank" rel="noopener noreferrer"><em>Kids In The Hall: Brain Candy</em></a>, directed by <a href="https://www.imdb.com/name/nm0538614/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Kelly Makin</a></p>\n
&nbsp;\n
\n
<img class="alignnone size-medium wp-image-8096 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2014/04/AdamTill_1025.jpg" alt="" width="670" height="386" />\n
<p style="text-align: center;"><a href="https://www.imdb.com/name/nm1733337/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer"><strong>Adam Till </strong></a><strong>– </strong><a href="https://www.torontofilmschool.ca/programs/writing-for-film-tv-diploma/" target="_blank" rel="noopener noreferrer"><strong>Writing for Film &amp; TV</strong></a><strong> Program Director:</strong><strong> </strong></p>\n
&nbsp;\n
\n
A former lawyer, award-winning screenwriter Till made the transition from the courtroom to the writer’s room in 2001 and hasn’t looked back. Till saw early success with his short film <em>Leo</em> being accepted into TIFF. He then moved on to television, where he worked with <a href="https://www.imdb.com/name/nm0000382/" target="_blank" rel="noopener noreferrer">Atom Egoyan</a> to adapt the film <a href="https://www.imdb.com/name/nm0000382/" target="_blank" rel="noopener noreferrer"><em>The Adjuster</em></a> into a television series – a project that was later optioned to Showtime. Till’s TV credits include <a href="https://www.imdb.com/title/tt0488813/" target="_blank" rel="noopener noreferrer"><em>Billable Hours</em></a>, a sitcom he co-created with series star Fabrizio Filippo, and which ran on Showcase for three seasons.\n
\n
&nbsp;\n
<p style="text-align: center;"><strong>Till’s top 3 must-see Canadian films: </strong></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt0165773/" target="_blank" rel="noopener noreferrer"><em>Felicia's Journey</em></a>, directed by <a href="https://www.imdb.com/name/nm0000382/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Atom Egoyan</a></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt0210070/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer"><em>Ginger Snaps</em></a><em>,</em> written by <a href="https://www.imdb.com/name/nm0910550/?ref_=tt_ov_wr" target="_blank" rel="noopener noreferrer">Karen Walton</a></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt0219405/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer"><em>Waydowntown</em></a><em>,</em>starring <a href="https://www.imdb.com/name/nm0277116/?ref_=tt_ov_st_sm" target="_blank" rel="noopener noreferrer">Fab Filippo </a></p>\n
&nbsp;\n
<p style="text-align: center;"><strong>Till’s top 3 must-see Canadian TV series:  </strong></p>\n
<p style="text-align: center;"><a href="https://www.cbc.ca/schittscreek/m_site/" target="_blank" rel="noopener noreferrer"><em>Schitt’s Creek</em></a></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt4647692/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer"><em>Letterkenny</em></a></p>\n
<p style="text-align: center;"><em><a href="https://www.imdb.com/title/tt0290988/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer">Trailer Park Boys</a></em></p>\n
&nbsp;\n
\n
<img class="alignnone size-medium wp-image-19275 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/03/TFS_FP_YaleMassey_0311.jpg" alt="" width="670" height="393" />\n
<p style="text-align: center;"><a href="https://www.imdb.com/name/nm1416312/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer"><strong>Yale Massey</strong></a><strong> – </strong><a href="https://www.torontofilmschool.ca/programs/film-production-diploma/" target="_blank" rel="noopener noreferrer"><strong>Film Production</strong></a><strong> Program Director:</strong><strong> </strong></p>\n
&nbsp;\n
\n
Massey is an award-winning producer, director, writer and cinematographer. As a partner in Massey Bros. Films, he co-wrote and directed a six-part television series entitled <a href="https://www.imdb.com/title/tt0813713/?ref_=nm_flmg_prd_2" target="_blank" rel="noopener noreferrer"><em>Hart of the Annex</em></a>. Since then, Yale has written, directed and produced five seasons of the Gemini-nominated documentary series, <a href="https://www.imdb.com/title/tt3216390/?ref_=nm_flmg_prd_3" target="_blank" rel="noopener noreferrer"><em>The Film Student</em></a>, and has directed and produced two documentaries: <a href="https://torontoobserver.ca/2010/04/20/documentary-focuses-on-the-hard-realities-of-gabian-way/" target="_blank" rel="noopener noreferrer"><em>G-Way</em></a> focused on issues facing at-risk youth; while <em>HIV: A Nutrient Deficiency Disease </em>outlined holistic solutions to HIV in Africa.\n
\n
&nbsp;\n
<p style="text-align: center;"><strong>Massey’s top 3 must-see Canadian films: </strong></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt1424797/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer"><em>I Killed My Mother</em></a>, directed by <a href="https://www.imdb.com/name/nm0230859/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Xavier Dolan</a></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt2366450/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer"><em>Stories We Tell</em></a>, directed by <a href="https://www.imdb.com/name/nm0001631/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Sarah Polley</a></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt0108328/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer"><em>Thirty Two Short Films About Glenn Gould</em></a>, directed by <a href="https://www.imdb.com/name/nm0320660/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Francois Gerard</a></p>\n
&nbsp;\n
<p style="text-align: center;"><strong>Massey’s top 2 must-see Canadian TV series:</strong></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt0075578/" target="_blank" rel="noopener noreferrer"><em>Second City TV</em></a></p>\n
<p style="text-align: center;"><a href="https://www.cbc.ca/schittscreek/m_site/" target="_blank" rel="noopener noreferrer"><em>Schitt’s Creek</em></a></p>\n
&nbsp;\n
\n
<img class="alignnone size-medium wp-image-19691 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/04/TFS_ACT_HartMasseyHeadshot_0421.jpg" alt="" width="670" height="393" />\n
\n
&nbsp;\n
<p style="text-align: center;"><a href="https://www.imdb.com/name/nm0557310/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer"><strong>Hart Massey</strong></a><strong> – </strong><a href="https://www.torontofilmschool.ca/programs/acting-for-film-tv-and-the-theatre-diploma/" target="_blank" rel="noopener noreferrer"><strong>Acting for Film, Television, &amp; the Theatre</strong></a><strong> Program Director:</strong><strong> </strong></p>\n
&nbsp;\n
\n
Massey is an actor, writer, producer and teacher who has worked in the theatre and film industry since he was a child. With more than 30 years of experience, he has collaborated with Canada’s finest directors and entertainers, including Ryan Reynolds, Don Cherry, Tomson Highway, and others. He is a partner in the film company Massey Bros. Films, for which he produced and starred in his self-titled TV series, <a href="https://www.imdb.com/title/tt0813713/?ref_=nm_flmg_prd_2" target="_blank" rel="noopener noreferrer"><em>Hart of the Annex</em></a>, bringing him acclaim in several Canadian newspapers and the nomination for Best Television Series at the Rogers Impression Awards.\n
\n
&nbsp;\n
<p style="text-align: center;"><strong>Massey’s top 3 must-see Canadian films: </strong></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt0109759/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer"><em>Exotica</em></a>, directed by <a href="https://www.imdb.com/name/nm0000382/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Atom Egoyan</a></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt0401085/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer"><em>C. R.A.Z.Y.,</em></a> directed by <a href="https://www.imdb.com/name/nm0885249/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Jean-Marc Valee</a></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt0156729/?ref_=fn_al_tt_3" target="_blank" rel="noopener noreferrer"><em>Last Night</em></a>, directed by <a href="https://www.imdb.com/name/nm0001528/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Don McKellar</a></p>\n
&nbsp;\n
<p style="text-align: center;"><strong>Massey’s top 3 must see Canadian TV series: </strong></p>\n
<p style="text-align: center;"><a href="https://www.cbc.ca/schittscreek/m_site/" target="_blank" rel="noopener noreferrer"><em>Schitt’s Creek</em></a></p>\n
<p style="text-align: center;"><a href="https://www.imdb.com/title/tt0488813/" target="_blank" rel="noopener noreferrer"><em>Billable Hours</em></a></p>\n
<p style="text-align: center;"><em><a href="https://www.imdb.com/title/tt0813713/?ref_=nm_flmg_prd_2" target="_blank" rel="noopener noreferrer">Hart of the Annex </a></em></p>\n
&nbsp;\n
\n
Two of Toronto Film School’s faculty have recently released their own films as well. <a href="https://www.imdb.com/name/nm1192752/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">Randall Okita</a> directed the VR masterpiece <a href="https://www.imdb.com/title/tt12175526/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer"><em>The Book of Distance </em></a>and <a href="https://www.imdb.com/name/nm0907899/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">Jordan Walker</a> produced <a href="https://www.imdb.com/title/tt6739796/?ref_=nm_flmg_prd_1" target="_blank" rel="noopener noreferrer"><em>James </em>v<em>s. His Future Self</em></a>, a comedic sci-fi staring <a href="https://www.imdb.com/name/nm0827663/?ref_=tt_cl_t2" target="_blank" rel="noopener noreferrer">Daniel Stern</a>.\n
\n
&nbsp;\n
\n
Make sure you tag Toronto Film School and use the hashtag #canfilmday when you share your own list of must-see Canadian films on social media today!\n
\n
&nbsp;
"""
post_title
"Breathing New Life Into Old Clothes | Shannan MacKenzie-Hall's Sustainable Fashion Journey"
post_excerpt
""
post_status
"publish"
comment_status
"closed"
ping_status
"open"
post_password
""
post_name
"breathing-new-life-into-old-clothes-shannan-mackenzie-halls-sustainable-fashion-journey"
to_ping
""
pinged
""
post_modified
"2023-03-27 21:07:58"
post_modified_gmt
"2023-03-27 21:07:58"
post_content_filtered
""
post_parent
0
guid
"https://dev.tfs.staging.poundandgrain.ca/?p=19071"
menu_order
0
post_type
"post"
post_mime_type
""
comment_count
"0"
filter
"raw"
empty
empty
empty
empty
empty
Key Value
SERVER_SOFTWARE
"nginx/1.22.1"
REQUEST_URI
"/blog/breathing-new-life-into-old-clothes-shannan-mackenzie-halls-sustainable-fashion-journey/"
USER
"forge"
HOME
"/home/forge"
HTTP_REFERER
"https://dev.tfs.staging.poundandgrain.ca/blog/breathing-new-life-into-old-clothes-shannan-mackenzie-halls-sustainable-fashion-journey"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT
"*/*"
HTTP_HOST
"dev.tfs.staging.poundandgrain.ca"
REDIRECT_STATUS
"200"
HTTPS
"on"
SERVER_NAME
"dev.tfs.staging.poundandgrain.ca"
SERVER_PORT
"443"
SERVER_ADDR
"10.0.1.187"
REMOTE_PORT
"49600"
REMOTE_ADDR
"3.144.172.9"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/2.0"
DOCUMENT_ROOT
"/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web"
DOCUMENT_URI
"/index.php"
SCRIPT_NAME
"/index.php"
SCRIPT_FILENAME
"/home/forge/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
""
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1731840560.8147
REQUEST_TIME
1731840560
DB_NAME
"tfs_dev"
DB_USER
"***"
DB_PASSWORD
"************"
WP_ENV
"development"
WP_HOME
"https://dev.tfs.staging.poundandgrain.ca"
WP_SITEURL
"https://dev.tfs.staging.poundandgrain.ca/wp"
WP_DEBUG_LOG
"/path/to/debug.log"
AUTH_KEY
"****************************************************************"
SECURE_AUTH_KEY
"****************************************************************"
LOGGED_IN_KEY
"****************************************************************"
NONCE_KEY
"****************************************************************"
AUTH_SALT
"****************************************************************"
SECURE_AUTH_SALT
"****************************************************************"
LOGGED_IN_SALT
"****************************************************************"
NONCE_SALT
"****************************************************************"
ACF_PRO_KEY
"b3JkZXJfaWQ9NDQxMjV8dHlwZT1kZXZlbG9wZXJ8ZGF0ZT0yMDE0LTExLTEyIDA2OjA0OjE3"
Key Value
DB_NAME
"tfs_dev"
DB_USER
"***"
DB_PASSWORD
"************"
WP_ENV
"development"
WP_HOME
"https://dev.tfs.staging.poundandgrain.ca"
WP_SITEURL
"https://dev.tfs.staging.poundandgrain.ca/wp"
WP_DEBUG_LOG
"/path/to/debug.log"
AUTH_KEY
"****************************************************************"
SECURE_AUTH_KEY
"****************************************************************"
LOGGED_IN_KEY
"****************************************************************"
NONCE_KEY
"****************************************************************"
AUTH_SALT
"****************************************************************"
SECURE_AUTH_SALT
"****************************************************************"
LOGGED_IN_SALT
"****************************************************************"
NONCE_SALT
"****************************************************************"
ACF_PRO_KEY
"b3JkZXJfaWQ9NDQxMjV8dHlwZT1kZXZlbG9wZXJ8ZGF0ZT0yMDE0LTExLTEyIDA2OjA0OjE3"
0. Roots\Acorn\Exceptions\Handler\PrettyPageHandler