*
* @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" => "tfs-brings-production-of-the-secret-in-the-wings-to-918-bathurst-stage" "category_name" => "blog" ] |
query_string | "name=tfs-brings-production-of-the-secret-in-the-wings-to-918-bathurst-stage&category_name=blog"
|
request | "blog/tfs-brings-production-of-the-secret-in-the-wings-to-918-bathurst-stage"
|
matched_rule | "(.+?)/([^/]+)(?:/([0-9]+))?/?$"
|
matched_query | "category_name=blog&name=tfs-brings-production-of-the-secret-in-the-wings-to-918-bathurst-stage&page="
|
did_permalink | true
|
Key | Value |
query | array:3 [ "page" => "" "name" => "tfs-brings-production-of-the-secret-in-the-wings-to-918-bathurst-stage" "category_name" => "blog" ] |
query_vars | array:66 [ "page" => 0 "name" => "tfs-brings-production-of-the-secret-in-the-wings-to-918-bathurst-stage" "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 | 29441
|
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 = 'tfs-brings-production-of-the-secret-in-the-wings-to-918-bathurst-stage' 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 | 29441
|
post_author | "2"
|
post_date | "2023-03-07 00:00:00"
|
post_date_gmt | "2023-03-07 00:00:00"
|
post_content | """ Toronto Film School’s latest stage production weaves some lesser-known fairy tales together into a commentary on the power of storytelling and its ability to teach enduring lessons about life and love. \n \n </br>\n Directed by Tanya Rintoul and starring her fifth-term Acting for Film, TV & the Theatre students, <em>The Secret in the Wings</em> follows a child and the frightening babysitter with whom her parents leave her. As the babysitter reads from a book, the characters in each of the tales materialize, with each tale breaking off just at its bleakest moment before giving way to the next one.\n </br>\n [caption id="attachment_27801" align="alignnone" width="347"]<img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_SecretInTheWingsPoster_0307.jpg" alt="" width="347" height="526" class="size-medium wp-image-27801" /> Artwork by Rebecca Jamin [/caption]\n \n At its core, Rintoul said the 75-minute play by playwright Mary Zimmerman is essentially about love…probably. \n </br>\n “It’s important to acknowledge that in this play (as in our lives) not all acts associated with love are actually love. And acts that seem mundane or ordinary can actually be the greatest love we will ever know,” she explained, noting that she and her students’ act of love in staging the play is to tell audiences a good story. \n </br>\n “May we leave the theatre dusting off memories of our own childhood, or our first love. And perhaps recognizing just how unflinchingly capitalist and patriarchal fairy tales are. Either way, it is my hope that, no matter what, we will leave here with a more open heart.”\n </br>\n Toronto Film School’s adaptation of Mary Zimmerman’s <em>The Secret in the Wings</em>, which is stage managed by Ayla Johnston, will take to the stage at the 918 Bathurst Centre for a three-performance run as follows: \n </br>\n \n <strong>Thursday, March 23 at 7 p.m.</strong>\n \n <strong>Friday, March 24 at 9 p.m.</strong>\n \n <strong>Saturday, March 25 at 2 p.m.</strong> \n \n </br>\n \n \n The 918 Bathurst Centre is located at 918 Bathurst St. Tickets are free and are available at the door.\n \n </br>\n <h1><strong>The Creative Team Behind The Secret in the Wings:</strong></h1>\n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_AdedamolaAdeola_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27804" />\n \n <strong>Adedamola Adeola as Ambassador, Attendant, Son, King</strong>\n \n Adedamola Adeola is an aspiring actor currently in his fifth term at Toronto Film School. He hopes to one day make a name for himself in the film industry. His acting has only improved since his first term, and he continues to progress steadily as he enters his final term. This is Adedamola’s first appearance in any organized theatre performance. \n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_MemetYigitBarni_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27805" />\n \n <strong>Memet Yigit Barni as Mr. Barni, Father of Seven Sons, The Stranger</strong>\n \n Memet Yigit Barni is a 21-year-old actor who was born in Istanbul, Turkey. He lived in France in his early life and moved back to Turkey in his teenage years. At 18, he decided to move to Canada, and after spending a year here, he applied to Toronto Film School. For the past year, he has been focusing on his acting skills and honing them to perfection. He is always looking for new experiences to feed his passion. Yigit always pays attention to the details, which is how he establishes the architecture of his roles. \n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_JacksonBrown_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27806" />\n \n <strong>Jackson Brown as Ofilya’s Father, Suitor, Son</strong>\n \n If you were to take the creative drive of most great artists across generations, and combine that with the reverse IQ of the many great minds in human history, you would get Jackson Brown. Born in Guelph, Ontario in 2001, Jackson is a creative type who aims to broaden his artistic horizons everyday, and find new ways to both express himself creatively and entertain others along the way. He wants to show the world his vision, and hopes to make people laugh, think, and make life more interesting in the process. \n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_RominaDanielaCalderaMayta_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27807" />\n \n <strong>Romina Daniela Caldera Mayta as Lady in Waiting, Daughter, Mother</strong>\n \n Romina Daniela Caldera Mayta was born and raised in Bolivia. At 14, she moved to Toronto, where, after finishing high school, she decided to continue her studies at Toronto Film School. An aspiring actor, producer and director, Romina dreams of one day introducing the world to her native Bolivian culture through cinema.\n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_RahulDalal_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27808" />\n \n <strong>Rahul Dalal as Prince 2, Suitor, Son, Child</strong> \n \n Rahul Dalal is an Indian-born, naturalised Canadian actor. He studied Computer Engineering in India and worked as Computer Programmer in an IT Industry for a decade. He was always fascinated by the Bollywood movies that he grew up watching. Rahul is currently pursuing his diploma in Acting for Film, TV & the Theatre at Toronto Film School. He wrote, directed, and produced his first silent short film “Love Story” in September 2022 and featured in four silent short films. He is actively working on his upcoming short films “New Beginning” and “Truth or Shots”. Rahul looks forward to making it big in the film industry both in North America and in India. \n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_RafaelHenriquedosSantosMesquita_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27809" />\n \n <strong>Rafael Henrique dos Santos Mesquita as Son, Child</strong> \n \n Rafael Henrique dos Santos Mesquita is a Brazilian actor who moved to Toronto in the pursuit of his dream career and has always looked forward for the next step to accomplishing it. At 14 years old, he decided he wanted to become an actor and attended the biggest acting and modeling workshop in Latin America called “Projeto Passarela” in 2016 and 2019. In 2019, he took a theatre program where he got a role on the classic Greek tragedy play “Oedipus in Colonus,” which was staged in the world-renowned Amazon Theatre, voted the prettiest opera house in Brazil and one of the 15 prettiest in the world by Vogue Magazine in 2019.\n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_MayuKawase_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27810" />\n \n <strong>Mayu Kawase as Queen 2, Allerleira</strong> \n \n Mayu Kawase is a Japanese actress and model born and raised in Tokyo, Japan, and now based in Toronto. When she was 15 years old, she first started acting out of curiosity. It was something she \n had admired and was interested in, but was always too scared to try out. After a few years of training, she started her journey as a professional actress and a model in her home country. Her work includes roles in TV shows and experience at an international theatre company. After graduating from high school, she moved to Canada to brush up her acting skills at Toronto Film School. \n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_OfilyaSilver-Lanuza_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27811" />\n \n <strong>Ofilya Silver-Lanuza as Ofilya, Child, Allerleira’s Companion </strong>\n \n Ofilya Silver-Lanuza is a Canadian-Nicaraguan actress raised in the small town of Deseronto, Ontario. One of her greatest loves is storytelling, whether it be through acting, writing, or producing. Ofilya began acting at a young age in elementary school, which sparked so much joy within her that she continued to pursue acting in high school and now through her studies at Toronto Film School. Ofilya’s heart belongs to the art of storytelling – it always has and always will. She stands tall in her morals and longs to be a representative for biracial people, those who are midsize, and people with disabilities, encouraging everyone to pursue their dreams as she has.\n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_ChristopherMyam_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27812" />\n \n <strong>Christopher Myam as Allerleira’s Father, Son, Child</strong>\n \n Christopher Myam (he/him) is a Nigerian-born actor who currently lives in Toronto and attends Toronto Film School, where he is currently in his fifth term. The first major highlight of Christopher’s acting career was when he played Puck in William Shakespeare’s Mid-Summer Night’s Dream. Christopher enjoys reading books and making his own short films during his spare time. He looks forward to establishing himself as a renowned actor in Canada and maybe one day in Hollywood. \n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_SamieNakhforoush_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27813" />\n \n <strong>Samie Nakhforoush as Prince 1, Princess Who Won’t Laugh’s Father the King, Son</strong>\n \n Samie Nakhforoush is an actor, swimmer, and football player who enjoys the power of storytelling and entertaining people. For nearly nine years, Samie was a professional swimmer, but he retired from swimming when he fell in love with acting. Samie’s long-term goal is to make movies that entertain people and make them feel like they are a part of the journey. He hopes to bring joy and happiness into people’s lives.\n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_RaizaPalma_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27814" />\n \n <strong>Raiza Palma as Queen 1, Princess Who Won’t Laugh, Allerleira’s Companion</strong>\n \n Raiza Palma is a Filipino-Canadian actor who was born and raised in Manila, Philippines. She is the youngest of three, with two older brothers. Raiza has many talents and hobbies including: dancing, playing piano, ukulele, and guitar, and snowboarding. Before Raiza became an actress, she worked as a hairdresser for six years to pay the bills. Since she was five, Raiza has always wanted to become an actress, but was discouraged to do so in high school, which led her on many different paths. However, she eventually built up the courage to pursue acting and her career started at age 26. \n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_RamtinSalimi_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27815" />\n \n <strong>Ramtin Salimi as Prince 3, Suitor, Son</strong>\n \n Ramtin Salimi is a Persian actor, martial artist and stunt performer. Ramtin is a black belt 4th Dan in Taekwondo with 18 years of experience, training and teaching. He started his acting career in a Persian play called “Chekov”, and performed as an actor and double stunt in an indie movie called “Desire Of The Prey” directed by Carly May Borgstrom. He is also known for his short films “Diana’s Dinner”, “Chase” and “L.” Ramtin was so motivated and passionate about acting that he decided to pursue his dream by enrolling in the Acting for Film, TV & the Theatre program at Toronto Film School in October 2021.\n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_SarahTaylor_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27816" />\n \n <strong>Sarah Taylor as Nursemaid, Lady in Waiting, Allerleira’s Companion</strong>\n \n Sarah Taylor is a half Indigenous actor who was born and raised in Red Deer, Alberta. Taylor moved around quite frequently as a child, but in elementary school she enjoyed being a part of many Christmas and other play productions, as well as the drama club in middle school. In high school, she stopped pursuing the arts and mainly focused on sports, but after the massive hit of COVID-19, she ultimately decided to change her life. She moved to the Toronto to pursue her studies in acting at Toronto Film School. She loves theatre, but her main focus is acting in films. \n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_HanaVo_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27817" />\n \n <strong>Hana Vo as Ofilya’s Mother, Queen 3, Lady in Waiting, Evil Queen</strong>\n \n Hana Vo is a Vietnamese actor, director and screenwriter who is based in Toronto. Growing up, Hana wrote, directed and starred in many school theatre productions whenever she had the chance to do so. During high school, the success of her biographical play about Vietnamese poet Han Mac Tu opened up many opportunities for Hana. In 2019, she was commissioned to write and direct a short film about culture for Espelune, a student-founded NGO focused on traditional Vietnamese traditional. Since enrolling in Toronto Film School’s Acting program, Hana has begun to explore the topic of cognitive dissonance - one’s ignorance (sometimes by choice) to their own heart, with her recent short film scripts: “White Shoes”, “Evergreen” and “The Glass That Will Never Be Again”.\n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_MarvinWhyte_0307.jpg" alt="" width="650" height="500" class="alignnone size-full wp-image-27818" />\n \n <strong>Marvin Whyte as Attendant, King of Silent for Seven Years, Papa</strong>\n \n Marvin Whyte is a unique Canadian actor. Through his art, you can tell his journey has not been the easiest, not in the slightest way, which shows in his craft in many different ways. Also he is a very passionate writer, who takes much pride in his background in music and poetry. A lot of what Marvin tends to write about are the life experiences he either went through himself, observed or heard from someone close to him. Coming from an athletic background with a deep love for sports, Marvin hopes to explain to his audience some of the pros and cons of entering the sports world and his experience.\n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_AylaJohnston_0307.jpg" alt="" width="526" height="526" class="alignnone size-medium wp-image-27819" />\n \n <strong>Ayla Johnston – Stage Manager</strong>\n \n Ayla Johnston is a trained actor, writer, filmmaker, and recent graduate of Toronto Film School. Throughout her training at TFS, Ayla had extensive experience with scene study work in a range of dramatic and comedic roles, and produced her first short film, I Love You Most. She is now working with director, Tanya Rintoul, and the students of 5X as a first-time stage manager on an adaptation of Mary Zimmerman’s The Secret in the Wings. She is very excited to work with such talented artists to broaden her experience and understanding in the industry.\n </br>\n <img src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_ACT_TanyaRintoul_0307.jpg" alt="" width="437" height="526" class="alignnone size-medium wp-image-27820" />\n \n <strong>Tanya Rintoul – Director</strong>\n \n Tanya Rintoul is a director, theatre maker, dramaturge, and educator born and mostly raised in Tkaronto. She has a background in devised theatre and the development of new plays. Her most recent professional directing credits include: A Streetcar Named Desire (assistant director- Soulpepper, dir. Weyni Mengesha), The Worst Thing I Could Be Is Happy (Tiny Bear Jaws), The Queen’s Eulogy (the orchid beauty shop/Toronto Fringe), The Nails (SummerWorks), The Last Five Years (Rural Stages Productions), Deceitful Above All Things (The Storefront Theatre), and Father Comes Home from the Wars (assistant director- Soulpepper, dir. Weyni Mengesha), which won the Dora Award for Outstanding Production. Her original work includes: Good Girl performed in the back of a pawnshop in the 2013 Toronto Fringe, A Wake for Lost Time, a 24-hour durational performance (elephants collective), and No Time for Dreams (barking birds theatre, Toronto Fringe). Tanya is the program director of the Toronto Fringe’s T.E.NT. Program which provides mentorship, networking, and training for emerging theatre producers in the GTA.<!--more--> """ |
post_title | "TFS Brings Production of ‘The Secret in the Wings’ to 918 Bathurst Stage"
|
post_excerpt | "" |
post_status | "publish"
|
comment_status | "closed"
|
ping_status | "open"
|
post_password | "" |
post_name | "tfs-brings-production-of-the-secret-in-the-wings-to-918-bathurst-stage"
|
to_ping | "" |
pinged | "" |
post_modified | "2023-03-27 21:06:46"
|
post_modified_gmt | "2023-03-27 21:06:46"
|
post_content_filtered | "" |
post_parent | 0
|
guid | "https://dev.tfs.staging.poundandgrain.ca/tfs-brings-production-of-the-secret-in-the-wings-to-918-bathurst-stage/"
|
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/tfs-brings-production-of-the-secret-in-the-wings-to-918-bathurst-stage/"
|
USER | "forge"
|
HOME | "/home/forge"
|
HTTP_REFERER | "https://dev.tfs.staging.poundandgrain.ca/?p=29441"
|
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 | "7619"
|
REMOTE_ADDR | "18.189.194.155"
|
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 | 1731823525.7774
|
REQUEST_TIME | 1731823525
|
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"
|