*
* @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/uat.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/uat.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/uat.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/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/app/themes/tfs/storage/framework/views/2bc8d2ea874031e3ddb3a557319b7cad31a2f2d3.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/uat.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/uat.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/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web/wp/wp-blog-header.php"
Key | Value |
query_vars | array:3 [ "page" => "" "name" => "boss-ladies-to-discuss-success-in-the-creative-industries-during-special-international-womens-day-panel" "category_name" => "blog" ] |
query_string | "name=boss-ladies-to-discuss-success-in-the-creative-industries-during-special-international-womens-day-panel&category_name=blog"
|
request | "blog/boss-ladies-to-discuss-success-in-the-creative-industries-during-special-international-womens-day-panel"
|
matched_rule | "(.+?)/([^/]+)(?:/([0-9]+))?/?$"
|
matched_query | "category_name=blog&name=boss-ladies-to-discuss-success-in-the-creative-industries-during-special-international-womens-day-panel&page="
|
did_permalink | true
|
Key | Value |
query | array:3 [ "page" => "" "name" => "boss-ladies-to-discuss-success-in-the-creative-industries-during-special-international-womens-day-panel" "category_name" => "blog" ] |
query_vars | array:66 [ "page" => 0 "name" => "boss-ladies-to-discuss-success-in-the-creative-industries-during-special-international-womens-day-panel" "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" => 16 "nopaging" => false "comments_per_page" => "50" "no_found_rows" => false "order" => "DESC" ] |
meta_query | WP_Meta_Query {#2562} |
queried_object | WP_Post {#2563} |
queried_object_id | 22309
|
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 = 'boss-ladies-to-discuss-success-in-the-creative-industries-during-special-international-womens-day-panel' 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 | 22309
|
post_author | "43"
|
post_date | "2021-03-01 15:45:15"
|
post_date_gmt | "2021-03-01 15:45:15"
|
post_content | """ What is female empowerment and why is it so important? What is the best piece of career advice given to you by another woman? What does it mean to be a ‘boss lady’ in the creative industries?\n \n \n \n Those are just some of the questions that will be answered during a special upcoming panel discussion being hosted by Toronto Film School in honour of <a href="https://www.internationalwomensday.com/" target="_blank" rel="noopener noreferrer">International Women’s Day</a> on March 8.\n \n \n \n Hosted by <a href="https://staging.torontofilmschool.ca/programs/graphic-design-interactive-media-diploma/" target="_blank" rel="noopener noreferrer">Graphic Design & Interactive Media</a> Program Director <a href="https://www.youtube.com/watch?v=9rV6sdMJwaI" target="_blank" rel="noopener noreferrer">Pheinixx</a>, the hour-long event will feature a panel of multi-talented female creatives, including current <a href="https://online.torontofilmschool.ca/programs/writing-for-film-tv-associate-diploma/" target="_blank" rel="noopener noreferrer">Online Writing for Film & TV</a> student <a href="https://www.monicamustelier.com/" target="_blank" rel="noopener noreferrer">Monica Mustelier</a>, Class of 2015 <a href="https://staging.torontofilmschool.ca/programs/film-production-diploma/" target="_blank" rel="noopener noreferrer">Film Production</a> graduate <a href="https://www.linkedin.com/in/shelby-bronstine-b4195b122/?originalSubdomain=ca" target="_blank" rel="noopener noreferrer">Shelby Bronstine</a>, and 2016 <a href="https://staging.torontofilmschool.ca/programs/writing-for-film-tv-diploma/" target="_blank" rel="noopener noreferrer">Writing for Film & TV</a> alumnus <a href="https://www.linkedin.com/in/vanessa-carpino-06585950/?originalSubdomain=ca" target="_blank" rel="noopener noreferrer">Vanessa Carpino</a>.\n \n \n <p style="text-align: center;"><strong>Successful Females in the Creative Industry | A Special International Women’s Day Panel</strong></p>\n <p style="text-align: center;"><strong>Date:</strong> This event has already occurred.</p>\n <p style="text-align: center;">Click <strong><a href="https://youtu.be/ewoHbb9xRCQ" target="_blank" rel="noopener noreferrer">Here</a></strong> to watch recording</p>\n \n <p style="text-align: center;"><strong>About the Panelists:</strong></p>\n \n \n <img class="aligncenter wp-image-22312 size-medium" src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_GDIM_Pheinixx_Headshot1-670x393-1.jpg" alt="Headshot of Pheinixx, director of Toronto Film School's Graphic Design & Interactive Media program" width="670" height="393" />\n <p style="text-align: center;"><a href="https://www.linkedin.com/in/pheinixx/?originalSubdomain=ca" target="_blank" rel="noopener noreferrer"><strong>Pheinixx</strong></a><strong> (Host)</strong></p>\n \n <p style="text-align: center;">With more than 25 years of experience in brand identity, art direction and marketing with brands ranging from <a href="https://www.robertocavalli.com/en-ca/" target="_blank" rel="noopener noreferrer">Roberto Cavalli</a> and <a href="https://julienmacdonald.com/" target="_blank" rel="noopener noreferrer">Julien Macdonald</a>, to <a href="https://www.warnermusic.ca/" target="_blank" rel="noopener noreferrer">Warner Bros. Music</a> and <a href="https://gustotv.tv/" target="_blank" rel="noopener noreferrer">GustoTV</a>, Pheinixx has proven a master in the art of communicating through graphic design.</p>\n <p style="text-align: center;">As a sought-after art director, Pheinixx spent a decade leading photographers, stylists and hmu artists in the creation of memorable images for both commercial and editorial projects, and designing layouts and graphic materials for <a href="https://www.vogue.com/" target="_blank" rel="noopener noreferrer"><em>Vogue</em></a>, <a href="https://www.ellecanada.com/" target="_blank" rel="noopener noreferrer"><em>Elle</em></a>, <a href="https://www.instyle.com/" target="_blank" rel="noopener noreferrer"><em>InStyle</em></a>, <a href="https://www.gq.com/" target="_blank" rel="noopener noreferrer"><em>GQ</em></a> and <a href="https://www.wmagazine.com/" target="_blank" rel="noopener noreferrer"><em>W</em></a> in Italy, Russia, China and Korea. For two consecutive years in 2008 and 2009, Pheinixx was voted the Canadian Director for <a href="https://www.fgi.org/" target="_blank" rel="noopener noreferrer">Fashion Group International</a> – an elite organization for fashion and beauty executives – and was also one of the finalists in <a href="http://marketingmag.ca/about/" target="_blank" rel="noopener noreferrer"><em>Marketing Magazine</em></a>’s Creative Face Off.</p>\n <p style="text-align: center;">Pheinixx continues to build brands through strategy and design while directing the <a href="https://staging.torontofilmschool.ca/programs/graphic-design-interactive-media-diploma/" target="_blank" rel="noopener noreferrer">Graphic Design & Interactive Media</a> program at <a href="https://staging.torontofilmschool.ca/" target="_blank" rel="noopener noreferrer">Toronto Film School</a>. She remains an active member of several international design organizations, as well as a sought-after guest speaker.</p>\n \n \n \n <p style="text-align: center;"><img class="alignnone wp-image-22313 size-medium" src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_WFTO_Monica_Mustelier_Headshot1-670x393-1.jpg" alt="Headshot of Monica Mustelier" width="670" height="393" /></p>\n <p style="text-align: center;"><a href="https://www.monicamustelier.com/" target="_blank" rel="noopener noreferrer"><strong>Monica Mustelier</strong></a></p>\n \n <p style="text-align: center;">Monica Mustelier is an Afro-Latinx award-winning writer/director and former actor. After being killed off in several films and TV shows (<a href="https://www.imdb.com/title/tt1697033/?ref_=nm_flmg_act_5" target="_blank" rel="noopener noreferrer"><em>True Justice</em></a>, <a href="https://www.imdb.com/title/tt1405412/?ref_=nm_flmg_act_9" target="_blank" rel="noopener noreferrer"><em>Hardwired</em></a>), Monica rose from the dead to create her own relatable and engaging web-series, short films and features.</p>\n <p style="text-align: center;">She participated in <a href="https://www.widc.ca/" target="_blank" rel="noopener noreferrer">Women in The Director’s Chair</a>, was nominated for <a href="https://byblacks.com/" target="_blank" rel="noopener noreferrer">ByBlacks</a>’ <a href="https://byblacks.com/peopleschoiceawards" target="_blank" rel="noopener noreferrer">People’s Choice Award</a> for Best Black Canadian Film Director and won the Writers For Writers Diversity Initiative Award from the <a href="https://torontoscreenwritingconference.com/" target="_blank" rel="noopener noreferrer">Toronto Screenwriting Conference</a>. Her directorial project, <a href="https://www.imdb.com/title/tt12369230/?ref_=nm_flmg_dr_1" target="_blank" rel="noopener noreferrer"><em>Rainbow Baby</em></a>, was selected by the <a href="https://www.actratoronto.com/committees/womens-committee/" target="_blank" rel="noopener noreferrer">Toronto ACTRA Women’s Committee </a>for their Short Film Creation Lab 2020.</p>\n <p style="text-align: center;">Trinity Square Video, CineFam and Caribbean Tales Film Festival also selected Monica to write, produce and direct her dramatic short film, <a href="https://www.imdb.com/title/tt10886952/?ref_=nm_flmg_dr_3" target="_blank" rel="noopener noreferrer"><em>Weeping Willow</em></a>. That film, which was shot entirely on an iPhone 10x, went on to screen internationally – winning Best Micro Cinema Short at the <a href="https://cinefam.ca/" target="_blank" rel="noopener noreferrer">CineFam Film Fest</a>, being chosen as an Official Selection for the <a href="https://filmfreeway.com/TheLiftOffSessions" target="_blank" rel="noopener noreferrer">Lift-Off Sessions at Pinewood Studios UK</a>, and a finalist at the <a href="https://torontoblackfilm.com/" target="_blank" rel="noopener noreferrer">Toronto Black Film Fest</a>.</p>\n \n \n \n <p style="text-align: center;"><img class="alignnone wp-image-22314 size-medium" src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_WFT_Vanessa_Carpino_Headshot1-670x393-1.jpg" alt="Headshot of Vanessa Carpino" width="670" height="393" /></p>\n <p style="text-align: center;"><a href="https://www.linkedin.com/in/vanessa-carpino-06585950/?originalSubdomain=ca" target="_blank" rel="noopener noreferrer"><strong>Vanessa Carpino</strong></a></p>\n \n <p style="text-align: center;">Vanessa is a Toronto-based creative professional with a background in media, production and distribution. She is currently a sales manager in the theatrical distribution division at <a href="https://www.waltdisneystudios.com/" target="_blank" rel="noopener noreferrer">Walt Disney Studios Motion Pictures Canada</a>, where she plans and executes the theatrical distribution of films from Disney and its affiliated studios. Vanessa is an alumna of the University of Toronto, and Toronto Film School’s <a href="https://staging.torontofilmschool.ca/programs/writing-for-film-tv-diploma/" target="_blank" rel="noopener noreferrer">Writing for Film & Television</a> program.</p>\n \n \n \n <p style="text-align: center;"><img class="alignnone wp-image-22315 size-medium" src="https://uat.tfs.staging.poundandgrain.ca/app/uploads/2023/03/TFS_FP_Shelby_Bronstine_Headshot1-670x393-1.jpg" alt="Headshot of Shelby Bronstine" width="670" height="393" /></p>\n <p style="text-align: center;"><a href="https://www.linkedin.com/in/shelby-bronstine-b4195b122/?originalSubdomain=ca" target="_blank" rel="noopener noreferrer"><strong>Shelby Bronstine</strong></a></p>\n \n <p style="text-align: center;">A graduate of Toronto Film School, Shelby Bronstine is now the <a href="http://www.project10.ca/about" target="_blank" rel="noopener noreferrer">Manager of Business Affairs & Operations</a> at <a href="http://www.project10.ca/" target="_blank" rel="noopener noreferrer">Project 10 Productions</a>. She developed her strengths for production coordination and organization in the VFX world, working previously as the Prep Comp Coordinator at Legend3D. Shelby worked closely with artists and senior production in order to complete VFX elements on multiple feature films including <a href="https://www.imdb.com/title/tt2638144/?ref_=nm_flmg_vsl_3" target="_blank" rel="noopener noreferrer"><em>Ben-Hur</em></a>, <a href="https://www.imdb.com/title/tt1355644/?ref_=nm_flmg_vsl_1" target="_blank" rel="noopener noreferrer"><em>Passengers</em></a><em> </em>and <a href="https://www.imdb.com/title/tt2592614/?ref_=nm_flmg_vsl_2" target="_blank" rel="noopener noreferrer"><em>Resident Evil 6</em></a>. Switching gears, Shelby got the opportunity to learn the animation process as a Production Coordinator with Spin Master, working on seasons one and two of the successful kids’ series, <a href="https://www.imdb.com/title/tt5742760/?ref_=nm_flmg_msc_1" target="_blank" rel="noopener noreferrer"><em>Rusty Rivets</em></a>. After one year of production, Shelby jumped at the chance to move into the development department as the Coordinator working on multiple series’ in various stages of development.</p>\n \n \n """ |
post_title | "'Boss Ladies' to Discuss Success in the Creative Industries During Special International Women's Day Panel"
|
post_excerpt | "" |
post_status | "publish"
|
comment_status | "closed"
|
ping_status | "open"
|
post_password | "" |
post_name | "boss-ladies-to-discuss-success-in-the-creative-industries-during-special-international-womens-day-panel"
|
to_ping | "" |
pinged | "" |
post_modified | "2023-04-04 19:10:17"
|
post_modified_gmt | "2023-04-04 19:10:17"
|
post_content_filtered | "" |
post_parent | 0
|
guid | "https://uat.tfs.staging.poundandgrain.ca/?p=22309"
|
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/boss-ladies-to-discuss-success-in-the-creative-industries-during-special-international-womens-day-panel/"
|
USER | "forge"
|
HOME | "/home/forge"
|
HTTP_REFERER | "https://uat.tfs.staging.poundandgrain.ca/blog/boss-ladies-to-discuss-success-in-the-creative-industries-during-special-international-womens-day-panel"
|
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 | "uat.tfs.staging.poundandgrain.ca"
|
REDIRECT_STATUS | "200"
|
HTTPS | "on"
|
SERVER_NAME | "uat.tfs.staging.poundandgrain.ca"
|
SERVER_PORT | "443"
|
SERVER_ADDR | "10.0.1.187"
|
REMOTE_PORT | "10158"
|
REMOTE_ADDR | "3.139.103.204"
|
GATEWAY_INTERFACE | "CGI/1.1"
|
SERVER_PROTOCOL | "HTTP/2.0"
|
DOCUMENT_ROOT | "/home/forge/uat.tfs.staging.poundandgrain.ca/releases/20241113033749/web"
|
DOCUMENT_URI | "/index.php"
|
SCRIPT_NAME | "/index.php"
|
SCRIPT_FILENAME | "/home/forge/uat.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 | 1731828060.2302
|
REQUEST_TIME | 1731828060
|
DB_NAME | "tfs_uat"
|
DB_USER | "***"
|
DB_PASSWORD | "************"
|
WP_ENV | "development"
|
WP_HOME | "https://uat.tfs.staging.poundandgrain.ca"
|
WP_SITEURL | "https://uat.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"
|
MIRROR_URL | "https://dev.tfs.staging.poundandgrain.ca"
|
SOURCE_OF_TRUTH | "false;"
|
BLOG_URL | "https://dev.tfs.staging.poundandgrain.ca"
|
Key | Value |
DB_NAME | "tfs_uat"
|
DB_USER | "***"
|
DB_PASSWORD | "************"
|
WP_ENV | "development"
|
WP_HOME | "https://uat.tfs.staging.poundandgrain.ca"
|
WP_SITEURL | "https://uat.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"
|
MIRROR_URL | "https://dev.tfs.staging.poundandgrain.ca"
|
SOURCE_OF_TRUTH | "false;"
|
BLOG_URL | "https://dev.tfs.staging.poundandgrain.ca"
|