*
* @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" => "students-completely-reimagine-classic-tales-in-virtual-production-of-ye-gods" "category_name" => "blog" ] |
query_string | "name=students-completely-reimagine-classic-tales-in-virtual-production-of-ye-gods&category_name=blog"
|
request | "blog/students-completely-reimagine-classic-tales-in-virtual-production-of-ye-gods"
|
matched_rule | "(.+?)/([^/]+)(?:/([0-9]+))?/?$"
|
matched_query | "category_name=blog&name=students-completely-reimagine-classic-tales-in-virtual-production-of-ye-gods&page="
|
did_permalink | true
|
Key | Value |
query | array:3 [ "page" => "" "name" => "students-completely-reimagine-classic-tales-in-virtual-production-of-ye-gods" "category_name" => "blog" ] |
query_vars | array:66 [ "page" => 0 "name" => "students-completely-reimagine-classic-tales-in-virtual-production-of-ye-gods" "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 | 24428
|
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 = 'students-completely-reimagine-classic-tales-in-virtual-production-of-ye-gods' 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 | 24428
|
post_author | "43"
|
post_date | "2021-12-10 21:37:39"
|
post_date_gmt | "2021-12-10 21:37:39"
|
post_content | """ Back in the summertime, Andy Massingham challenged his fifth-term <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> students to come up with a list of legends, myths and fables they might like to reimagine on the Toronto Film School stage.\n \n \n \n “The response was overwhelming: over 50 stories from across the spectrum of time and place. The company worked together to give fresh interpretations and see what happened,” Massingham said of the origins of the upcoming virtual production of <em><a href="https://create.torontofilmschool.ca/showcase/ye-gods/" target="_blank" rel="noopener noreferrer">Ye Gods!</a></em>\n \n \n \n “In <em>Ye Gods!</em>, we will travel from Mount Olympus, to an abandoned cabin, to the deep Russian wilderness, to the gritty world of a seedy nightclub, a dark alley and all points in between, and eventually back to the world where all these stories came from...ready to be told again.”\n \n \n \n [caption id="attachment_24431" align="aligncenter" width="334"]<img class="wp-image-24431 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_YeGods_PlayPoster_1210.jpg" alt="" width="334" height="526" /> Design by Hailey Cormier[/caption]\n \n <em> </em>\n \n The 90-minute play, which was stage managed and assistant directed by Deep Shah, will take to the virtual stage for a three-performance run on the evenings of Dec. 16, 17 and 18 as follows:\n \n \n <p style="text-align: center;">Thursday, Dec. 16 at 8 p.m. (EST)</p>\n <p style="text-align: center;">Friday, Dec. 17 at 6 p.m. (EST)</p>\n <p style="text-align: center;">Saturday, Dec. 18 at 1 p.m. (EST)</p>\n \n <p style="text-align: center;"><strong>***Click </strong><strong><a href="https://create.torontofilmschool.ca/showcase/ye-gods/">here</a></strong><strong> to livestream any of the above performances***</strong></p>\n \n <h2 style="text-align: center;"><strong> The Creative Team Behind <em>Ye Gods!</em>:</strong></h2>\n \n <p style="text-align: center;"><img class="aligncenter wp-image-24432 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_1AdamAliHeadshot_1209.jpg" alt="Adam Ali - Ye Gods!" width="670" height="458" /><strong>Adam Ali (He/him)</strong></p>\n <p style="text-align: center;">Adam Ali is a fifth term acting student at Toronto Film School. He can speak fluent English and conversational Hindi. After high school, Adam decided to join TFS to start his career in the film industry. He can perform using many accents and loves to work with his voice. Adam has appeared on a few TFS student films including a silent Film he wrote, produced, and directed. He has also worked on and acted in a 48- hour film festival submission titled <em>The Denim Salesman</em>. Adam’s hobbies include singing, archery and cooking.</p>\n \n \n \n \n <img class="aligncenter wp-image-24433 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_2AidanAutenHeadshot_1209.jpg" alt="Aidan Autan - Ye Gods!" width="670" height="458" />\n <p style="text-align: center;"><strong>Aidan Autan (He/him)</strong></p>\n <p style="text-align: center;">Aidan Auten is an actor in training at Toronto Film School, where he has been studying since October 2020. Since the start of school, Aidan has been actively working towards and helping his classmates achieve their collective goal of becoming great actors. Aidan really enjoys voice acting and character work, and on his own time, he does game design.</p>\n \n \n \n <p style="text-align: center;"><img class="aligncenter wp-image-24434 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_3SajeevBhagowteeHeadshot_1209.jpg" alt="Sajeev Bhagowtee - Ye Gods!" width="670" height="458" /></p>\n <p style="text-align: center;"><strong>Sajeev Bhagowtee (He/him)</strong></p>\n <p style="text-align: center;">Sajeev Bhagowtee grew up in Bradford, Ontario and studied Archaeology at the University of Waterloo. He worked in the industry for a few years, until his passion for performing pulled him back into the acting world. When Sajeev isn’t studying and rehearsing, he is playing sports or watching the newest movies. He knows the importance of storytelling, and what value film and theatre play in all of our lives. Acting in various student short films and TFS productions, Sajeev knows there’s a story out there for everyone and he wants to tell them all.</p>\n \n \n \n \n <img class="aligncenter wp-image-24435 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_4CarinaPintoBrasHeadshot_1209.jpg" alt="Carina Pinto-Bras - Ye Gods!" width="670" height="458" />\n <p style="text-align: center;"><strong>Carina Pinto-Bras (She/her)</strong></p>\n <p style="text-align: center;">Originally from Portugal, Carina is currently attending Toronto Film School’s Acting program. She is fluent in both English and Portuguese. Carina has co-written, co-directed, and acted multiple roles in <em>Mae</em> and <em>The Wallpaper,</em> which both competed in the National Theater School Drama Festival. She has also acted in and directed some short films at TFS. Carina enjoys reading, music, and film.</p>\n \n \n \n <p style="text-align: center;"><img class="wp-image-24436 size-medium aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_5RebekahCostaHeadshot_1209.jpg" alt="Rebekah Costa - Ye Gods!" width="670" height="458" /><strong>Rebekah Costa (She/her)</strong></p>\n <p style="text-align: center;">Rebekah Costa is currently a Term 5 student in Toronto Film School’s Acting program. In high school, Rebekah co-wrote, directed, and starred in a play. She won an award for the writing and directing of it. She went to an arts high school and studied drama from Grades 10-12. She was in five school plays, playing one of the main characters in four of them. She was also a co-councillor at the Harbourfront’s theatre camp in 2019. When she is not acting, she also enjoys writing, reading and all things film.</p>\n \n \n \n <p style="text-align: center;"><strong><img class="wp-image-24437 size-medium aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_6MackenzieGibsonHeadshot_1209.jpg" alt="Mackenzie Gibson - Ye Gods!" width="670" height="458" /></strong><strong>Mackenzie Gibson (She/her)</strong></p>\n <p style="text-align: center;">Born in Reno, Nevada, Mackenzie Gibson moved to Canada during childhood and featured in Canadian films, pageants, commercials and music videos based in Toronto. After losing touch with the industry in high school and getting a degree in Cosmetic Techniques and Management, she re-discovered her passion at Toronto Film School in October 2020. Since then, she has been non-stop working in front and behind the camera on student films and passion projects, including one of her own based around the subject of mental health awareness. She enjoys hiking, nature, art, and all things entertainment related.</p>\n \n \n \n \n <img class="aligncenter wp-image-24438 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_7JuanGiraldoHeadshot_1209.jpg" alt="Juan Giraldo - Ye Gods!" width="670" height="458" />\n <p style="text-align: center;"><strong>Juan Giraldo (He/him)</strong></p>\n <p style="text-align: center;">Juan Giraldo started off his acting passion with his high school’s production of <em>Camp Rolling Hills</em>, playing the lead role of Smelly. He left home at 18 to live in Toronto as a full-time student at Toronto Film School. He was very creative from a young age, always looking to make movies with his cousin. Born in Colombia, he then moved to Canada for a safer life. Juan is fluent in both Spanish and English. He played a majority of team sports growing up, particularly soccer. He knows how to quickly build chemistry with teammates and coworkers. To this day Juan brings optimism, charisma, and good energy on set.</p>\n \n \n \n \n <img class="aligncenter wp-image-24439 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_8DeannaHillHeadshot_1209.jpg" alt="Deanna Hill - Ye Gods!" width="670" height="458" />\n <p style="text-align: center;"><strong>Deanna Hill (She/her)</strong></p>\n <p style="text-align: center;">A Term 5 student at Toronto Film School, Deanna Hill recently moved from Winnipeg, Manitoba, where she was raised to finish her acting studies live in person. Deanna studied drama in both junior high and high school, supplementing her studies by participating in an after-school Theatre Production Program for the last two years. She has been cast in a couple student-run productions and many general plays. In one of those productions, entitled <em>I Hate Shakespeare</em>, she was cast as seven different characters ranging from an eccentric British literary historian to a failing one-lined murderer. Deanna is very proud of this and is not sure when she’ll stop bringing that fact up. Her hobbies include guitar playing, singing, song writing, snowboarding, and skateboarding. Deanna’s interests include ultimate frisbee, basketball, ukulele, and traveling.</p>\n \n \n \n \n <img class="aligncenter wp-image-24440 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_9NajmaHirsiHeadshot_1209.jpg" alt="Najma Hirsi - Ye Gods!" width="670" height="458" />\n <p style="text-align: center;"><strong>Najma Hirsi (She/her)</strong></p>\n <p style="text-align: center;">Originally from Somalia, Najma is a Term 5 student in Toronto Film School’s Acting program. She speaks fluent English, Urdu, and Somalian. Najma finished high school last year. She was supposed to go to law school, but she decided to join TFS to follow her passion for acting. Najma has participated in short films such as <em>Martha Kopps</em> and <em>Ramirez</em>, and she was also part of <em>Thanks for Nothing</em>. Najma loves to ride longboards and some of her other hobbies are soccer, basketball, and any type of sport. She enjoys riding horses and has been doing this since she was 11 years old.</p>\n \n \n \n <p style="text-align: center;"><strong><img class="wp-image-24441 size-medium aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_10TrinityMarshallBoyerHeadshot_1210.jpg" alt="Trinity Marshall - Ye Gods!" width="670" height="458" /> </strong><strong>Trinity Marshall (He/him)</strong></p>\n <p style="text-align: center;">Trinity Hope Marshall is the smartest out of his 14 siblings. Coming out of Innisfil Ontario, Trinity is currently a full-time student at Toronto Film School. Growing up, he was always fond of all things art, drawing, crafting, and even filmmaking many little skits and movies. Besides his love of art, Trinity has also taken an active role in his community, going to events and programs and making himself known in the Native community – even earning himself an eagle feather, which is a big deal in Native culture. His dream is to continue doing what he loves and to be a huge success in whatever he does.</p>\n \n \n \n \n <img class="aligncenter wp-image-24442 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_11JulianMeunierHeadshot_1209.jpg" alt="Julien Meunier - Ye Gods!" width="670" height="458" />\n <p style="text-align: center;"><strong>Julien Meunier (He/him)</strong></p>\n <p style="text-align: center;">Born in Quebec, Julian is a Term 5 student on Toronto Film School’s Acting program. He speaks fluent French and English. During high school, he tried learning how to make video games, but gave up after seeing that he still understood nothing. It wasn’t until after high school that he finally realized he wanted to become an actor and join TFS. He enjoys editing, games, and movies.</p>\n \n \n \n \n <img class="aligncenter wp-image-24443 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_11SeongyeonParkStellaHeadshot_1209.jpg" alt="Stella Park - Ye Gods!" width="670" height="458" />\n <p style="text-align: center;"><strong>Stella Park (She/her)</strong></p>\n <p style="text-align: center;">Stella Park is a 19-year-old Term 5 Acting student enrolled in Toronto Film School. Originally born in South Korea, Stella immigrated to Canada with her family at a young age. She is able to speak fluently in both Korean and English. Stella discovered her interest in acting after doing theatre throughout junior high. She has been passionately working on improving her acting skills. Stella aspires to be a film and television actress.</p>\n \n \n \n \n <img class="aligncenter wp-image-24444 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_12RuoyanWangNanliHeadshot_1209.jpg" alt="Zhuang Nanli - Ye Gods!" width="670" height="458" />\n <p style="text-align: center;"><strong>Zhuang Nanli (They/ them)</strong></p>\n <p style="text-align: center;">Zhuang Nanli, is an acting student at Toronto Film School learning how to become a young wannabe actor. They speak fluent Mandarin and English. Nanli is also a writer and editor, mainly focusing on fan art, which hasn’t yet gained any fame nor popularity at all. Nanli’s interest in acting started in high school and stretched its way all the way into university. After failing Psychology and Journalism, Nanli majored in English Literature and Theatre and Performance Art at the University of Toronto. There, they successfully staged <em>The Anger in Ernest and Ernestine</em> and <em>The Drowning Girls</em>. Nanli had to stop developing <em>Concord Floral</em> because of COVID-19, then transferred to Toronto Film School with the aim of learning more practical skills in film and TV. Nanli has successfully debuted as an actor, writer, director, producer, and editor with their first short film, <em>Killing Plant.</em> Nanli is currently working on their short film, <em>I’m Not a Baker</em>.</p>\n \n \n \n \n <img class="aligncenter wp-image-24445 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_13ShakirQadriHeadshot_1209.jpg" alt="Shakir Qadri - Ye Gods!" width="670" height="458" />\n <p style="text-align: center;"><strong>Shakir Qadri (He/him)</strong></p>\n <p style="text-align: center;">Born in Toronto. Shakir Qadri is a Term 5 Acting student at Toronto Film School. Shakir has participated in the famous 48-hour film competition as an actor and has also appeared as an extra for some Toronto projects. Shakir is proficient at guitar as his instrument of choice. He has also competed in various dance competitions while attending York University for Political Science. Shakir is also fluent in English and conversational Urdu and Hindi. Shakir enjoys fitness, kickboxing, and parkour.</p>\n \n \n \n \n <img class="aligncenter wp-image-24446 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_14SangeevRavindranHeadshot_1209.jpg" alt="Sangeev Ravindran - Ye Gods!" width="670" height="458" />\n <p style="text-align: center;"><strong>Sangeev Ravindran (He/him)</strong></p>\n <p style="text-align: center;">Sangeev Ravindran’s passion for acting began in his high school drama class. Initially, he enjoyed the opportunity to make people laugh as he starred in the <em>Improv Show</em> at Woodbridge College. When he decided to pursue acting at Toronto Film School, his newfound motivation was self-exploration. He has previously trained at York University acting for non-majors, The O.A Training Studio, Second City, The Livonia Improv Club, and now currently training in the Acting for Film & Television program at Toronto Film School.</p>\n \n \n \n \n <img class="aligncenter wp-image-24447 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_15PriscillaAyomikunSaiduHeadshot_1209.jpg" alt="Priscilla Ayomikun Saidu - Ye Gods!" width="670" height="458" />\n <p style="text-align: center;"><strong>Priscilla Ayomikun Saidu (She/her)</strong></p>\n <p style="text-align: center;">Originally from Nigeria, Priscilla is a Term 5 student in Toronto Film School’s Acting program. She speaks fluent English, Yoruba, and Pidgin English. Before deciding to follow her passion for acting at TFS, Priscilla studied law back in Nigeria and worked in the customer service industry. She has written, directed, produced, and acted in her silent movie which focused on the fate of a young lady who was raped and got pregnant. Priscilla has acted in some Nigerian short movies and music videos here in Toronto. She enjoys cooking, talking, writing, dancing, and traveling.</p>\n \n \n \n <p style="text-align: center;"><img class="aligncenter wp-image-24448 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_16RichardSanchezHeadshot_1209.jpg" alt="Richard Sánchez - Ye Gods!" width="670" height="458" /></p>\n <p style="text-align: center;"><strong>Richard Sánchez (He/ him)</strong></p>\n <p style="text-align: center;">Originally from Germany, Richard Sánchez is a Term 5 student in Toronto Film School’s Acting program who speaks fluent English and German. Before he decided to continue his education at TFS to follow his passion for acting and directing, Richard built a small production company called 324 Productions. He has acted, produced, written, and directed and continued his green-lit silent film <em>Out,</em> which is focused on the importance being there for one another before it’s too late. Richard has acted in a few short films and commercials around the industry. He enjoys acting, filmmaking, modeling, and weightlifting.</p>\n \n \n \n <p style="text-align: center;"><img class="aligncenter wp-image-24449 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_17DawnWarrenHeadshot_1209.jpg" alt="Dawn Warren - Ye Gods!" width="670" height="458" /></p>\n <p style="text-align: center;"><strong>Dawn Warren (She/her)</strong></p>\n <p style="text-align: center;">Dawn Warren is currently a Term 5 student in Toronto Film School’s Acting program. Dawn spent her childhood on several military bases, as her family served in the Royal Canadian Navy. Dawn previously studied at Wilfred Laurier University for Archeology specializing in Paleontology. She is now pursuing her love of storytelling and imagination through the art of theatre and film. Dawn has written, acted and produced a few short films and has also participated in several voice artist projects. Dawn has practiced competitive archery, and enjoys writing, reading and all things nature.</p>\n \n \n \n <p style="text-align: center;"><strong><img class="aligncenter wp-image-24450 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_18TamaraYelisieievaHeadshot_1209.jpg" alt=" Tamara Yelisieieva - Ye Gods!" width="670" height="458" /> </strong><strong>Tamara Yelisieieva</strong></p>\n <p style="text-align: center;">Originally from Russia, Tamara is a Term 5 student in Toronto Film School’s Acting for Film and Theatre program. She speaks fluent Russian, Ukrainian and English. Tamara finished her studies in Sales and Marketing and worked in the field for a while before deciding to follow her dream and became a TFS student. Tamara has experience in modeling, shooting music videos and has been an extra in a couple of movies. Tamara enjoys writing, reading and music.</p>\n \n \n \n <p style="text-align: center;"><strong> </strong><strong><img class="aligncenter wp-image-24451 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_19AndyMassinghamHeadshot_1210.jpg" alt="ndy Massingham, Director - Ye Gods!" width="670" height="458" /></strong></p>\n <p style="text-align: center;"><strong>Andy Massingham – Director</strong></p>\n <p style="text-align: center;">Andy Massingham hails from Toronto and is a Dora Award-winning actor, director, educator, and playwright. He has performed across Canada at such venues as the Stratford Festival, Theatre New Brunswick, National Arts Centre, Banff Centre, Tarragon, Odyssey, Y.P.T. and many others. For the past 30 years, Andy has concentrated on physical theatre creation. His wordless play <em>Rough House</em> (presented by Nightswimming Theatre) toured Canada and the U.S. At Toronto Film School, he has directed <em>Not A Clue </em>and <em>This Is How It’s Done. </em>He is currently developing a series of comedic works based on the myth of knowledge. He is enjoying it immensely and he hopes that you will too, eventually. He thanks his wonderful company for taking the plunge into the world of <em>Ye Gods!</em> so fearlessly and creatively.</p>\n \n \n \n \n <img class="aligncenter wp-image-24452 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/12/TFS_ACT_20DeepShahHeadshot_1209.jpg" alt="Deep Shah - Ye Gods!" width="670" height="458" />\n <p style="text-align: center;"><strong>Deep Shah (He/Him) – Assistant Director/Stage Manager</strong></p>\n <p style="text-align: center;">Deep is originally from India and has been living in Canada for last seven years. He speaks fluent English, Hindi, Gujarati, and conversational Punjabi. Deep finished Mechanical Engineering and worked in the industry before he decided to join Toronto Film School to follow his passion for acting. Deep has appeared on both the President’s List and Honours List throughout his time at Toronto Film School and his grades and hard work are a confirmation of his passion for Acting. Deep wrote, produced, directed, and starred as lead in a Toronto Film School green lit short film, <em>Blocks</em>, which follows the struggle of a 21st century couple dealing with their traumas and finding their way out of difficulties in their relationship. Deep has also written, produced, directed, and starred as lead in his greenlit silent short film, <em>Privileged</em>, focusing on the importance of charity and life of homeless people. Deep appeared in Jonathan Whittaker’s rendition of Shakespeare’s <em>Midsummer Night’s Dream</em> as Bottom. He also appeared in a production of <em>Clues</em> as Wadsworth directed by Rosanna Saracino.</p> """ |
post_title | "Students Completely Reimagine Classic Tales in Virtual Production of ‘Ye Gods!'"
|
post_excerpt | "" |
post_status | "publish"
|
comment_status | "open"
|
ping_status | "open"
|
post_password | "" |
post_name | "students-completely-reimagine-classic-tales-in-virtual-production-of-ye-gods"
|
to_ping | "" |
pinged | "" |
post_modified | "2023-03-27 21:07:13"
|
post_modified_gmt | "2023-03-27 21:07:13"
|
post_content_filtered | "" |
post_parent | 0
|
guid | "https://dev.tfs.staging.poundandgrain.ca/?p=24428"
|
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/students-completely-reimagine-classic-tales-in-virtual-production-of-ye-gods/"
|
USER | "forge"
|
HOME | "/home/forge"
|
HTTP_REFERER | "https://dev.tfs.staging.poundandgrain.ca/blog/students-completely-reimagine-classic-tales-in-virtual-production-of-ye-gods"
|
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 | "5258"
|
REMOTE_ADDR | "18.225.55.210"
|
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 | 1731850439.8503
|
REQUEST_TIME | 1731850439
|
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"
|