*
* @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-staff-and-faculty-honour-truth-reconciliation-with-day-of-reflection" "category_name" => "news" ] |
query_string | "name=tfs-staff-and-faculty-honour-truth-reconciliation-with-day-of-reflection&category_name=news"
|
request | "news/tfs-staff-and-faculty-honour-truth-reconciliation-with-day-of-reflection"
|
matched_rule | "(.+?)/([^/]+)(?:/([0-9]+))?/?$"
|
matched_query | "category_name=news&name=tfs-staff-and-faculty-honour-truth-reconciliation-with-day-of-reflection&page="
|
did_permalink | true
|
Key | Value |
query | array:3 [ "page" => "" "name" => "tfs-staff-and-faculty-honour-truth-reconciliation-with-day-of-reflection" "category_name" => "news" ] |
query_vars | array:66 [ "page" => 0 "name" => "tfs-staff-and-faculty-honour-truth-reconciliation-with-day-of-reflection" "category_name" => "news" "error" => "" "m" => "" "p" => 0 "post_parent" => "" "subpost" => "" "subpost_id" => "" "attachment" => "" "attachment_id" => 0 "pagename" => "" "page_id" => 0 "second" => "" "minute" => "" "hour" => "" "day" => 0 "monthnum" => 0 "year" => 0 "w" => 0 "tag" => "" "cat" => "" "tag_id" => "" "author" => "" "author_name" => "" "feed" => "" "tb" => "" "paged" => 0 "meta_key" => "" "meta_value" => "" "preview" => "" "s" => "" "sentence" => "" "title" => "" "fields" => "" "menu_order" => "" "embed" => "" "category__in" => [] "category__not_in" => [] "category__and" => [] "post__in" => [] "post__not_in" => [] "post_name__in" => [] "tag__in" => [] "tag__not_in" => [] "tag__and" => [] "tag_slug__in" => [] "tag_slug__and" => [] "post_parent__in" => [] "post_parent__not_in" => [] "author__in" => [] "author__not_in" => [] "search_columns" => [] "ignore_sticky_posts" => false "suppress_filters" => false "cache_results" => true "update_post_term_cache" => true "update_menu_item_cache" => false "lazy_load_term_meta" => true "update_post_meta_cache" => true "post_type" => "" "posts_per_page" => 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 | 23744
|
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-staff-and-faculty-honour-truth-reconciliation-with-day-of-reflection' 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 | 23744
|
post_author | "43"
|
post_date | "2021-09-27 13:46:13"
|
post_date_gmt | "2021-09-27 13:46:13"
|
post_content | """ Toronto Film School will honour Canada’s first-ever <a href="https://www.canada.ca/en/canadian-heritage/campaigns/national-day-truth-reconciliation.html" target="_blank" rel="noopener noreferrer">National Day for Truth and Reconciliation</a> by providing its faculty and staff with the day off to reflect.\n \n \n \n “Sept. 30, 2021 is a day that the federal government announced as National Day for Truth and Reconciliation, and we decided that, as a sign of respect and our deep commitment to reconciliation, we wanted to provide all of our employees with the day off,” <a href="https://www.yorkvilleu.ca/globally-recognized-academic-dr-julia-christensen-hughes-appointed-incoming-president-of-yorkville-university/">Dr. Julia Christensen Hughes</a>, president of TFS's affiliate school, Yorkville University, said in a recent Town Hall event.\n \n \n \n [caption id="attachment_23747" align="aligncenter" width="650"]<img class="wp-image-23747 size-full" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/09/YU_ALL_JuliaChristensenHughesHeadshot1THUMB_0617.jpg" alt="Dr. Julia Christensen Hughes, president of Yorkville University " width="650" height="450" /> Yorkville University President Dr. Julia Christensen Hughes[/caption]\n \n \n \n “It’s not just a day off, but, more importantly, a day to reflect on the hard work that needs to be done to build meaningful relationships with Indigenous communities and members of our own community.”\n \n \n \n Federally designated as a statutory holiday this past June, National Day for Truth and Reconciliation seeks to honour First Nations, Inuit and Métis survivors of residential schools, as well as their families and communities, ensuring that public commemoration of their history and the legacy of residential schools remains a vital component of the reconciliation process.\n \n \n \n With those goals in mind, Toronto Film School has curated a number of enlightening events – both past and present – for faculty, staff, and students to tune into, as well as a list of resources the entire school community is encouraged to access on Sept. 30.\n \n \n \n <img class="aligncenter wp-image-23726 size-medium" src="https://dev.tfs.staging.poundandgrain.ca/app/uploads/2021/09/TFS_ACT_LittleBirdPoster_TimMyles_0921.jpg" alt="Little Bird movie poster from TIFF " width="411" height="526" />\n \n \n \n Firstly, Toronto Film School will host a special screening of Mi’kmaw actor/filmmaker and <a href="https://www.torontofilmschool.ca/programs/acting-for-film-tv-and-the-theatre-diploma/" target="_blank" rel="noopener noreferrer">Acting for Film, TV & the Theatre</a> alumnus <a href="https://www.imdb.com/name/nm5532058/?ref_=nmbio_bio_nm" target="_blank" rel="noopener noreferrer">Tim Myles</a>’ new short film, <a href="https://www.imdb.com/title/tt15246156/?ref_=nm_knf_t1" target="_blank" rel="noopener noreferrer"><em>Little Bird</em></a>, which recently made its world premiere at <a href="https://2021.tiffr.com/shows/little-bird" target="_blank" rel="noopener noreferrer">TIFF</a>. The 15-minute, semi-autobiographical film, tells the story of a young Indigenous man who finds strength in family while processing the death of his mother.\n \n \n \n Hosted by Toronto Film School’s <a href="https://www.torontofilmschool.ca/blog/andrew-barnsley-celebrates-schitts-creeks-historic-night-at-emmys/" target="_blank" rel="noopener noreferrer">Emmy-winning</a> President, <a href="https://www.torontofilmschool.ca/blog/toronto-film-school-poised-for-global-greatness-with-andrew-barnsley-at-the-helm-as-newly-named-president/" target="_blank" rel="noopener noreferrer">Andrew Barnsley</a>, the <em>Little Bird</em> screening will take place at <a href="http://www.theroyal.to/?fbclid=IwAR0wu6ZITqEz5thlZnQl9Vxx8ZopKxq0P3FVoT1Cq97PAp06626gftF4rD4" target="_blank" rel="noopener noreferrer">The Royal Cinema</a>, <a href="https://www.google.com/maps/place/608+College+St,+Toronto,+ON+M6G+1B4/@43.6553504,-79.4151289,19z/data=!4m5!3m4!1s0x882b34f1d7575829:0xe407900c96bab76c!8m2!3d43.6553504!4d-79.4145817" target="_blank" rel="noopener noreferrer">608 College St.,</a> on Thursday, Sept. 30 at 2 p.m., followed by a Q&A panel discussion featuring Myles, who both directed and stars in the film, and his two co-stars, <a href="https://www.imdb.com/name/nm12854233/?ref_=ttfc_fc_cl_t3" target="_blank" rel="noopener noreferrer">Lisa Nasson</a> and <a href="https://www.imdb.com/name/nm0544752/?ref_=ttfc_fc_cl_t1" target="_blank" rel="noopener noreferrer">Cheri Maracle</a>.\n \n \n \n A limited number of tickets will be available on a first-come, first-served basis Sept. 24 at 4 p.m. <a href="https://www.eventbrite.ca/e/little-bird-screening-and-qa-tickets-177146749697" target="_blank" rel="noopener noreferrer"><strong>here</strong></a>. For those unable to attend in person, the event will also be streamed live at <a href="https://create.torontofilmschool.ca/screening/littlebird/" target="_blank" rel="noopener noreferrer">https://create.torontofilmschool.ca/screening/littlebird/ </a>\n <h1 style="text-align: center;">TFS Webinars</h1>\n <p style="text-align: center;">Toronto Film School’s Director of Diversity, Equity and Inclusion, <a href="https://www.yorkvilleu.ca/yorkville-university-welcomes-new-diversity-consultant/" target="_blank" rel="noopener noreferrer">Thamina Jaferi</a>, has also curated a list of past webinars hosted by both TFS and Yorkville University that speak to Truth and Reconciliation themes. They include:</p>\n \n <p style="text-align: center;"><strong><a href="https://www.youtube.com/watch?v=xe3TxW3--fw" target="_blank" rel="noopener noreferrer">Cinema as a Form of Social Protest</a></strong></p>\n <p class="p1" style="text-align: center;">Presented in partnership with <a href="https://www.bipoctvandfilm.com/" target="_blank" rel="noopener noreferrer"><span class="s1">BIPOC TV & Film</span></a>, the <em><span class="s1">Cinema as a Form of Social Protest</span></em> webinar was moderated by Hotinonhshón:ni Mohawk multidisciplinary artist <a href="https://www.instagram.com/artstarkiley/?hl=en" target="_blank" rel="noopener noreferrer"><span class="s1">Kiley May</span></a>. It featured commentary from a panel of Indigenous filmmakers including: multidisciplinary Mi’gMaq artist <a href="https://www.instagram.com/tripgore/?hl=en" target="_blank" rel="noopener noreferrer"><span class="s1">Jeff Barnaby</span></a>; Kahnawà:ke Mohawk actor and filmmaker <a href="https://en.wikipedia.org/wiki/Kawenn%C3%A1here_Devery_Jacobs" target="_blank" rel="noopener noreferrer"><span class="s1">Kawennáhere Devery Jacobs</span></a>; and Mi’kmaw actor and filmmaker – and Toronto Film School graduate – <a href="https://www.instagram.com/tim_myles/?hl=en" target="_blank" rel="noopener noreferrer"><span class="s1">Tim Myles</span></a>. Over the course of the nearly two-hour virtual event, the panelists engaged in a lively discussion about representation/misrepresentation of Indigenous people on screen, how they choose to incorporate their respective cultures into their films, and what first spurred them to incorporate activism into their projects, among many other topics.</p>\n \n <p style="text-align: center;"><iframe title="YouTube video player" src="https://www.youtube.com/embed/xe3TxW3--fw" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>\n \n \n \n <p style="text-align: center;"><strong><a href="https://www.youtube.com/watch?v=q74yyjYDvmA&list=PLbA9cZlST9Os22YTvN846NKv1z6c_MYCA&index=3" target="_blank" rel="noopener noreferrer">Ask an Expert | Talking About Healing, Relationships and Reconciliation</a></strong></p>\n <p style="text-align: center;">Hosted during <a href="https://www.rcaanc-cirnac.gc.ca/eng/1466616436543/1534874922512" target="_blank" rel="noopener noreferrer">National Indigenous Heritage Month</a>, the session saw Yorkville professor, <a href="https://www.linkedin.com/in/lois-edge-ph-d-a551521b/?originalSubdomain=ca" target="_blank" rel="noopener noreferrer">Dr. Lois Edge</a> – a member of the <a href="https://nwtmetisnation.ca/" target="_blank" rel="noopener noreferrer">Northwest Territories Métis Nation</a> – discuss the topic of Indigenous reconciliation and healing. It explores the intergenerational legacy of residential schools on Indigenous peoples and emphasizes the types of actions we, as faculty and staff, and as an institution can take to become more aware of this dark period of Canadian history and how to remove barriers toward Indigenous inclusion at post-secondary institutions.</p>\n \n <p style="text-align: center;"><iframe title="YouTube video player" src="https://www.youtube.com/embed/q74yyjYDvmA" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>\n \n \n \n <p style="text-align: center;"><strong><a href="https://www.youtube.com/watch?v=djLXpEFOoNU" target="_blank" rel="noopener noreferrer">Ask an Expert | Infusing Culture & Spirituality into Stress Management</a></strong></p>\n <p style="text-align: center;">In times of uncertainty, we can often find our bodies and minds stressed out. In this Ask an Expert session, Dr. Julie Smith discusses how she infuses her traditional First Nations practices into her stress management and self-care regime and to offer tips on how students can use their own cultural and spiritual tools to help them make it through difficult times in their lives.</p>\n \n <p style="text-align: center;"><iframe title="YouTube video player" src="https://www.youtube.com/embed/djLXpEFOoNU" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>\n \n <h1 style="text-align: center;">Other Resources</h1>\n Jaferi has also compiled a listing of online resources she’s encouraging every member of the school community to access, including:\n \n \n <p style="text-align: center;"><strong><a href="https://www.rcaanc-cirnac.gc.ca/eng/1524494530110/1557511412801">Government of Canada’s Truth and Reconciliation Commission’s Calls to Action</a></strong></p>\n <p style="text-align: center;">To redress the legacy of residential schools and advance reconciliation, the <a href="https://www.rcaanc-cirnac.gc.ca/eng/1450124405592/1529106060525">Truth and Reconciliation Commission of Canada</a> called on governments, educational and religious institutions, civil society groups and all Canadians to take action on the 94 Calls to Action it identified. Jaferi recommends Yorkville staff and faculty pay particular attention to those calls to action that focus on <a href="https://www.rcaanc-cirnac.gc.ca/eng/1524504501233/1557513602139">Education for Reconciliation</a> and <a href="https://www.rcaanc-cirnac.gc.ca/eng/1524506030545/1557513309443">Business and Reconciliation</a>.</p>\n \n <p style="text-align: center;"><strong><a href="https://indspire.ca/wp-content/uploads/2019/10/PSE-Experience-Indigenous-Students-Survey-Summary-Sept2018.pdf">Indspire’s Summary of Findings on the Post-Secondary Experience of Indigenous Students Following the Truth and Reconciliation Commission</a></strong><strong> </strong></p>\n <p style="text-align: center;">In July and August of 2018, Indspire sent a survey to 2,000 First Nation, Inuit and Métis students enrolled in post-secondary programs across Canada, seeking their insight and perspective on how the Calls to Action released by the Truth and Reconciliation Commission had affected their educational experience. The summary of their findings are listed in this document.</p>\n \n <p style="text-align: center;"><strong><a href="https://www.catalyst.org/wp-content/uploads/2020/12/IndigenousPeoplesCanadaReport_English_final.pdf">Catalyst’s Report on Building Inclusion for Indigenous Peoples in Canadian Workplaces</a></strong></p>\n <p style="text-align: center;">A long history of colonialism, genocide and racism has led to inequities in many facets of life for Indigenous Peoples living on the land now called Canada. In the workplace, Indigenous Peoples are underrepresented, suffer a wage gap and often experience isolation because of a lack of Indigenous role models at senior levels. Additionally, they are regularly surrounded by managers, colleagues, and senior executives who do not truly understand their history and cultures or the burdens they carry.</p>\n <p style="text-align: center;">This Catalyst survey shows Indigenous Peoples also pay an emotional tax at work and experience low levels of psychological safety. The study findings point to actions managers and team members can take to build the understanding, relationships, and work environments that will help Indigenous Peoples belong, contribute, and thrive in the workplace.</p> """ |
post_title | "TFS Staff and Faculty Honour Truth & Reconciliation with Day of Reflection"
|
post_excerpt | "" |
post_status | "publish"
|
comment_status | "open"
|
ping_status | "open"
|
post_password | "" |
post_name | "tfs-staff-and-faculty-honour-truth-reconciliation-with-day-of-reflection"
|
to_ping | "" |
pinged | "" |
post_modified | "2023-03-27 21:07:19"
|
post_modified_gmt | "2023-03-27 21:07:19"
|
post_content_filtered | "" |
post_parent | 0
|
guid | "https://dev.tfs.staging.poundandgrain.ca/?p=23744"
|
menu_order | 0
|
post_type | "post"
|
post_mime_type | "" |
comment_count | "0"
|
filter | "raw"
|
Key | Value |
SERVER_SOFTWARE | "nginx/1.22.1"
|
REQUEST_URI | "/news/tfs-staff-and-faculty-honour-truth-reconciliation-with-day-of-reflection/"
|
USER | "forge"
|
HOME | "/home/forge"
|
HTTP_REFERER | "https://dev.tfs.staging.poundandgrain.ca/news/tfs-staff-and-faculty-honour-truth-reconciliation-with-day-of-reflection"
|
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 | "49414"
|
REMOTE_ADDR | "18.118.189.253"
|
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 | 1731862188.7724
|
REQUEST_TIME | 1731862188
|
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"
|