*
* @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/dev.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/dev.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/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/eb422c8beb3d93cfa2fe08ce3b438f23bc0fae21.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/dev.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/dev.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/dev.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php"
Key | Value |
query_vars | array:3 [ "page" => "" "name" => "march-spotlight-amazing-tfs-alumni-accomplishments" "category_name" => "blog" ] |
query_string | "name=march-spotlight-amazing-tfs-alumni-accomplishments&category_name=blog"
|
request | "blog/march-spotlight-amazing-tfs-alumni-accomplishments"
|
matched_rule | "(.+?)/([^/]+)(?:/([0-9]+))?/?$"
|
matched_query | "category_name=blog&name=march-spotlight-amazing-tfs-alumni-accomplishments&page="
|
did_permalink | true
|
Key | Value |
query | array:3 [ "page" => "" "name" => "march-spotlight-amazing-tfs-alumni-accomplishments" "category_name" => "blog" ] |
query_vars | array:66 [ "page" => 0 "name" => "march-spotlight-amazing-tfs-alumni-accomplishments" "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 | 25144
|
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 = 'march-spotlight-amazing-tfs-alumni-accomplishments' 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 | 25144
|
post_author | "43"
|
post_date | "2022-04-01 17:25:01"
|
post_date_gmt | "2022-04-01 17:25:01"
|
post_content | """ <p style="font-weight: 400;">At Toronto Film School, we're continually astounded by the amazing accomplishments of our awesome alumni – be it working on Canadian Screen Award-nominated projects, being commissioned to write novels, or becoming showrunners on Webby Award-winning series.</p>\n \n <p style="font-weight: 400;">Here are some of March's standout highlights from Toronto Film School's talented community of graduates:</p>\n \n \n <img class="aligncenter wp-image-25145 size-full" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_ACT_TrevorBelanger_MayorOfKingstown_0331.jpg" alt="Trevor Belanger plays a gangster in Paramount+ Mayor of Kingstown" width="650" height="450" />\n \n \n <p style="font-weight: 400;">Class of 2020 <a href="https://www.torontofilmschool.ca/programs/acting-for-film-tv-and-the-theatre-diploma/" target="_blank" rel="noopener noreferrer">Acting for Film, TV & the Theatre</a> graduate<strong> <a href="https://www.instagram.com/treece_flames/" target="_blank" rel="noopener noreferrer">Trevor Belanger</a> </strong>recently landed a role as a gangster on the hit Paramount+ crime thriller, <em><a href="https://en.wikipedia.org/wiki/Mayor_of_Kingstown">Mayor of Kingstown</a></em>, starring <a href="https://en.wikipedia.org/wiki/Jeremy_Renner">Jeremy Renner</a>, <a href="https://en.wikipedia.org/wiki/Dianne_Wiest">Dianne Wiest</a> and <a href="https://en.wikipedia.org/wiki/Hugh_Dillon">Hugh Dillon.</a></p>\n \n <p style="font-weight: 400;">"Having the opportunity to meet such successful actors and see how they work was amazing," <a href="https://m.imdb.com/name/nm11287730/" target="_blank" rel="noopener noreferrer">Belanger</a> said of the experience. "If it wasn't for the foundation that TFS taught me, I wouldn't be where I am today. I would not know where to start or how to set myself for the characters that I want to become."</p>\n \n <p style="font-weight: 400;">Belanger also recently appeared in a SiriusXM commercial and played the role of 'Felix' on<em><a href="https://www.imdb.com/title/tt15676696/?ref_=nm_flmg_act_2" target="_blank" rel="noopener noreferrer"> Eli Roth Presents: A Ghost Ruined My Life</a></em>.</p>\n \n \n \n \n <img class="aligncenter wp-image-25146 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_WFT_ReethMazumderRoberts_YouMayKissTheBride_0331.jpg" alt="Reeth Mazumder-Roberts, You May Kiss the Bride" width="670" height="278" />\n \n \n <p style="font-weight: 400;"><strong><a href="https://www.imdb.com/name/nm4157086/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Reeth Mazumder-Roberts</a></strong>, who graduated from the <a href="https://www.torontofilmschool.ca/programs/writing-for-film-tv-diploma/" target="_blank" rel="noopener noreferrer">Writing for Film & Television</a> program in 2019, has been commissioned to write a literary fiction novel based on her <a href="https://www.torontofilmschool.ca/blog/writing-grad-reeth-mazumder-rings-in-new-year-with-women-filmmakers-award/" target="_blank" rel="noopener noreferrer">award-winning</a> short, <em><a href="https://www.imdb.com/title/tt10151692/" target="_blank" rel="noopener noreferrer">You May Kiss the Bride.</a></em> The manuscript, which is due in September, is scheduled to go to print via a yet-to-be-announced publisher sometime late this fall or early in the new year.</p>\n \n <p style="font-weight: 400;">"When I write a story, I make strange connections with my characters, and when I direct those stories, I grow closer to them because now I know their faces. But as the old saying goes, 'What feels the end is often the beginning,'" Mazumder-Roberts said. "It's going to be a unique experience for me to write this novel after filming it with actors because, gosh, they are no longer my imaginary characters."</p>\n \n <p style="font-weight: 400;">Mazumder-Roberts also recently worked on a segment of the anthology feature, <em><a href="https://paperpadlockproductions.com/stanislaw/" target="_blank" rel="noopener noreferrer">Grief</a></em>, as a writer/director for <a href="https://paperpadlockproductions.com/" target="_blank" rel="noopener noreferrer">Paper Padlock Productions</a> and completed a documentary called <em>I AM RISING</em>, featuring musician <a href="https://ejjismith.com/" target="_blank" rel="noopener noreferrer">Ejji Smith</a>.</p>\n \n \n \n <p style="font-weight: 400;"><img class="aligncenter wp-image-25147 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_FP_DavidJamesHeadshot_0330.jpg" alt="David M. James on the set of feature film, Trader." width="526" height="526" /></p>\n \n <p style="font-weight: 400;">Class of 2017 <a href="https://www.torontofilmschool.ca/programs/film-production-diploma/" target="_blank" rel="noopener noreferrer">Film Production</a> grad <strong><a href="https://www.imdb.com/name/nm9278354/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">David M. James</a></strong>, co-founder of <a href="https://paperpadlockproductions.com/">Paper Padlock Productions</a>, is coming off a recent executive producing gig on the set of the upcoming feature film, <em><a href="https://www.imdb.com/title/tt14101678/?ref_=nm_flmg_prd_5" target="_blank" rel="noopener noreferrer">Trader</a></em><em>. </em>The project, directed by <a href="https://www.imdb.com/name/nm5874240/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Corey Stanton</a> and produced by <a href="https://www.imdb.com/name/nm2502538/?ref_=ttfc_fc_cr12" target="_blank" rel="noopener noreferrer">Micheal James Regan</a>, also involved a number of James' fellow TFS alumni – <a href="https://www.imdb.com/name/nm9972517/?ref_=ttfc_fc_cr28" target="_blank" rel="noopener noreferrer">Oleksii Furdiiak</a> (Film Production' <em>18) </em>as First Assistant Camera<em>, </em><a href="https://www.imdb.com/name/nm8544225/?ref_=ttfc_fc_cr29" target="_blank" rel="noopener noreferrer">Yazan Kalaldeh</a> (<em>Film Production' 17</em>) as Best Electric and Second Assistant Camera, and <a href="https://www.imdb.com/name/nm9119542/?ref_=ttfc_fc_cr32" target="_blank" rel="noopener noreferrer">Romanesh Reynoso</a> (<em>Film Production' 17) as </em>the Gaffer.</p>\n \n <p style="font-weight: 400;">"Coming from the producer/executive producer side of things, it's all about relationships and networking and being true," James said. "One thing (TFS Film Production Program Director) <a href="https://www.torontofilmschool.ca/blog/jordan-walker-named-new-director-of-tfss-film-production-program/" target="_blank" rel="noopener noreferrer">Jordan Walker</a> taught me was to conduct business with credibility and to be true to your word, which coincided with what (TFS instructor) <a href="https://www.imdb.com/name/nm2617617/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">Dusty Mancinelli</a> taught me about keeping your ego at the door. That has been my basis of creating strong relationships with people like Corey Stanton and Michael James Regan."</p>\n \n \n \n \n <img class="aligncenter wp-image-25183 size-full" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_WFT_MaxineClement_0404.jpg" alt="Maxine Clement on CBC/HBO Max’s Sort Of" width="650" height="450" />\n \n \n <p style="font-weight: 400;"><a href="https://www.imdb.com/name/nm9588953/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">Maxine Clement</a>, who graduated from the <a href="https://www.torontofilmschool.ca/programs/writing-for-film-tv-diploma/" target="_blank" rel="noopener noreferrer">Writing for Film & Television</a> program in 2018, recently started working as an assistant to <a href="https://www.imdb.com/name/nm0277116/" target="_blank" rel="noopener noreferrer">Fab Filippo</a>, one of the co-creators, writers, directors and producers of CBC/HBO Max’s <em><a href="https://www.imdb.com/title/tt15221950/?ref_=nm_flmg_dr_1" target="_blank" rel="noopener noreferrer">Sort Of</a></em>. Her duties include pre-production scheduling, assisting with potential script rewrites, and meeting notes.</p>\n \n <p style="font-weight: 400;">“So far, I'm learning a lot about the production side of things and how translating certain elements of the script into production can be more difficult budget- and production-wise – so, it's very helpful and insightful for my own projects that I'm working on getting developed,” <a href="https://www.instagram.com/maxineclement/" target="_blank" rel="noopener noreferrer">Clement</a> said of her role.</p>\n \n <p style="font-weight: 400;">“My TFS education helped me with making notes and assisting with rewrites. In the writing program we did a lot of constructive criticism on other peers' scripts. We also did a lot of script breakdowns in class, so that is helpful when breaking down a script on the show.”</p>\n \n \n \n \n <img class="aligncenter wp-image-25148 size-full" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_FP_PrasannaPaul_Maternal_0331.jpg" alt="Prasanna Paul on film Maternal," width="650" height="450" />\n \n \n <p style="font-weight: 400;"><strong><a href="https://www.imdb.com/name/nm5206446/" target="_blank" rel="noopener noreferrer">Prasanna Paul</a>'s</strong> latest projects have included Visual Effects Supervision gigs on the sets of a pair of upcoming thrillers. The Class of 2015 <a href="https://www.torontofilmschool.ca/programs/film-production-diploma/" target="_blank" rel="noopener noreferrer">Film Production</a> grad has worked on both <em><a href="https://www.imdb.com/title/tt15658626/?ref_=nm_flmg_vsl_1" target="_blank" rel="noopener noreferrer">Last the Night</a>, </em>featuring TFS Acting instructor <a href="https://www.imdb.com/name/nm0854900/?ref_=ttfc_fc_cl_t15" target="_blank" rel="noopener noreferrer">John Tench</a>, and <em><a href="https://www.imdb.com/title/tt4632976/?ref_=nm_flmg_vsl_2" target="_blank" rel="noopener noreferrer">Maternal</a>,</em> directed by and starring <a href="https://www.imdb.com/name/nm0001227/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Megan Follows</a>. Class of 2018 Film Production grad <a href="https://www.imdb.com/name/nm10014772/?ref_=ttfc_fc_cr14" target="_blank" rel="noopener noreferrer">Camille Lortie</a> also worked on the set of <em>Maternal</em> as the film's Second Assistant Director.</p>\n \n \n \n <p style="font-weight: 400;"><img class="aligncenter wp-image-25149 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_FP_BeckyYeboah_DavidMattiacci_BigGoldBrick_0331.jpg" alt="Becky Yeboah, David Mattiacci and Jean-Christophe Castell worked on Big Gold Brick" width="670" height="327" /></p>\n \n <p style="font-weight: 400;">A trio of Toronto Film School <a href="https://www.torontofilmschool.ca/programs/film-production-diploma/" target="_blank" rel="noopener noreferrer">Film Production</a> alumni –<strong> <a href="https://www.imdb.com/name/nm8731487/?ref_=nv_sr_srsg_0" target="_blank" rel="noopener noreferrer">Becky Yeboah</a></strong> (2017), <a href="https://www.imdb.com/name/nm9759166/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer"><strong>David Mattiacci</strong></a> (2017) and <strong><a href="https://www.imdb.com/name/nm5749826/?ref_=ttfc_fc_cr55" target="_blank" rel="noopener noreferrer">Jean-Christophe Castell</a></strong> (2016) – worked on the upcoming feature film, <em><a href="https://www.imdb.com/title/tt10308878/?ref_=nm_flmg_act_5" target="_blank" rel="noopener noreferrer">Big Gold Brick</a></em>, starring <a href="https://www.imdb.com/name/nm0000412/?ref_=ttfc_fc_cl_t1" target="_blank" rel="noopener noreferrer">Andy Garcia</a>, <a href="https://www.imdb.com/name/nm1209966/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">Oscar Isaac,</a> and <a href="https://www.imdb.com/name/nm1083271/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">Megan Fox</a>. Castell was a 2<sup>nd</sup> Assistant Director, Mattiacci was a storyboard artist, and Yeboah was an assistant to the producers.</p>\n \n \n \n \n <img class="alignnone size-medium wp-image-25150 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFSO_VFX_MarynaHordiienko_WhatIf_0331.jpg" alt="" width="670" height="393" />\n \n \n <p style="font-weight: 400;"><a href="https://online.torontofilmschool.ca/programs/visual-effects-vfx-diploma/" target="_blank" rel="noopener noreferrer">Visual Effects for Film & TV</a> student <strong><a href="https://www.torontofilmschool.ca/blog/vfx-student-parlays-newfound-skills-into-success-on-webby-award-winning-what-if-series/" target="_blank" rel="noopener noreferrer">Maryna Hordiienko</a> </strong>was recently promoted to showrunner of the Webby Award-winning series, <em><a href="https://www.youtube.com/channel/UCphTF9wHwhCt-BzIq-s4V-g" target="_blank" rel="noopener noreferrer">What If</a>. </em>Boasting more than 6 million subscribers on YouTube, <em>What If </em>is a science documentary web series that examines a scientific theory, research or fact through hypothetical scenarios that aim to fascinate and engage. It won a Webby Award – hailed as the "Internet's highest honour" – in the <a href="https://winners.webbyawards.com/winners/video/video-series-channels/science-education-video-channels-series" target="_blank" rel="noopener noreferrer">Science & Education (Video Channels & Series) </a>category in 2020. Read more about Hordiienko's experience working on <em>What If</em> <a href="https://www.torontofilmschool.ca/blog/vfx-student-parlays-newfound-skills-into-success-on-webby-award-winning-what-if-series/" target="_blank" rel="noopener noreferrer">here</a>.</p>\n \n <p style="font-weight: 400; text-align: center;"><iframe title="YouTube video player" src="https://www.youtube.com/embed/3iohDV8TK9c" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>\n \n <h1></h1>\n <h1 style="text-align: center;">Canadian Screen Awards</h1>\n \n <p style="font-weight: 400;">Many members of the Toronto Film School community will have reason to celebrate on April 10 when the winners of the 2022 Canadian Screen Awards are announced.</p>\n \n <p style="font-weight: 400;">TFS faculty and alumni have worked on many of this year's nominated projects, including:</p>\n \n \n <img class="aligncenter wp-image-25152 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_AndrewBarnsley_Jann_0401.jpg" alt="Andrew Barnsley, Jann" width="670" height="458" />\n \n \n <p style="font-weight: 400;">TFS's Emmy-winning President <strong><a href="https://www.torontofilmschool.ca/blog/toronto-film-school-poised-for-global-greatness-with-andrew-barnsley-at-the-helm-as-newly-named-president/" target="_blank" rel="noopener noreferrer">Andrew Barnsley</a></strong> is nominated in the Best Comedy Series category for his role as an Executive Producer on CTV's <em><a href="https://www.imdb.com/title/tt9080978/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer">Jann</a>. </em>The show is also nominated for Best Lead Actress in a Comedy (<a href="https://www.imdb.com/name/nm0033989?ref_=ttawd_awd_5" target="_blank" rel="noopener noreferrer">Jann Arden</a>), Best Writing, Best Achievement in Casting, and Best Guest Appearance (<a href="https://www.imdb.com/name/nm0117826?ref_=ttawd_awd_9" target="_blank" rel="noopener noreferrer">Michael Bublé</a>).</p>\n \n \n \n \n <img class="aligncenter wp-image-25153 size-full" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_CaleighBacchus_CanadianScreenAwards_0401.jpg" alt="Caleigh Bacchus" width="650" height="450" />\n \n \n <p style="font-weight: 400;">Class of 2018 <a href="https://www.torontofilmschool.ca/programs/writing-for-film-tv-diploma/" target="_blank" rel="noopener noreferrer">Writing for Film & Television</a> grad <strong><a href="https://www.imdb.com/name/nm9541377/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">Caleigh Bacchus</a> </strong>worked on a trio of Canadian Screen Award-nominated television series – <em><a href="https://www.imdb.com/title/tt1091909/?ref_=nm_knf_i2" target="_blank" rel="noopener noreferrer">Murdoch Mysteries</a> </em>(9 nominations) as a Writer and Story Editor; <em><a href="https://www.imdb.com/title/tt9083140/?ref_=nm_knf_i3" target="_blank" rel="noopener noreferrer">Diggstown</a> </em>(5 nominations) as a Story Editor; and <em><a href="https://www.imdb.com/title/tt15203594/?ref_=nm_knf_i1" target="_blank" rel="noopener noreferrer">Overlord and the Underwoods</a></em> (3 nominations) as a Writer and Story Editor. Read about Bacchus' TFS experience <a href="https://www.torontofilmschool.ca/blog/movies-mind-caleigh-bacchuss-writing-film-television-story/" target="_blank" rel="noopener noreferrer">here</a>.</p>\n \n \n \n \n <img class="aligncenter wp-image-25154 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_MercedesCardellaKyishaWilliams_Scarborough_0401.jpg" alt="Mercedes Cardella, Scarborough" width="670" height="393" />\n \n \n <p style="font-weight: 400;">Both TFS Curriculum Development Specialist <strong><a href="https://www.torontofilmschool.ca/blog/mercedes-cardella-celebrates-theatrical-release-of-critically-acclaimed-film-scarborough/" target="_blank" rel="noopener noreferrer">Mercedes Cardella</a></strong> and Class of 2021 <a href="https://www.torontofilmschool.ca/programs/film-production-diploma/" target="_blank" rel="noopener noreferrer">Film Production</a> alum <strong><a href="https://www.kyishawilliams.com/about" target="_blank" rel="noopener noreferrer">Kyisha Williams</a> </strong>acted in the 11-time nominated feature film <em><a href="https://www.imdb.com/title/tt12890988/" target="_blank" rel="noopener noreferrer">Scarborough</a></em>. <a href="https://variety.com/2021/film/global/scarborough-catherine-hernandez-tiff-discovery-1235059803/" target="_blank" rel="noopener noreferrer">Lauded by <em>Variety</em></a> magazine as giving a "ground-breaking voice" to an ignored community, <em>Scarborough </em>is based on the likewise <a href="https://www.chapters.indigo.ca/en-ca/books/scarborough/9781551526775-item.html" target="_blank" rel="noopener noreferrer">critically acclaimed 2017 novel</a> of the same name by <a href="https://www.catherinehernandezcreates.com/" target="_blank" rel="noopener noreferrer">Catherine Hernandez</a>, which tells the story of three low-income families struggling to endure within a system that's set them up for failure. Read about Cardella's experience on the <em>Scarborough</em> set <a href="https://www.torontofilmschool.ca/blog/mercedes-cardella-celebrates-theatrical-release-of-critically-acclaimed-film-scarborough/" target="_blank" rel="noopener noreferrer">here</a>.</p>\n \n \n \n \n <img class="aligncenter wp-image-25155 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_FP_BeckyYeboah_KickingBlood_0401.jpg" alt="Becky Yeboah, Kicking Blood" width="670" height="458" />\n \n \n <p style="font-weight: 400;">Class of 2017 <a href="https://www.torontofilmschool.ca/programs/film-production-diploma/" target="_blank" rel="noopener noreferrer">Film Production</a> grad <a href="https://www.imdb.com/name/nm8731487/" target="_blank" rel="noopener noreferrer"><strong>Becky Yeboah</strong></a> worked as the production manager on <em><a href="https://www.imdb.com/title/tt13464274/?ref_=nm_flmg_pmgr_3" target="_blank" rel="noopener noreferrer">Kicking Blood</a></em>. Directed by <a href="https://www.imdb.com/name/nm0862151/?ref_=tt_ov_dr" target="_blank" rel="noopener noreferrer">Blaine Thurier,</a> the fantasy vampire feature was nominated for Best Achievement in Sound Editing.</p>\n \n \n \n \n <img class="alignnone size-medium wp-image-25244 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2019/11/TFS_ALL_Tory460Camera_1106.jpg" alt="" width="670" height="393" />\n \n \n <p style="font-weight: 400;">Both Class of 2018 <a href="https://www.torontofilmschool.ca/programs/writing-for-film-tv-diploma/" target="_blank" rel="noopener noreferrer">Writing for Film & Television</a> alum <strong><a href="https://www.imdb.com/name/nm9544818/?ref_=nv_sr_srsg_0" target="_blank" rel="noopener noreferrer">Jhanik Bullard</a> </strong>and <a href="https://www.torontofilmschool.ca/programs/acting-for-film-tv-and-the-theatre-diploma/" target="_blank" rel="noopener noreferrer">Acting for Film, TV & the Theatre </a>grad <strong>Garima Sood</strong> worked on the set of 10-time nominated series, <em><a href="https://www.imdb.com/title/tt8593252/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer">Coroner</a>. </em>Sood was the 2<sup>nd</sup> Assistant Camera, while Bullard worked as the Showrunner's Assistant. Read about Bullard's experience on the <em>Coroner</em> set <a href="https://www.torontofilmschool.ca/blog/one-step-closer-to-running-the-show-screenwriting-grad-jhanik-bullard-lands-job-on-hit-crime-drama/" target="_blank" rel="noopener noreferrer">here</a>.</p>\n \n \n \n \n <img class="aligncenter wp-image-25157 size-full" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_FD_MichaelEstes_Endlings_0401.jpg" alt="Michael Estworked as a Wardrobe Assistant on Endlings" width="650" height="450" />\n \n \n <p style="font-weight: 400;"><a href="https://www.imdb.com/name/nm3520890/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer"><strong>Michael Estes</strong></a>, who graduated from TFS's Fashion Design program in 2018, worked as a Wardrobe Assistant on <em><a href="https://www.imdb.com/title/tt10267798/?ref_=nv_sr_srsg_0" target="_blank" rel="noopener noreferrer">Endlings</a>. </em>The CBC/Hulu sci-fi adventure series received five nominations, including Best Children or Youth Fiction Program. Read about Estes' Toronto Film School experience <a href="https://www.torontofilmschool.ca/blog/finding-future-fashion-mike-estess-fashion-design-story/" target="_blank" rel="noopener noreferrer">here</a>.</p>\n \n \n \n \n <img class="aligncenter wp-image-25158 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_ACT_ChrisKellyHeadshot_0708.jpg" alt="Chris Kelly worked as an Associate Producer and Researcher for the CBC's 2020 Tokyo Summer Games" width="670" height="393" />\n \n \n <p style="font-weight: 400;">Toronto Film School alumnus <strong><a href="https://pro.imdb.com/name/nm9544484?s=92b9132a-4d72-b787-ecc5-423f5e68625f&site_preference=normal" target="_blank" rel="noopener noreferrer">Chris Kelly</a></strong>, who graduated from the <a href="https://www.torontofilmschool.ca/programs/acting-for-film-tv-and-the-theatre-diploma/" target="_blank" rel="noopener noreferrer">Acting for Film, TV & the Theatre</a> program in 2018, worked as an Associate Producer and Olympic Researcher for the CBC's four-time Canadian Screen Award-nominated coverage of the <a href="https://www.cbc.ca/sports/olympics/summer" target="_blank" rel="noopener noreferrer">2020 Tokyo Summer Games</a>. Read about Kelly's experience working on the Olympics <a href="https://www.torontofilmschool.ca/blog/acting-alumnus-lands-gig-associate-producing-olympic-coverage-for-cbc/" target="_blank" rel="noopener noreferrer">here</a>.</p>\n \n \n \n \n <img class="aligncenter wp-image-25159 size-full" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_WFT_AnnaBarsky_FamilyFeud_0401.jpg" alt="Anna Barsky question producer/writer Family Feud Canada" width="650" height="450" />\n \n \n <p style="font-weight: 400;">Class of 2021 <a href="https://www.torontofilmschool.ca/programs/writing-for-film-tv-diploma/" target="_blank" rel="noopener noreferrer">Writing for Film & Television</a> grad <strong><a href="https://www.imdb.com/name/nm11308077/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer">Anna Barsky</a> </strong>worked as a Question Producer/Writer on the two-time nominated game show, <em><a href="https://www.imdb.com/title/tt11478344/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer">Family Feud Canada</a>. </em>Read about Barsky's experience on the show <a href="https://www.torontofilmschool.ca/blog/screenwriting-grad-anna-barsky-lands-job-at-family-feud-canada/" target="_blank" rel="noopener noreferrer">here</a>.</p>\n \n <p style="font-weight: 400;"><em> </em></p>\n <img class="aligncenter wp-image-25160 size-full" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2022/04/TFS_FP_MousaWorkinMoms_0401.jpg" alt="Mousa Ghodratifard, 3rd Assistant Director and Workin' Moms poster" width="650" height="450" />\n <p style="font-weight: 400;"><em> </em></p>\n <p style="font-weight: 400;"><a href="https://www.imdb.com/name/nm5730287/?ref_=fn_al_nm_1" target="_blank" rel="noopener noreferrer"><strong>Mousa Ghodratifard</strong>,</a> who graduated from TFS's <a href="https://www.torontofilmschool.ca/programs/film-production-diploma/" target="_blank" rel="noopener noreferrer">Film Production</a> program in 2013, worked as a 3rd Assistant Director on <em><a href="https://www.imdb.com/title/tt6143796/?ref_=fn_al_tt_1" target="_blank" rel="noopener noreferrer">Workin' Moms</a></em>, which garnered seven nominations, including Best Comedy Direction. Read more about Ghodratifard's story <a href="https://www.torontofilmschool.ca/blog/film/passion-for-film-tv-becomes-a-lifelong-journey-of-learning-for-tfs-alumnus-and-filmmaker-mousa-ghodratifard/" target="_blank" rel="noopener noreferrer">here</a>.</p>\n \n <p style="text-align: center;"><em>***Are you an alumnus or student who would like to share your latest accomplishment with the TFS community? If so, please reach out to our Alumni Relations Coordinator at <u><a href="mailto:alumni@torontofilmschool.ca">alumni@torontofilmschool.ca</a></u></em></p> """ |
post_title | "March Spotlight | Amazing TFS Alumni Accomplishments"
|
post_excerpt | "" |
post_status | "publish"
|
comment_status | "closed"
|
ping_status | "open"
|
post_password | "" |
post_name | "march-spotlight-amazing-tfs-alumni-accomplishments"
|
to_ping | "" |
pinged | "" |
post_modified | "2023-03-27 21:07:07"
|
post_modified_gmt | "2023-03-27 21:07:07"
|
post_content_filtered | "" |
post_parent | 0
|
guid | "https://dev.tfs.staging.poundandgrain.ca/?p=25144"
|
menu_order | 0
|
post_type | "post"
|
post_mime_type | "" |
comment_count | "0"
|
filter | "raw"
|
Key | Value |
SERVER_SOFTWARE | "nginx/1.22.1"
|
REQUEST_URI | "/blog/march-spotlight-amazing-tfs-alumni-accomplishments/"
|
USER | "forge"
|
HOME | "/home/forge"
|
HTTP_REFERER | "https://dev.tfs.staging.poundandgrain.ca/blog/march-spotlight-amazing-tfs-alumni-accomplishments"
|
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 | "14559"
|
REMOTE_ADDR | "18.227.114.73"
|
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 | 1731847230.514
|
REQUEST_TIME | 1731847230
|
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"
|