*
* @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" => "on-the-set-of-violation-film-production-grad-discusses-experience-on-buzz-worthy-tiff-film" "category_name" => "blog" ] |
query_string | "name=on-the-set-of-violation-film-production-grad-discusses-experience-on-buzz-worthy-tiff-film&category_name=blog"
|
request | "blog/on-the-set-of-violation-film-production-grad-discusses-experience-on-buzz-worthy-tiff-film"
|
matched_rule | "(.+?)/([^/]+)(?:/([0-9]+))?/?$"
|
matched_query | "category_name=blog&name=on-the-set-of-violation-film-production-grad-discusses-experience-on-buzz-worthy-tiff-film&page="
|
did_permalink | true
|
Key | Value |
query | array:3 [ "page" => "" "name" => "on-the-set-of-violation-film-production-grad-discusses-experience-on-buzz-worthy-tiff-film" "category_name" => "blog" ] |
query_vars | array:66 [ "page" => 0 "name" => "on-the-set-of-violation-film-production-grad-discusses-experience-on-buzz-worthy-tiff-film" "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 | 20700
|
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 = 'on-the-set-of-violation-film-production-grad-discusses-experience-on-buzz-worthy-tiff-film' 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 | 20700
|
post_author | "43"
|
post_date | "2020-09-17 12:07:27"
|
post_date_gmt | "2020-09-17 12:07:27"
|
post_content | """ A once-famed carnival, now on its last legs and struggling to survive the modern age, takes its worst hit yet during a global pandemic. In a last-ditch effort to revive it, the carnival’s ringleader – The Great Rodolpho – produces a behind-the-scenes livestream, revealing to the world the magic, might and mayhem of the once most dominant form of entertainment in history.\n \n \n \n Billed as “funny, intense and reflective,” Toronto Film School’s upcoming production of <em>Covid Carnival Cabaret</em> will take to the virtual stage for a three-performance run on the evenings of Wednesday, Sept. 16, Thursday, Sept. 17 and Friday, Sept. 18, with each performance kicking off at 7 p.m.\n \n \n \n <img class="size-medium wp-image-20649 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/09/TFS_ACT_CovidCarnivalCabaretPoster_0909.jpg" alt="" width="334" height="526" />\n \n \n \n Livestreamed from the Rick Bennett Studio at Toronto Film School, the play was developed, structured, written, produced, designed and performed by a company of fifth-term acting students in just nine weeks.\n \n \n \n “We started with a concept gleaned from many hours of discussions around what was happening in everyone’s lives, so as to find some connection to the modern world and also seek out what they wanted to create,” said Jack Grinhaus, the play’s award-winning director.\n \n \n \n “Soon the idea of a live performance environment struggling to fit in the new world seemed appropriate. And so, the <em>Covid Carnival Cabaret </em>was born…\n \n \n \n “So, sit back and enjoy the amazing world created and performed live online for you all to see. Have fun. Life is a cabaret, after all.”\n \n \n <p style="text-align: center;"><strong>Show Schedule:</strong></p>\n <p style="text-align: center;">Wednesday, Sept. 16 at 7 p.m.</p>\n <p style="text-align: center;">Thursday, Sept. 17 at 7 p.m.</p>\n <p style="text-align: center;">Friday, Sept. 18 at 7 p.m.</p>\n <p style="text-align: center;"><strong> </strong></p>\n <p style="text-align: center;"><strong>The Creative Team Behind Covid Carnival Cabaret:</strong></p>\n \n \n <img class="alignnone size-medium wp-image-20636 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/09/TFS_ACT_TrevorBelanger_0909.jpg" alt="" width="670" height="393" />\n <p style="text-align: center;"><strong>Trevor Belanger - Damien the Dangerous Strongman</strong></p>\n <p style="text-align: center;">Trevor is outgoing and treasures moving through the right path. With Trevor’s limited amount of time, he’s had many opportunities to work with many people in the film industry and has experienced many roles including, choreography fighting in which movements were created by Trevor, a music video, silent films, and commercials inside and outside Toronto Film School. Trevor has a humour for comedy, including stand-up and hosting small comedy events. He has worked hard for every successful position he’s been in, bodybuilding, policing, and boxing. Trevor also has experience in most fields in the film industry: directing a crew more than 20 people, lighting a few films, audio assistance, filming and writing. Trevor has written stories of extensive and severe knowledge that have all been presented and claimed to be wanted. Including, thriller, comedy, and action. Trevor has a respectful personality no matter the circumstances. Trevor continues his journey with amazing talents to share to the world of entertainment and more.</p>\n \n \n \n \n <img class="alignnone size-medium wp-image-20637 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/09/TFS_ACT_MatthewCoyne_0909.jpg" alt="" width="670" height="393" />\n <p style="text-align: center;"><strong>Matthew Coyne - Ernie the Clown</strong></p>\n <p style="text-align: center;">Matthew has been participating in talent shows since middle school, and also acted in a production of <em>Departures and Arrivals</em>in high school. He is very excited to make his Toronto Film School theatre debut in this play. Outside his passion for film and theatre and building an extensive memory bank of memorable monologues and actor quotes, Matthew enjoys hiking, bowling, video games, and Pokémon.</p>\n \n \n \n \n <img class="size-medium wp-image-20638 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/09/TFS_ACT_RomikaLeslie_0909.jpg" alt="" width="670" height="393" />\n <p style="text-align: center;"><strong>Romika Leslie - Isla the Acrobat</strong></p>\n <p style="text-align: center;">Romika studies acting at Toronto Film School, which has taught her how to adapt to any role she is given. She is constantly using her creativity through singing, dancing and making videos for her YouTube channel, which has more than 1,000 subscribers. Romika also produces, directs and edits all the video content and art made on her channel. Nothing makes her feel better than being able to create something special, that ends up making someone truly feel something within.</p>\n \n \n \n \n <img class="size-medium wp-image-20639 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/09/TFS_ACT_NikkiMendoza_0909.jpg" alt="" width="670" height="393" />\n <p style="text-align: center;"><strong>Nikki Mendoza - Gilda the Mermaid</strong></p>\n <p style="text-align: center;">Nikki is ecstatic to be making her Toronto Film School debut in <em>Covid Carnival Cabaret</em>. She loves performing, with her favourites including stints with a local burlesque revue and rigorously scheduled karaoke nights with her family. In her free time, Nikki enjoys creative writing and singing and playing with her guitar. She loves TFS, as it has been a wonderful place where she has made a lot of friends.</p>\n \n \n \n \n <img class="size-medium wp-image-20640 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/09/TFS_ACT_RaúlMidence_0909.jpg" alt="" width="670" height="393" />\n <p style="text-align: center;"><strong>Raúl Midence - The Great Rodolpho</strong></p>\n <p style="text-align: center;">Raúl is grateful to be a part of <em>Covid Carnival Cabaret </em>for Toronto Film School. He has been involved in a series of classic productions such as <em>Marat/Sade, The Importance of Being Earnest,</em>and<em>Little Shop of Horrors</em>during his time at Lakefield College School. He is an avid writer and loves to collaborate with his friends at TFS. His inspirations lie in his love for the outdoors and his passion for reading. Raúl hopes to one day start his own Theatre and Film production company with his colleagues at Toronto Film School.</p>\n \n \n \n \n <img class="size-medium wp-image-20641 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/09/TFS_ACT_KatrinaPhangLyn_0909.jpg" alt="" width="670" height="393" />\n <p style="text-align: center;"><strong>Katrina Phang-Lyn - Edith the Monkey Girl</strong></p>\n <p style="text-align: center;">Katrina is a graduate of the acting conservatory program at The American Musical and Dramatic Academy in New York City. She starred as Cassandra Cain in the Off-Broadway play <em>I Killed Batman</em>. She’s also worked on shows such as <em>Degrassi: Next Class </em>and<em>Heroes Reborn</em>. Katrina is a current student at Toronto Film School. She aspires to work alongside creators whom she respects and admires.</p>\n \n \n \n \n <img class="alignnone size-medium wp-image-20642 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/09/TFS_ACT_ShawnSherman_0909.jpg" alt="" width="670" height="392" />\n <p style="text-align: center;"><strong>Shawn Sherman - Sasha the Magnificent</strong></p>\n <p style="text-align: center;">Shawn has acted for most of his life. He made his official debut in <em>The Old House</em>and continued on to <em>Train for Two</em>. He has also competed in dance from the age of 3 in every dance style, although he specializes in Musical Theatre, Modern, and Latin. He is currently studying at Toronto Film School to further hone his acting abilities and refine his acting career.</p>\n \n \n \n \n <img class="size-medium wp-image-20643 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/09/TFS_ACT_HannahSmith_0909.jpg" alt="" width="670" height="393" />\n <p style="text-align: center;"><strong>Hannah Smith - Venus the Barker</strong></p>\n <p style="text-align: center;">Hannah likes to take on things that people think she can’t do. She is a determined person who goes for what she wants and believes in. Hannah likes to tap into her emotions on stage to present the real-life traumas that happen. She doesn’t think she’s too funny, but she will stop at nothing to do what she loves.</p>\n \n \n \n \n <img class="alignnone size-medium wp-image-20644 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/09/TFS_ACT_LalitaVaid_0909.jpg" alt="" width="670" height="392" />\n <p style="text-align: center;"><strong>Lalita Vaid - Maya the Mad Scientist</strong></p>\n <p style="text-align: center;">Lalita is a Toronto-based actor whose recent credits include roles in student short films<em>The Ring</em>by Atkin Rotimi, <em>Light in the</em><em> </em><em>Hallway</em>by Romika Leslie, <em>A minute in</em><em> </em><em>between</em>by Shivani Chauha, and the lead role in <em>Some of the Parts</em>by Amanda Haley. She wrote,directed and produced her own silent film called <em>Expressions</em>. Lalita is trained at Toronto Film School, where she participated in Shakespeare and Greek Theatre, TV sitcoms and Film acting.</p>\n \n \n \n \n <img class="alignnone size-medium wp-image-20645 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/06/Jack_Grinhaus.jpg" alt="" width="670" height="393" />\n <p style="text-align: center;"><strong>Jack</strong><strong> </strong><strong>Grinhaus</strong><strong> </strong><strong>- Director</strong></p>\n <p style="text-align: center;">Jack is an award winning and nominated theatre artist who has produced and directed more than 50 professional stage plays over the last 15 years. He is the Co-Artistic Director of B2C Theatre and the former Artistic Director or Theatre NorthWest, a major regional theatre in BC. He was part of the 2010 Canadian Stage BASH Directors Residency, as well as the inaugural Director’s Lab North at Tarragon Theatre, was a contributor to the World Theatre Encyclopedia and holds an MFA and BA Honours in Theatre from York University’s Theatre program, an Associate Degree in Acting from The American Academy of Dramatic Arts in New York City, and has studied intensely with internationally renowned artists Uta Hagen, Anne Bogart the SITI Company, and Graham McLaren. Recent credits Include:<strong> </strong><em>Isitwendam</em><em> </em>(Native Earth Performing Arts/B2C/Talking Stick/Four Dora Mavor Moore Nominations), <em>ART</em> (Persephone Theatre/Nomination Outstanding Direction/SAT Awards)), <em>Hedda Noir, Million Dollar Quartet, It's a Wonderful Life: The Radio Play, Alice in Wonderland, Half Life, The Secret Mask</em><em> </em>(Theatre NorthWest), L<em>ast Christmas </em>(Lunchbox Theatre/Workshop Series), <em>dirty butterfly </em>(B2C/Obsidian Theatre), and <em>Phaedra's Lust</em> (Tapestry New Opera/B2C). He is currently working on the original series <em>Better Never</em>for Amazon Prime and the horror theatre trilogy <em>GrimHaus</em>.</p>\n \n \n \n \n <img class="alignnone size-medium wp-image-20646 aligncenter" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2020/09/TFS_ACT_BradleyBrooksStageManager_0909.jpg" alt="" width="670" height="393" />\n <p style="text-align: center;"><strong>Bradley Brooks - Stage Manager/Assistant Director</strong></p>\n <p style="text-align: center;">Bradley stumbles through life creating more laughter than tears. He’s been an international boxer, a Canadian soldier and just recently graduated from the Toronto Film School. He performed in <em>Not A Clue</em>at Factory Theatre directed by Andy Massingham and can be seen in the following short films: <em>Impasse</em>, directed by Zach Price; <em>Someday My Prince Will Come</em>, by Jacob Williams; and <em>Sum of the Parts</em>, by Adam Vitums. You can also catch him on his YouTube channel ‘Bandit Brooks’.</p>\n """ |
post_title | "On The Set of 'Violation': Film Production Grad Discusses Experience on Buzz-Worthy TIFF Film"
|
post_excerpt | "" |
post_status | "publish"
|
comment_status | "closed"
|
ping_status | "open"
|
post_password | "" |
post_name | "on-the-set-of-violation-film-production-grad-discusses-experience-on-buzz-worthy-tiff-film"
|
to_ping | "" |
pinged | "" |
post_modified | "2023-03-27 21:07:51"
|
post_modified_gmt | "2023-03-27 21:07:51"
|
post_content_filtered | "" |
post_parent | 0
|
guid | "https://dev.tfs.staging.poundandgrain.ca/?p=20700"
|
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/on-the-set-of-violation-film-production-grad-discusses-experience-on-buzz-worthy-tiff-film/"
|
USER | "forge"
|
HOME | "/home/forge"
|
HTTP_REFERER | "https://dev.tfs.staging.poundandgrain.ca/blog/on-the-set-of-violation-film-production-grad-discusses-experience-on-buzz-worthy-tiff-film"
|
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 | "49971"
|
REMOTE_ADDR | "3.147.57.197"
|
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 | 1731886448.1669
|
REQUEST_TIME | 1731886448
|
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"
|