*
* @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;
}
"syntax error, unexpected '|', expecting variable (T_VARIABLE) (View: /home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.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();
}
*
* @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;
}
"syntax error, unexpected '|', expecting variable (T_VARIABLE)"
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];
}
*
* 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();
/**
* @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);
}
}
"/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/vendor/caseyamcl/toc/src/UniqueSlugify.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];
}
/**
* @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
<?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;
}
}
}
*/
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()
{
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
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
* @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));
* @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;
}
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]);
}
}
} 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());
}
$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
<?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/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/resources/views/single.blade.php ENDPATH**/ ?>
/**
* 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();
"/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/2bc8d2ea874031e3ddb3a557319b7cad31a2f2d3.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);
$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;
}
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());
}
/**
$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
<!doctype html>
<html <?php language_attributes(); ?>>
<?php echo \Roots\view(\Roots\app('sage.view'), \Roots\app('sage.data'))->render(); ?>
</html>
}
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;
}
"/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/index.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';
}
"/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-includes/template-loader.php"
<?php
/**
* WordPress View Bootstrapper
*/
define('WP_USE_THEMES', true);
require __DIR__ . '/wp/wp-blog-header.php';
"/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php"
Key | Value |
query_vars | array:3 [ "page" => "" "name" => "toronto-film-school-announces-2020-festival-of-films-award-winners" "category_name" => "news" ] |
query_string | "name=toronto-film-school-announces-2020-festival-of-films-award-winners&category_name=news"
|
request | "news/toronto-film-school-announces-2020-festival-of-films-award-winners"
|
matched_rule | "(.+?)/([^/]+)(?:/([0-9]+))?/?$"
|
matched_query | "category_name=news&name=toronto-film-school-announces-2020-festival-of-films-award-winners&page="
|
did_permalink | true
|
Key | Value |
query | array:3 [ "page" => "" "name" => "toronto-film-school-announces-2020-festival-of-films-award-winners" "category_name" => "news" ] |
query_vars | array:66 [ "page" => 0 "name" => "toronto-film-school-announces-2020-festival-of-films-award-winners" "category_name" => "news" "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" => 16 "nopaging" => false "comments_per_page" => "50" "no_found_rows" => false "order" => "DESC" ] |
meta_query | WP_Meta_Query {#2562} |
queried_object | WP_Post {#2563} |
queried_object_id | 22349
|
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 = 'toronto-film-school-announces-2020-festival-of-films-award-winners' 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 | 22349
|
post_author | "43"
|
post_date | "2021-03-01 20:03:54"
|
post_date_gmt | "2021-03-01 20:03:54"
|
post_content | """ <a href="https://www.mandy.com/ca/films/the-adjustment" target="_blank" rel="noopener noreferrer"><em>The Adjustment</em></a><em>, a </em>story of a timid young woman who struggles through an uncomfortable encounter with a boundary-crossing new doctor, walked away from the <a href="https://staging.torontofilmschool.ca/blog/toronto-film-school-celebrates-2020-festival-of-films-virtually/" target="_blank" rel="noopener noreferrer">2020 Toronto Film School Festival of Films</a> with the biggest awards haul of the year.\n \n \n \n The 10-minute short took home three of the top prizes, including Best Picture and Best Director trophies for <a href="https://www.mandy.com/ca/crew/talia-faubert" target="_blank" rel="noopener noreferrer">Talia Faubert</a>, from the festival’s virtual awards ceremony held Feb. 27.\n \n \n \n According to <a href="https://staging.torontofilmschool.ca/programs/film-production-diploma/faculty/" target="_blank" rel="noopener noreferrer">Yale Massey</a>, director of the <a href="https://staging.torontofilmschool.ca/programs/film-production-diploma/" target="_blank" rel="noopener noreferrer">Film Production</a> program, <em>The Adjustment</em> was just one of an amazing lineup of projects screened during the virtual festival late last year.\n \n \n \n <img class="aligncenter wp-image-19275 size-medium" src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_FP_YaleMassey_0311-670x393-1.jpg" alt="Headshot of Yale Massey" width="670" height="393" />\n \n \n \n “We received 150 submissions from students and graduates and we screened 62 of those films, for a total of 5.5 hours of content,” Massey said of the Dec. 3 festival, which featured the best short films, documentaries, commercials and music videos created by Toronto Film School students and graduates.\n \n \n \n The 62 shortlisted projects were ultimately evaluated by a panel of 22 judges, all of whom were involved in the decision-making process as to which projects would be showcased, which would receive nominations and which would win awards.\n \n \n \n “At the awards show, we gave out 16 awards,” Massey said of the virtual ceremony, which was emceed by Toronto Film School’s <a href="https://staging.torontofilmschool.ca/blog/andrew-barnsley-celebrates-schitts-creeks-historic-night-at-emmys/" target="_blank" rel="noopener noreferrer">Emmy-winning</a> <a href="https://staging.torontofilmschool.ca/blog/andrew-barnsley-executive-producer-schitts-creek-joins-toronto-film-school-executive-producer-residence/" target="_blank" rel="noopener noreferrer">Executive Producer in Residence</a> <a href="http://www.project10.ca/about" target="_blank" rel="noopener noreferrer">Andrew Barnsley</a>.\n \n \n \n Following closely behind <em>The Adjustment</em> in the trophy tally were a trio of films that took home a pair of awards each – <a href="https://www.imdb.com/title/tt12194510/?ref_=nm_flmg_cin_1" target="_blank" rel="noopener noreferrer"><em>My Special Date</em></a> (Best Producer, Best Cinematography),<em> Begin Again </em>(Best Male Performance, Best Screenplay) and<em> Red Underwear </em>(Best Special Effects, Best Production Design).\n \n \n \n “The event brought the TFS community together in a very special way,” Massey added. “We met up on Zoom after the show and the award winners delivered inspiring and touching speeches.”\n \n \n \n Many of the winners also took to social media to celebrate their wins – including <a href="https://www.imdb.com/name/nm8171461/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">Sani Jalalzadeh</a>, who took home the Best Female Performance award for her role in <em>The Burning Cold, </em>and <a href="https://staging.torontofilmschool.ca/blog/how-i-made-this-acting-grad-simeon-ross-takes-us-behind-the-scenes-of-his-latest-music-video/" target="_blank" rel="noopener noreferrer">Simeon Ross</a>, who won Best Music Video for <a href="https://www.youtube.com/watch?v=h20fGxEXlos" target="_blank" rel="noopener noreferrer"><em>All For You</em></a><em>.</em>\n \n \n \n <img class="aligncenter wp-image-22352 size-medium" src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_FestOfFilmsTheBurningGold1_1203-670x281-1.jpg" alt="Screen Capture from The Burning Cold" width="670" height="281" />\n \n <em> </em>\n \n “What an honour! I’m so speechless…I want to especially thank (director/screenwriter) Naser Vafi for not only his deeply emotional and brilliant screenplay for <em>The Burning Cold</em>, but also for the opportunity and trust he put in me to help bring his vision and story to life,” Jalalzadeh wrote in an <a href="https://www.instagram.com/p/CL3RDIYhsP4/" target="_blank" rel="noopener noreferrer">Instagram post</a> that shouted out the film’s entire cast and crew.\n \n \n \n “Making a film really does take a village and we were a good little tribe that made work feel like play every day and that, to me, is the dream job I can ask for.”\n \n \n \n Added Ross: “Wow! I literally can’t believe this! <a href="https://www.youtube.com/watch?v=h20fGxEXlos" target="_blank" rel="noopener noreferrer"><em>All For You</em></a> won best music video at the Toronto Film School’s <a href="https://staging.torontofilmschool.ca/blog/toronto-film-school-celebrates-2020-festival-of-films-virtually/" target="_blank" rel="noopener noreferrer">Festival of Films</a>! I’m honoured and so grateful!” he wrote in a series of celebratory <a href="https://www.instagram.com/simeonrossmusic/" target="_blank" rel="noopener noreferrer">Instagram posts</a>.\n \n \n \n <img class="aligncenter wp-image-22353 size-medium" src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_SimeonRossAllForYou1_0122-670x281-1.jpg" alt="Screen Capture from All For You" width="670" height="281" />\n \n \n \n “Attending the acting program at Toronto Film School was one of the highlights of my life…<em>All For You</em> has now been accepted to nine film festivals…but this one was super special to me, TFS being one of my favourite places on earth. I’m eternally grateful to this school, the amazing teachers, and the incredible acting training I received there!”\n \n \n \n The full list of 2020 Toronto Film School Festival of Films award winners are as follows:\n \n \n <h2 style="text-align: center;"><strong>Best Picture:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><em><a href="https://www.mandy.com/ca/films/the-adjustment" target="_blank" rel="noopener noreferrer">The Adjustment</a> </em>| <a href="https://www.mandy.com/ca/crew/talia-faubert" target="_blank" rel="noopener noreferrer">Talia Faubert</a></p>\n <p style="text-align: center;"><em> </em></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Best Director:</strong></h2>\n <p style="text-align: center;"><strong><em> </em></strong></p>\n <p style="text-align: center;"><em><a href="https://www.mandy.com/ca/films/the-adjustment" target="_blank" rel="noopener noreferrer">The Adjustment</a> </em>| <a href="https://www.mandy.com/ca/crew/talia-faubert" target="_blank" rel="noopener noreferrer">Talia Faubert</a></p>\n \n <p style="text-align: center;"><em> </em></p>\n <p style="text-align: center;"><em> <img class="alignnone wp-image-22354 size-medium" src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_FestOfFilmsMySpecialDate1_1203-670x281-1.jpg" alt="Screen Capture from My Special Date" width="670" height="281" /></em></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Best Producer:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><a href="https://www.imdb.com/title/tt12194510/?ref_=nm_flmg_cin_1" target="_blank" rel="noopener noreferrer"><em>My Special Date</em></a> | Jamyang Kunga Tenzin</p>\n <p style="text-align: center;"><em> </em></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Best Female Performance:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><a href="https://www.imdb.com/name/nm8171461/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">Sani Jalalzadeh</a> | <em>The Burning Cold</em></p>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Best Male Performance:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;">Joseph Dancey | <em>Begin Again</em></p>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Best Screenplay: </strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><em>Begin Again</em> | Alex Nicolescu</p>\n <p style="text-align: center;"><strong><em> </em></strong></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Best Cinematography:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><a href="https://www.imdb.com/title/tt12194510/?ref_=nm_flmg_cin_1" target="_blank" rel="noopener noreferrer"><em>My Special Date</em></a> | <a href="https://www.imdb.com/name/nm11302321/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">Yash Dubey</a></p>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Best Documentary:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><em>Mothering in Quarantine</em> | Kyisha Williams</p>\n \n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><img class="alignnone wp-image-22355 size-medium" src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_FestOfFilmsVitamin1_1203-670x281-1.jpg" alt="Screen Capture from Vitamin" width="670" height="281" /></p>\n \n <h2 style="text-align: center;"><strong>Best Sound:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><a href="https://www.imdb.com/title/tt11616772/?ref_=nm_flmg_snd_1" target="_blank" rel="noopener noreferrer"><em>Vitamin</em></a> | <a href="https://www.imdb.com/name/nm11277113/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">Mung Hatlang</a> and <a href="https://www.imdb.com/name/nm11277111/?ref_=ttfc_fc_cr22" target="_blank" rel="noopener noreferrer">Ashtyn Pires </a></p>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Best Visual Effects:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><em>Red Underwear | </em><a href="https://www.imdb.com/name/nm10195259/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Ayush Anand</a></p>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Best Film Editing:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><em><a href="https://www.mandy.com/ca/films/the-adjustment" target="_blank" rel="noopener noreferrer">The Adjustment</a> | </em>Maxim Baraliuc</p>\n \n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><strong> <img class="alignnone wp-image-22356 size-medium" src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_FestOfFilmsRedUnderwear1_1203-670x281-1.jpg" alt="Screen Capture from Red Underwear" width="670" height="281" /></strong></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Best Production Design:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><em>Red Underwear | </em>Jamyang Kunga Tenzin</p>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Best Commercial:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><em>Cheerios</em> | Pulkit Mehndiratta</p>\n \n <h2></h2>\n <h2 style="text-align: center;"><strong>Best Music Video:</strong></h2>\n \n <p style="text-align: center;"><a href="https://www.youtube.com/watch?v=h20fGxEXlos" target="_blank" rel="noopener noreferrer"><em>All For You</em></a> | <a href="https://www.imdb.com/name/nm2806846/?ref_=fn_al_nm_4" target="_blank" rel="noopener noreferrer">Simeon Ross</a></p>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Motion Design Award:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;">Abigail Thorson</p>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><strong> </strong></p>\n \n <h2 style="text-align: center;"><strong>Best Graduating Video Game:</strong></h2>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><em>A Lynx’s Tale</em> | Fall 2019</p>\n \n \n \n \n """ |
post_title | "Toronto Film School Announces 2020 Festival of Films Award Winners"
|
post_excerpt | "" |
post_status | "publish"
|
comment_status | "closed"
|
ping_status | "open"
|
post_password | "" |
post_name | "toronto-film-school-announces-2020-festival-of-films-award-winners"
|
to_ping | "" |
pinged | "" |
post_modified | "2023-04-04 19:10:19"
|
post_modified_gmt | "2023-04-04 19:10:19"
|
post_content_filtered | "" |
post_parent | 0
|
guid | "https://uat.tfs.staging.poundandgrain.ca/?p=22349"
|
menu_order | 0
|
post_type | "post"
|
post_mime_type | "" |
comment_count | "0"
|
filter | "raw"
|
Key | Value |
SERVER_SOFTWARE | "nginx/1.22.1"
|
REQUEST_URI | "/news/toronto-film-school-announces-2020-festival-of-films-award-winners/"
|
USER | "forge"
|
HOME | "/home/forge"
|
HTTP_REFERER | "https://uat.tfs.staging.poundandgrain.ca/news/toronto-film-school-announces-2020-festival-of-films-award-winners"
|
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 | "uat.tfs.staging.poundandgrain.ca"
|
REDIRECT_STATUS | "200"
|
HTTPS | "on"
|
SERVER_NAME | "uat.tfs.staging.poundandgrain.ca"
|
SERVER_PORT | "443"
|
SERVER_ADDR | "10.0.1.187"
|
REMOTE_PORT | "37575"
|
REMOTE_ADDR | "13.58.103.70"
|
GATEWAY_INTERFACE | "CGI/1.1"
|
SERVER_PROTOCOL | "HTTP/2.0"
|
DOCUMENT_ROOT | "/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web"
|
DOCUMENT_URI | "/index.php"
|
SCRIPT_NAME | "/index.php"
|
SCRIPT_FILENAME | "/home/forge/uat.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 | 1736449315.2532
|
REQUEST_TIME | 1736449315
|
DB_NAME | "tfs_uat"
|
DB_USER | "***"
|
DB_PASSWORD | "************"
|
WP_ENV | "development"
|
WP_HOME | "https://uat.tfs.staging.poundandgrain.ca"
|
WP_SITEURL | "https://uat.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"
|
MIRROR_URL | "https://dev.tfs.staging.poundandgrain.ca"
|
SOURCE_OF_TRUTH | "false;"
|
BLOG_URL | "https://dev.tfs.staging.poundandgrain.ca"
|
Key | Value |
DB_NAME | "tfs_uat"
|
DB_USER | "***"
|
DB_PASSWORD | "************"
|
WP_ENV | "development"
|
WP_HOME | "https://uat.tfs.staging.poundandgrain.ca"
|
WP_SITEURL | "https://uat.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"
|
MIRROR_URL | "https://dev.tfs.staging.poundandgrain.ca"
|
SOURCE_OF_TRUTH | "false;"
|
BLOG_URL | "https://dev.tfs.staging.poundandgrain.ca"
|