Filter hooks are used to modify something and then return the modification. These are the native filter hooks found in Devflow:

cms.auth.cookie

/**
 * Filters the authentication cookie.
 *
 * @file core/Shared/Helpers/auth.php
 * @param array $user User data array.
 * @param string $rememberme Whether to remember the user.
 */
Filter::getInstance()->applyFilter('cms.auth.cookie', $user, $rememberme);

cms.authenticate.user

/**
 * Filters log in details.
 *
 * @file core/Shared/Helpers/auth.php
 * @param string $login User's username or email address.
 * @param string $password User's password.
 * @param string $rememberme Whether to remember the user.
 */
Filter::getInstance()->applyFilter('cms.authenticate.user', $login, $password, $rememberme);

auth.cookie.expiration

/**
 * Ensure the browser will continue to send the cookie until it expires.
 *
 * @file core/Shared/Helpers/auth.php
 */
$expire = Filter::getInstance()->applyFilter(
    'auth.cookie.expiration',
    Options::factory()->read('cookieexpire', 172800)
);

get.content.datetime

/**
 * Filters the content's datetime.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $datetime  The content's datetime.
 * @param string $contentId Content id or content object.
 */
Filter::getInstance()->applyFilter('get.content.datetime', $datetime, $content);

get.content.modified

/**
 * Filters the content date.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $modified The content's modified datetime.
 * @param string $format   Format to return datetime string.
 * @param string $contentId Content id or content object.
 */
Filter::getInstance()->applyFilter('get.content.modified', $modified, $format, $content);

get.content.body

/**
 * Filters the content date.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $body    The content's body.
 * @param string $content Content object.
 */
Filter::getInstance()->applyFilter('get.content.body', $body, $content);

get.content.contenttype.name

/**
 * Filters the content content_type name.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $contentTypeName The content's content_type name.
 * @param string $content         Content object.
 */
Filter::getInstance()->applyFilter('get.content.contenttype.name', $contentTypeName, $content);
/**
 * Filters the content content_type link.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $link      The content's content_type link.
 * @param string $contentId Content id.
 */
Filter::getInstance()->applyFilter('get.content.contenttype.link', $link, $contentId);

get.content.title

/**
 * Filters the content title.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $title The content's title.
 * @param string $content  Content object.
 */
Filter::getInstance()->applyFilter('get.content.title', $title, $content);

get.content.slug

/**
 * Filters the content's slug.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $slug The content's slug.
 * @param string $content   Content object.
 */
Filter::getInstance()->applyFilter('get.content.slug', $slug, $content);

get.{$contentType}.relative.url

/**
 * Filters the content's relative_url.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $relativeUrl The content's relative url.
 * @param string $content   The content object.
 */
Filter::getInstance()->applyFilter(
    "get.{$contentType}.relative.url",
    $relativeUrl,
    $content
);
/**
 * Filters the content's link based on its content_type.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $link The content's link.
 * @param object $content Content object.
 */
Filter::getInstance()->applyFilter("get.{$contentType}.link", $link, $content);

get.content.author.id

/**
 * Filters the content author id.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $authorId The content's author id.
 * @param object $content Content object.
 */
Filter::getInstance()->applyFilter('get.content.author.id', $authorId, $content);

get.content.author

/**
 * Filters the content author.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $author The content's author.
 * @param object $content Content object.
 */
Filter::getInstance()->applyFilter('get.content.author', $author, $content);

get.content.status

/**
 * Filters the content status.
 *
 * @file core/Shared/Helpers/content.php
 * @param string  $status The content's status.
 * @param Content $content Content object.
 */
Filter::getInstance()->applyFilter('get.content.status', $status, $content);

get.content.created.date

/**
 * Filters the content created date.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $theDate The content's formatted date.
 * @param bool   $format Format to use for retrieving the date the content was written.
 *                       Accepts 'G', 'U', or php date format. Default 'U'.
 * @param bool   $gmt    Whether to retrieve the GMT date. Default false.
 */
Filter::getInstance()->applyFilter('get.content.created.date', $theDate, $format, $gmt);

content.created.date

/**
 * Filters the date the content was written.
 *
 * @file core/Shared/Helpers/content.php
 * @param string    $theDate The formatted date.
 * @param string    $format  Format to use for retrieving the date the content was written.
 *                           Accepts 'G', 'U', or php date format value specified
 *                           in 'date_format' option. Default empty.
 * @param Content  $content  Content object.
 */
Filter::getInstance()->applyFilter('content.created.date', $theDate, $format, $content);

get.content.created.time

/**
 * Filters the content created time.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $theTime The content's formatted time.
 * @param bool   $format   Format to use for retrieving the time the content was written.
 *                         Accepts 'G', 'U', or php date format. Default 'U'.
 * @param bool   $gmt      Whether to retrieve the GMT time. Default false.
 */
Filter::getInstance()->applyFilter('get.content.created.time', $theTime, $format, $gmt);

content.created.time

/**
 * Filters the time the content was written.
 *
 * @file core/Shared/Helpers/content.php
 * @param string    $theTime The formatted time.
 * @param string    $format  Format to use for retrieving the time the content was written.
 *                           Accepts 'G', 'U', or php date format value specified
 *                           in 'time_format' option. Default empty.
 * @param object    $content Content object.
 */
Filter::getInstance()->applyFilter('content.created.time', $theTime, $format, $content);

get.content.published.date

/**
 * Filters the content published date.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $theDate The content's formatted date.
 * @param bool   $format  Format to use for retrieving the date the content was published.
 *                        Accepts 'G', 'U', or php date format. Default 'U'.
 * @param bool   $gmt     Whether to retrieve the GMT date. Default false.
 */
Filter::getInstance()->applyFilter('get.content.published.date', $theDate, $format, $gmt);

content.published.date

/**
 * Filters the time the content was written.
 *
 * @file core/Shared/Helpers/content.php
 * @param string    $theDate  The formatted date.
 * @param string    $format   Format to use for retrieving the date the content was published.
 *                            Accepts 'G', 'U', or php date format value specified
 *                            in 'date_format' option. Default empty.
 * @param object    $content  Content object.
 */
Filter::getInstance()->applyFilter('content.published.date', $theDate, $format, $content);

get.content.published.time

/**
 * Filters the content published time.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $theTime The content's formatted time.
 * @param bool   $format  Format to use for retrieving the time the content was written.
 *                        Accepts 'G', 'U', or php date format. Default 'U'.
 * @param bool   $gmt     Whether to retrieve the GMT time. Default false.
 */
Filter::getInstance()->applyFilter('get.content.published.time', $theTime, $format, $gmt);

content.published.time

/**
 * Filters the time the content was published.
 *
 * @file core/Shared/Helpers/content.php
 * @param string    $theTime  The formatted time.
 * @param string    $format   Format to use for retrieving the time the content was published.
 *                            Accepts 'G', 'U', or php date format value specified
 *                            in 'time_format' option. Default empty.
 * @param object    $content  Content object.
 */
Filter::getInstance()->applyFilter('content.published.time', $theTime, $format, $content);

get.content.modified.date

/**
 * Filters the content modified date.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $theDate The content's formatted date.
 * @param bool   $format  Format to use for retrieving the date the content was published.
 *                        Accepts 'G', 'U', or php date format. Default 'U'.
 * @param bool   $gmt     Whether to retrieve the GMT date. Default false.
 */
Filter::getInstance()->applyFilter('get.content.modified.date', $theDate, $format, $gmt);

content.modified.date

/**
 * Filters the date the content was modified.
 *
 * @file core/Shared/Helpers/content.php
 * @param string    $theDate The formatted date.
 * @param string    $format  Format to use for retrieving the date the content was modified.
 *                           Accepts 'G', 'U', or php date format value specified
 *                           in 'date_format' option. Default empty.
 * @param object    $content Content object.
 */
Filter::getInstance()->applyFilter('content.modified.date', $theDate, $format, $content);

get.content.modified.time

/**
 * Filters the content modified time.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $theTime The content's formatted time.
 * @param bool   $format   Format to use for retrieving the time the content was modified.
 *                         Accepts 'G', 'U', or php date format. Default 'U'.
 * @param bool   $gmt      Whether to retrieve the GMT time. Default false.
 */
Filter::getInstance()->applyFilter('get.content.modified.time', $theTime, $format, $gmt);

content.modified.time

/**
 * Filters the time the content was modified.
 *
 * @file core/Shared/Helpers/content.php
 * @param string    $theTime The formatted time.
 * @param string    $format  Format to use for retrieving the time the content was modified.
 *                           Accepts 'G', 'U', or php date format value specified
 *                           in 'time_format' option. Default empty.
 * @param object    $content Content object.
 */
Filter::getInstance()->applyFilter('content.modified.time', $theTime, $format, $content);

get.content.content.type.id

/**
 * Filters the content content_type id.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $contentTypeId The content's content_type id.
 * @param string $contentId  The content ID.
 */
Filter::getInstance()->applyFilter('get.content.content.type.id', $contentTypeId, $contentId);

get.content.content.type

/**
 * Filters the content content_type.
 *
 * @file core/Shared/Helpers/content.php
 * @param string   $contenttype  The content's content_type.
 * @param string   $contentId    The content ID.
 */
Filter::getInstance()->applyFilter('get.content.content.type', $contenttype, $contentId);

get.content.parent.id

/**
 * Filters the content parent id.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $parentId  The content's parent id.
 * @param string $contentId The content ID.
 */
Filter::getInstance()->applyFilter('get.content.parent.id', $parentId, $contentId);

get.content.parent

/**
 * Filters the content parent.
 *
 * @file core/Shared/Helpers/content.php
 * @param string $parent    The content's parent.
 * @param string $contentId The content ID.
 */
Filter::getInstance()->applyFilter('get.content.parent', $parent, $contentId);

get.content.sidebar

/**
 * Filters the content sidebar.
 *
 * @file core/Shared/Helpers/content.php
 * @param int    $sidebar   The content's sidebar option.
 * @param string $contentId The content ID.
 */
Filter::getInstance()->applyFilter('get.content.sidebar', (int) $sidebar, $contentId);

get.content.show.in.menu

/**
 * Filters the content show in menu.
 *
 * @file core/Shared/Helpers/content.php
 * @param int    $menu      The content's show in menu option.
 * @param string $contentId The content ID.
 */
Filter::getInstance()->applyFilter('get.content.show.in.menu', (int) $menu, $contentId);

get.content.show.in.search

/**
 * Filters the content show in search.
 *
 * @file core/Shared/Helpers/content.php
 * @param int    $search    The content's show in search option.
 * @param string $contentId The content ID.
 */
Filter::getInstance()->applyFilter('get.content.show.in.search', (int) $search, $contentId);

cms.unique.content.slug

/**
 * Filters the unique content slug before returned.
 *
 * @file core/Shared/Helpers/content.php
 * @param string    $contentSlug   Unique content slug.
 * @param string    $originalSlug  The content's original slug.
 * @param string    $originalTitle The content's original title before slugified.
 * @param string    $contentId     The content's unique id.
 * @param string    $contentType   The content's content type.
 */
Filter::getInstance()->applyFilter(
    'cms.unique.content.slug',
    $contentSlug,
    $originalSlug,
    $originalTitle,
    $contentId,
    $contentType
);

pre.content.type

/**
 * Filters a content's type before the content is created or updated.
 *
 * @param string $sanitizedContentType Content type after it has been sanitized.
 * @param string $rawContentType The content's content type.
 */
Filter::getInstance()->applyFilter(
    'pre.content.type',
    $sanitizedContentType,
    $rawContentType
);

pre.content.title

/**
 * Filters a content's title before created/updated.
 *
 * @param string $sanitizedContentTitle Content title after it has been sanitized.
 * @param string $rawContentTitle The content's title.
 */
Filter::getInstance()->applyFilter(
    'pre.content.title',
    $sanitizedContentTitle,
    $rawContentTitle
);

pre.content.slug

/**
 * Filters a content's slug before created/updated.
 *
 * @param string $sanitizedContentSlug Content slug after it has been sanitized.
 * @param string $rawContentSlug The content's slug.
 */
Filter::getInstance()->applyFilter(
    'pre.content.slug',
    $sanitizedContentSlug,
    $rawContentSlug
);

pre.content.body

/**
 * Filters a content's body before created/updated.
 *
 * @param string $rawContentSlug The content's slug.
 */
Filter::getInstance()->applyFilter(
    'pre.content.body',
    $rawContentBody
);

pre.content.parent

/**
 * Filters a content's parent before the content is created or updated.
 *
 * @param string $sanitizedContentParent Content parent after it has been sanitized.
 * @param string $rawContentParent The content's parent.
 */
Filter::getInstance()->applyFilter(
    'pre.content.parent',
    $sanitizedContentParent,
    $rawContentParent
);

pre.content.sidebar

/**
 * Filters a content's sidebar before the content is created or updated.
 *
 * @param int $sanitizedContentSidebar Content sidebar after it has been sanitized.
 * @param int $rawContentSidebar The content's sidebar.
 */
Filter::getInstance()->applyFilter(
    'pre.content.sidebar',
    $sanitizedContentSidebar,
    $rawContentSidebar
);

pre.content.show.in.menu

/**
 * Filters a content's show in menu before the content is created or updated.
 *
 * @param string $sanitizedContentShowInMenu Content show in menu after it has been sanitized.
 * @param int $rawContentShowInMenu The content's show in menu.
 */
Filter::getInstance()->applyFilter(
    'pre.content.show.in.menu',
    $sanitizedContentShowInMenu,
    $rawContentShowInMenu
);

pre.content.show.in.search

/**
 * Filters a content's show in search before the content is created or updated.
 *
 * @param int $sanitizedContentShowInSearch Content show in search after it has been sanitized.
 * @param int $rawContentShowInSearch The content's show in search.
 */
Filter::getInstance()->applyFilter(
    'pre.content.show.in.search',
    $sanitizedContentShowInSearch,
    $rawContentShowInSearch
);

pre.content.featured.image

/**
 * Filters a content's featured image before the content is created or updated.
 *
 * @param string $sanitizedContentFeaturedImage Content featured image after it has been sanitized.
 * @param string $rawContentFeaturedImage The content's featured image.
 */
Filter::getInstance()->applyFilter(
    'pre.content.featured.image',
    (string) $sanitizedContentFeaturedImage,
    (string) $rawContentFeaturedImage
);

pre.content.status

/**
 * Filters a content's status before the content is created or updated.
 *
 * @param string $sanitizedContentStatus Content status after it has been sanitized.
 * @param string $rawContentStatus The content's status.
 */
Filter::getInstance()->applyFilter(
    'pre.content.status',
    (string) $sanitizedContentStatus,
    (string) $rawContentStatus
);

content.class

/**
 * Filters the list of CSS class names for the current content.
 *
 * @param array $classes An array of css class names.
 * @param array $class   An array of additional css class names.
 * @param string $contentId Content id of the current content.
 */
Filter::getInstance()->applyFilter('content.class', $classes, $class, $contentId);
/**
 * Filters the display of the permalink for the current content.
 *
 * @file core/Shared/Helpers/content.php
 * @param string         $permalink The permalink for the current content.
 * @param string|Content $content   Content object or id.
 */
Filter::getInstance()->applyFilter('the.permalink', get_permalink($content), $content);

the.attribute

/**
 * Filters content attribute.
 *
 * @file core/Shared/Helpers/content.php
 * @param mixed  $theAttribute Content attribute value.
 * @param string $key          Content attribute key.
 */
Filter::getInstance()->applyFilter('the.attribute', $theAttribute, $key);

the.title

/**
 * Filters content meta.
 *
 * @file core/Shared/Helpers/content.php
 * @param mixed  $theTitle Content title.
 */
Filter::getInstance()->applyFilter('the.title', $theTitle);

get.content.type.title

/**
 * Filters the content_type title.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string    $title The content_type's title.
 * @param string    $contentTypeId The content_type id.
 */
Filter::getInstance()->applyFilter('get.content.type.title', $title, $contentTypeId);

get.content.type.slug

/**
 * Filters the content_type's slug.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string    $slug The content_type's slug.
 * @param string    $contentTypeId The content_type id.
 */
Filter::getInstance()->applyFilter('get.content.type.slug', $slug, $contentTypeId);

get.content.type.description

/**
 * Filters the content_type's description.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string    $description The content_type's description.
 * @param string    $contentTypeId The content_type id.
 */
Filter::getInstance()->applyFilter('get.content.type.description', $description, $contentTypeId);
/**
 * Filters the content_type's link.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string    $link The content_type's permalink.
 * @param string    $contentTypeId The content_type id.
 */
Filter::getInstance()->applyFilter('get.content.type.permalink', $link, $contentTypeId);

cms.unique.content.type.slug

/**
 * Filters the unique content_type slug before returned.
 *
 * @file core/Shared/Helpers/content-type.php
 * @param string    $contentTypeSlug Unique content_type slug.
 * @param string    $originalSlug    The content_type's original slug.
 * @param string    $originalTitle   The content_type's original title before slugified.
 * @param string    $contentTypeId   The content_type's unique id.
 */
Filter::getInstance()->applyFilter(
    'cms.unique.content.type.slug',
    $contentTypeSlug,
    $originalSlug,
    $originalTitle,
    $contentTypeId
);

beautified.filename

/**
 * Filters a beautified filename.
 *
 * @param string $filename     Beautified filename.
 * @param string $filenameRaw The filename prior to beautification.
 */
Filter::getInstance()->applyFilter('beautified.filename', $filename, $filenameRaw);

sanitized.filename

/**
 * Filters a sanitized filename.
 *
 * @file core/Shared/Helpers/core.php
 * @param string $filename     Sanitized filename.
 * @param string $filenameRaw The filename prior to sanitization.
 */
Filter::getInstance()->applyFilter('sanitized.filename', $filename, $filenameRaw);

random.password

/**
 * Filters the system generated password.
 *
 * @file core/Shared/Helpers/core.php
 * @param string $password          The generated password.
 * @param int    $length            The length of password to generate.
 * @param bool   $specialChars      Whether to include standard special characters.
 * @param bool   $extraSpecialChars Whether to include other special characters.
 */
Filter::getInstance()->applyFilter(
    'random.password',
    $password,
    $length,
    $specialChars,
    $extraSpecialChars
);

updater.api.version

/**
 * Filters the update api version.
 */
$apiVersion = Filter::getInstance()->applyFilter('updater.api.version', 'api/2.0');

updater.base.url

/**
 * Filters the update base server url.
 */
$updateBaseUrl = Filter::getInstance()->applyFilter(
    'updater.base.url',
    'https://devflow-cmf.s3.amazonaws.com'
);

updater.url

/**
 * Filters the updater url where update.json and
 * releases.json are located.
 */
Filter::getInstance()->applyFilter(
    'updater.url',
    sprintf('%s/%s', $updateBaseUrl, $apiVersion)
);

plugin.locale

/**
 * Filter a plugin's locale.
 *
 * @file core/Shared/Helpers/domain.php
 * @param string $locale The plugin's current locale.
 * @param string $domain Text domain. Unique identifier for retrieving translated strings.
 */
Filter::getInstance()->applyFilter('plugin.locale', $locale, $domain);

tiny.mce.theme

/**
 * Filters the default theme for TinyMCE.
 * @param string $theme Theme used for TinyMCE.
 */
Filter::getInstance()->applyFilter('tiny.mce.theme', 'modern');

tiny.mce.plugins

/**
 * Filters the list of default TinyMCE plugins.
 * @param array $plugins An array of default TinyMCE plugins.
 */
Filter::getInstance()->applyFilter('tiny.mce.plugins', $plugins);

tiny.mce.css

/**
 * Filters the default stylesheets.
 *
 * @param array  $css          CSS stylesheets to include.
 * @param string $mceSelector  Unique editor identifier, e.g. 'textarea'.
 */
Filter::getInstance()->applyFilter(
    'tiny.mce.css',
    [
        '//fonts.googleapis.com/css?family=Lato:300,300i,400,400i',
        site_url('static/assets/css/tinymce.css')
    ],
    $mceSelector
);
/**
 * Filters the auth logo on the login page.
 *
 * @var string $logo The url of the auth logo image.
 */
Filter::getInstance()->applyFilter('auth.logo', $authLogo);

admin.submenu.{$location}.{$menuRoute}

/**
 * Filter's the admin menu.
 *
 * The dynamic parts of this filter are `location` (where menu will appear), and
 * $_menu_route with the removed slash if present.
 *
 * @param string $menu The menu to return.
 */
Filter::getInstance()->applyFilter("admin.submenu.{$location}.{$menuRoute}", $menu);

get.product.datetime

/**
 * Filters the product's datetime.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $datetime  The product's datetime.
 * @param string $productId Product id or product object.
 */
Filter::getInstance()->applyFilter('get.product.datetime', $datetime, $product);

get.product.modified

/**
 * Filters the product date.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $modified The product's modified datetime.
 * @param string $format   Format to return datetime string.
 * @param string $productId Product id or product object.
 */
Filter::getInstance()->applyFilter('get.product.modified', $modified, $format, $product);

get.product.body

/**
 * Filters the product date.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $body The product's body content.
 * @param string $productId Product id or product object.
 */
Filter::getInstance()->applyFilter('get.product.body', $body, $productId);

get.product.sku

/**
 * Filters the product product_sku name.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $sku The product's sku.
 * @param string $productId  Product id.
 */
Filter::getInstance()->applyFilter('get.product.sku', $sku, $productId);

get.product.title

/**
 * Filters the product title.
 *
 * @file core/Shared/Helpers/product.php
 * @param string   $title The product's title.
 * @param string $product  Product object.
 */
Filter::getInstance()->applyFilter('get.product.title', $title, $product);

get.product.slug

/**
 * Filters the product's slug.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $slug The product's slug.
 * @param string $product   Product object.
 */
Filter::getInstance()->applyFilter('get.product.slug', $slug, $product);

get.product.author.id

/**
 * Filters the product author id.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $authorId The product's author id.
 * @param object $product Product object.
 */
Filter::getInstance()->applyFilter('get.product.author.id', $authorId, $product);

get.product.author

/**
 * Filters the product author.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $author The product's author.
 * @param object $product Product object.
 */
Filter::getInstance()->applyFilter('get.product.author', $author, $product);

get.product.status

/**
 * Filters the product status.
 *
 * @file core/Shared/Helpers/product.php
 * @param string  $status The product's status.
 * @param Product $product Product object.
 */
Filter::getInstance()->applyFilter('get.product.status', $status, $product);

get.product.created.date

/**
 * Filters the product created date.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $theDate The product's formatted date.
 * @param bool   $format Format to use for retrieving the date the product was written.
 *                       Accepts 'G', 'U', or php date format. Default 'U'.
 * @param bool   $gmt    Whether to retrieve the GMT date. Default false.
 */
Filter::getInstance()->applyFilter('get.product.created.date', $theDate, $format, $gmt);

product.created.date

/**
 * Filters the date the product was written.
 *
 * @file core/Shared/Helpers/product.php
 * @param string    $theDate The formatted date.
 * @param string    $format  Format to use for retrieving the date the product was written.
 *                           Accepts 'G', 'U', or php date format value specified
 *                           in 'date_format' option. Default empty.
 * @param Product  $product  Product object.
 */
Filter::getInstance()->applyFilter('product.created.date', $theDate, $format, $product);

get.product.created.time

/**
 * Filters the product created time.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $theTime The product's formatted time.
 * @param bool   $format   Format to use for retrieving the time the product was written.
 *                         Accepts 'G', 'U', or php date format. Default 'U'.
 * @param bool   $gmt      Whether to retrieve the GMT time. Default false.
 */
Filter::getInstance()->applyFilter('get.product.created.time', $theTime, $format, $gmt);

product.created.time

/**
 * Filters the time the product was written.
 *
 * @file core/Shared/Helpers/product.php
 * @param string    $theTime The formatted time.
 * @param string    $format  Format to use for retrieving the time the product was written.
 *                           Accepts 'G', 'U', or php date format value specified
 *                           in 'time_format' option. Default empty.
 * @param object    $product Product object.
 */
Filter::getInstance()->applyFilter('product.created.time', $theTime, $format, $product);

get.product.published.date

/**
 * Filters the product published date.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $theDate The product's formatted date.
 * @param bool $format Format to use for retrieving the date the product was published.
 *                     Accepts 'G', 'U', or php date format. Default 'U'.
 * @param bool   $gmt  Whether to retrieve the GMT date. Default false.
 */
Filter::getInstance()->applyFilter('get.product.published.date', $theDate, $format, $gmt);

product.published.date

/**
 * Filters the time the product was written.
 *
 * @file core/Shared/Helpers/product.php
 * @param string    $theDate The formatted date.
 * @param string    $format   Format to use for retrieving the date the product was published.
 *                            Accepts 'G', 'U', or php date format value specified
 *                            in 'date_format' option. Default empty.
 * @param object    $product  Product object.
 */
Filter::getInstance()->applyFilter('product.published.date', $theDate, $format, $product);

get.product.published.time

/**
 * Filters the product published time.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $theTime The product's formatted time.
 * @param bool   $format   Format to use for retrieving the time the product was written.
 *                         Accepts 'G', 'U', or php date format. Default 'U'.
 * @param bool   $gmt      Whether to retrieve the GMT time. Default false.
 */
Filter::getInstance()->applyFilter('get.product.published.time', $theTime, $format, $gmt);

product.published.time

/**
 * Filters the time the product was published.
 *
 * @file core/Shared/Helpers/product.php
 * @param string    $theTime  The formatted time.
 * @param string    $format   Format to use for retrieving the time the product was published.
 *                            Accepts 'G', 'U', or php date format value specified
 *                            in 'time_format' option. Default empty.
 * @param object    $product  Product object.
 */
Filter::getInstance()->applyFilter('product.published.time', $theTime, $format, $product);

get.product.modified.date

/**
 * Filters the product modified date.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $theDate The product's formatted date.
 * @param bool   $format  Format to use for retrieving the date the product was published.
 *                        Accepts 'G', 'U', or php date format. Default 'U'.
 * @param bool   $gmt     Whether to retrieve the GMT date. Default false.
 */
Filter::getInstance()->applyFilter('get.product.modified.date', $theDate, $format, $gmt);

product.modified.date

/**
 * Filters the date the product was modified.
 *
 * @file core/Shared/Helpers/product.php
 * @param string    $theDate The formatted date.
 * @param string    $format  Format to use for retrieving the date the product was modified.
 *                           Accepts 'G', 'U', or php date format value specified
 *                           in 'date_format' option. Default empty.
 * @param object    $product Product object.
 */
Filter::getInstance()->applyFilter('product.modified.date', $theDate, $format, $product);

get.product.modified.time

/**
 * Filters the product modified time.
 *
 * @file core/Shared/Helpers/product.php
 * @param string $theTime The product's formatted time.
 * @param bool   $format   Format to use for retrieving the time the product was modified.
 *                         Accepts 'G', 'U', or php date format. Default 'U'.
 * @param bool   $gmt      Whether to retrieve the GMT time. Default false.
 */
Filter::getInstance()->applyFilter('get.product.modified.time', $theTime, $format, $gmt);

product.modified.time

/**
 * Filters the time the product was modified.
 *
 * @file core/Shared/Helpers/product.php
 * @param string    $theTime The formatted time.
 * @param string    $format  Format to use for retrieving the time the product was modified.
 *                           Accepts 'G', 'U', or php date format value specified
 *                           in 'time_format' option. Default empty.
 * @param object    $product Product object.
 */
Filter::getInstance()->applyFilter('product.modified.time', $theTime, $format, $product);

get.product.show.in.menu

/**
 * Filters the product show in menu.
 *
 * @file core/Shared/Helpers/product.php
 * @param int    $menu      The product's show in menu option.
 * @param string $productId The product ID.
 */
Filter::getInstance()->applyFilter('get.product.show.in.menu', (int) $menu, $productId);

get.product.show.in.search

/**
 * Filters the product show in search.
 *
 * @file core/Shared/Helpers/product.php
 * @param int    $search    The product's show in search option.
 * @param string $productId The product ID.
 */
Filter::getInstance()->applyFilter('get.product.show.in.search', (int) $search, $productId);

cms.unique.product.slug

/**
 * Filters the unique product slug before returned.
 *
 * @file core/Shared/Helpers/product.php
 * @param string    $productSlug   Unique product slug.
 * @param string    $originalSlug  The product's original slug.
 * @param string    $originalTitle The product's original title before slugified.
 * @param string    $productId     The product's unique id.
 */
Filter::getInstance()->applyFilter(
    'cms.unique.product.slug',
    $productSlug,
    $originalSlug,
    $originalTitle,
    $productId,
);

pre.product.sku

/**
 * Filters a product's type before the product is created or updated.
 *
 * @param string $sanitizedProductType Product type after it has been sanitized.
 * @param string $rawProductType The product's product type.
 */
Filter::getInstance()->applyFilter(
    'pre.product.sku',
    $sanitizedProductSku,
    $rawProductSku
);

pre.product.title

/**
 * Filters a product's title before created/updated.
 *
 * @param string $sanitizedProductTitle Product title after it has been sanitized.
 * @param string $rawProductTitle The product's title.
 */
Filter::getInstance()->applyFilter(
    'pre.product.title',
    (string) $sanitizedProductTitle,
    (string) $rawProductTitle
);

pre.product.slug

/**
 * Filters a product's slug before created/updated.
 *
 * @param string $sanitizedProductSlug Product slug after it has been sanitized.
 * @param string $rawProductSlug The product's slug.
 */
Filter::getInstance()->applyFilter(
    'pre.product.slug',
    (string) $sanitizedProductSlug,
    (string) $rawProductSlug
);

pre.product.body

/**
 * Filters a product's body before created/updated.
 *
 * @param string $rawProductSlug The product's slug.
 */
Filter::getInstance()->applyFilter(
    'pre.product.body',
    $rawProductBody
);

pre.product.sku

/**
 * Filters a product's sku before the product is created or updated.
 *
 * @param string $sanitizedProductSku Product sku after it has been sanitized.
 * @param string $rawProductSku The product's sku.
 */
Filter::getInstance()->applyFilter(
    'pre.product.sku',
    $sanitizedProductSku,
    $rawProductSku
);

pre.product.price

/**
 * Filters a product's price before the product is created or updated.
 *
 * @param string $sanitizedProductPrice Product price after it has been sanitized.
 * @param string $rawProductPrice The product's price.
 */
Filter::getInstance()->applyFilter(
    'pre.product.price',
    (int) $sanitizedProductPrice,
    (int) $rawProductPrice
);

pre.product.currency

/**
 * Filters a product's currency before the product is created or updated.
 *
 * @param string $sanitizedProductCurrency Product currency after it has been sanitized.
 * @param string $rawProductCurrency The product's currency.
 */
Filter::getInstance()->applyFilter(
    'pre.product.currency',
    $sanitizedProductCurrency,
    $rawProductCurrency
);

pre.product.purchase.url

/**
 * Filters a product's purchase url before the product is created or updated.
 *
 * @param string $sanitizedProductPurchaseUrl Product purchase url after it has been sanitized.
 * @param string $rawProductPurchaseUrl The product's purchase url.
 */
Filter::getInstance()->applyFilter(
    'pre.product.purchase.url',
    $sanitizedProductPurchaseUrl,
    $rawProductPurchaseUrl
);

pre.product.show.in.menu

/**
 * Filters a product's show in menu before the product is created or updated.
 *
 * @param string $sanitizedProductShowInMenu Product show in menu after it has been sanitized.
 * @param int $rawProductShowInMenu The product's show in menu.
 */
Filter::getInstance()->applyFilter(
    'pre.product.show.in.menu',
    (int) $sanitizedProductShowInMenu,
    (int) $rawProductShowInMenu
);

pre.product.show.in.search

/**
 * Filters a product's show in search before the product is created or updated.
 *
 * @param int $sanitizedProductShowInSearch Product show in search after it has been sanitized.
 * @param int $rawProductShowInSearch The product's show in search.
 */
Filter::getInstance()->applyFilter(
    'pre.product.show.in.search',
    (int) $sanitizedProductShowInSearch,
    (int) $rawProductShowInSearch
);

pre.product.featured.image

/**
 * Filters a product's featured image before the product is created or updated.
 *
 * @param string $sanitizedProductFeaturedImage Product featured image url after it has been sanitized.
 * @param string $rawProductFeaturedImage The product's featured image url.
 */
Filter::getInstance()->applyFilter(
    'pre.product.featured.image',
    (string) $sanitizedProductFeaturedImage,
    (string) $rawProductFeaturedImage
);

pre.product.status

/**
 * Filters a product's status before the product is created or updated.
 *
 * @param string $sanitizedProductStatus Product status after it has been sanitized.
 * @param string $rawProductStatus The product's status.
 */
Filter::getInstance()->applyFilter(
    'pre.product.status',
    (string) $sanitizedProductStatus,
    (string) $rawProductStatus
);

product.class

/**
 * Filters the list of CSS class names for the current product.
 *
 * @param array $classes An array of css class names.
 * @param array $class   An array of additional css class names.
 * @param string $productId Product id of the current product.
 */
Filter::getInstance()->applyFilter('product.class', $classes, $class, $productId);

the.product.attribute

/**
 * Filters product attribute.
 *
 * @file core/Shared/Helpers/product.php
 * @param mixed  $theAttribute Product attribute value.
 * @param string $key          Product attribute key.
Filter::getInstance()->applyFilter('the.product.attribute', $theAttribute, $key);

site.drop.tables

/**
 * Filters the tables to drop when the site is deleted.
 *
 * @file core/Shared/Helpers/site.php
 * @param array  $tables  Name array of the site tables to be dropped.
 * @param string $siteKey The key of the site to drop tables for.
 */
Filter::getInstance()->applyFilter('site.drop.tables', $tables, $siteKey);

pre.site.domain

/**
 * Filters a site's domain before the site is created or updated.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $sanitizedSiteDomain Site domain after it has been sanitized
 * @param string $preSiteDomain The site's domain.
 */
Filter::getInstance()->applyFilter(
    'pre.site.domain',
    (string) $sanitizedSiteDomain,
    (string) $rawSiteDomain
);

pre.site.mapping

/**
 * Filters a site's mapped domain before the site is created or updated.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $sanitizedSiteMapping Mapped domain after it has been sanitized
 * @param string $rawSiteMapping The site's mapping.
 */
Filter::getInstance()->applyFilter(
    'pre.site.mapping',
    (string) $sanitizedSiteMapping,
    (string) $rawSiteMapping
);

pre.site.name

/**
 * Filters a site's name before the site is created or updated.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $sanitizedSiteName Site name after it has been sanitized
 * @param string $rawSiteName The site's name.
 */
Filter::getInstance()->applyFilter(
    'pre.site.name',
    (string) $sanitizedSiteName,
    (string) $rawSiteName
);

pre.site.slug

/**
 * Filters a site's slug before created/updated.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $sanitizedSiteSlug Site slug after it has been sanitized
 * @param string $rawSiteSlug The site's slug.
 */
Filter::getInstance()->applyFilter(
    'pre.site.slug',
    (string) $sanitizedSiteSlug,
    (string) $rawSiteSlug
);

pre.site.path

/**
 * Filters a site's path before the site is created or updated.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $sanitizedSitePath Site path after it has been sanitized
 * @param string $rawSitePath The site's path.
 */
Filter::getInstance()->applyFilter(
    'pre.site.path',
    (string) $sanitizedSitePath,
    (string) $rawSitePath
);

pre.site.status

/**
 * Filters a site's status before the site is created or updated.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $sanitizedSiteStatus Site status after it has been sanitized
 * @param string $rawSiteStatus The site's status.
 */
Filter::getInstance()->applyFilter(
    'pre.site.status',
    (string) $sanitizedSiteStatus,
    (string) $rawSiteStatus
);

new.site.user.attributes

/**
 * Filters a user's attribute values and keys immediately after a new
 * site user record is added.
 *
 * @file core/Shared/Helpers/site.php
 * @param array $attributes {
 *     Default attribute values and keys for the user.
 *
 *     @type string $role           The user's role.
 *     @type string $status         The user's status.
 *     @type int    $admin.layout   The user's layout option.
 *     @type int    $admin.sidebar  The user's sidebar option.
 *     @type int    $admin.skin     The user's skin option.
 * }
 * @param object $userdata   User object.
 */
$attributes = Filter::getInstance()->applyFilter('new.site.user.attributes', $attributes, $userdata);

get.site.name

/**
 * Filters the site name.
 *
 * @file core/Shared/Helpers/site.php
 * @param string    $name The site's name.
 * @param string    $siteId The site ID.
 */
Filter::getInstance()->applyFilter('get.site.name', $name, $siteId);

get.site.domain

/**
 * Filters the site domain.
 *
 * @file core/Shared/Helpers/site.php
 * @param string    $domain The site's domain.
 * @param string    $siteId The site ID.
 */
Filter::getInstance()->applyFilter('get.site.domain', $domain, $siteId);

get.site.path

/**
 * Filters the site path.
 *
 * @file core/Shared/Helpers/site.php
 * @param string    $path The site's path.
 * @param string    $siteId The site ID.
 */
Filter::getInstance()->applyFilter('get.site.path', $path, $siteId);

get.site.owner

/**
 * Filters the site owner.
 *
 * @file core/Shared/Helpers/site.php
 * @param string    $owner The site's owner.
 * @param string    $siteId The site ID.
 */
Filter::getInstance()->applyFilter('get.site.owner', $owner, $siteId);

get.site.status

/**
 * Filters the site status.
 *
 * @file core/Shared/Helpers/site.php
 * @param string    $status The site's status.
 * @param string    $siteId The site ID.
 */
Filter::getInstance()->applyFilter('get.site.status', $status, $siteId);

cms.unique.site.slug

/**
 * Filters the unique site slug before returned.
 *
 * @file core/Shared/Helpers/site.php
 * @param string $siteSlug      Unique site slug.
 * @param string $originalSlug  The site's original slug.
 * @param string $originalTitle The site's original title before slugified.
 * @param string $siteId        The site's unique id.
 */
Filter::getInstance()->applyFilter(
    'cms.unique.site.slug',
    $siteSlug,
    $originalSlug,
    $originalTitle,
    $siteId
);

get.siteinfo.url

/**
 * Filters the URL returned by get_siteinfo().
 *
 * @file core/Shared/Helpers/site.php
 * @param mixed $output The URL returned by siteinfo().
 * @param mixed $show   Type of information requested.
 */
Filter::getInstance()->applyFilter('get.siteinfo.url', $output, $show);

get.siteinfo

/**
 * Filters the site information returned by get_siteinfo().
 *
 * @file core/Shared/Helpers/site.php
 * @param mixed $output The requested non-URL site information.
 * @param mixed $show   Type of information requested.
 */
Filter::getInstance()->applyFilter('get.siteinfo', $output, $show);

set.url.scheme

/**
 * Filters the resulting URL after setting the scheme.
 *
 * @file core/Shared/Helpers/url.php
 * @param string      $url         The complete URL including scheme and path.
 * @param string      $scheme      Scheme applied to the URL. One of 'http', 'https', or 'relative'.
 * @param string|null $origScheme Scheme requested for the URL. One of 'http', 'https', 'login',
 *                                 'admin', 'relative', or null.
 */
Filter::getInstance()->applyFilter('set.url.scheme', $url, $scheme, $origScheme);

site.url

/**
 * Filters the site URL.
 *
 * @file core/Shared/Helpers/url.php
 * @param string $url         The site url including scheme and path.
 * @param string $path        Route relative to the site url. Blank string if no path is specified.
 * @param string|null $scheme Scheme to give the site url context. Accepts 'http', 'https', 'login',
 *                            'admin', 'relative' or null.
 */
Filter::getInstance()->applyFilter('site.url', $url, $path, $scheme);

admin.url

/**
 * Filters the admin area url.
 *
 * @file core/Shared/Helpers/url.php
 * @param string $escUrl The complete admin area url including scheme and path after escaped.
 * @param string $url    The complete admin area url including scheme and path before escaped.
 * @param string $path   Path relative to the admin area url. Blank string if no path is specified.
 */
Filter::getInstance()->applyFilter('admin.url', $escUrl, $url, $path);

home.url

/**
 * Filters the home URL.
 *
 * @file core/Shared/Helpers/url.php
 * @param string      $escUrl The escaped home url.
 * @param string      $url     The home url before it was escaped.
 * @param string      $path    Route relative to the site url. Blank string if no path is specified.
 * @param string|null $scheme  Scheme to give the site url context. Accepts 'http', 'https',
 *                             'relative' or null.
 */
Filter::getInstance()->applyFilter('home.url', $escUrl, $url, $path, $scheme);

login.url

/**
 * Filters the login URL.
 *
 * @file core/Shared/Helpers/url.php
 * @param string $loginUrl    The login URL. Not HTML-encoded.
 * @param string $redirect     The path to redirect to on login, if supplied.
 * @param string $path         Route relative to the login url. Blank string if no path is specified.
 * @param string|null $scheme  Scheme to give the login url context. Accepts 'http', 'https',
 *                             'relative' or null.
 */
Filter::getInstance()->applyFilter('login.url', $loginUrl, $redirect, $path, $scheme);

logout.url

/**
 * Filters the logout URL.
 *
 * @file core/Shared/Helpers/url.php
 * @param string $logoutUrl   The logout URL. Not HTML-encoded.
 * @param string $redirect     The path to redirect to on logout, if supplied.
 * @param string $path         Route relative to the logout url. Blank string if no path is specified.
 * @param string|null $scheme  Scheme to give the logout url context. Accepts 'http', 'https',
 *                             'relative' or null.
 */
Filter::getInstance()->applyFilter('logout.url', $logoutUrl, $redirect, $path, $scheme);

username.exists

/**
 * Filters whether the given username exists or not.
 *
 * @function App\Shared\Helpers\username_exists()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string|false $userId   The user's user_id on success or false on failure.
 * @param string       $username Username to check.
 */
Filter::getInstance()->applyFilter('username.exists', $userId, $username);

email.exists

/**
 * Filters whether the given email exists or not.
 *
 * @function App\Shared\Helpers\email_exists()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string|false $userId The user's user_id on success, and false on failure.
 * @param string       $email  Email to check.
 */
Filter::getInstance()->applyFilter('email.exists', $userId, $email);

get.user.option.{$option}

/**
 * Filters a specific user option value.
 *
 * The dynamic portion of the hook name, `$option`, refers to the user option name.
 *
 * @file core/Shared/Helpers/user.php
 * @param string|bool|int|array|null  $result Value for the user's option; if not exist, then null.
 * @param string $option Name of the option being retrieved.
 * @param string $userId ID of the user whose option is being retrieved.
 */
return Filter::getInstance()->applyFilter("get.user.option.{$option}", $result, $option, $userId);

user_status_label

/**
 * Filters the label result.
 *
 * @function App\Shared\Helpers\user_status_label()
 * 
 * @param array $label User's label.
 */
Filter::getInstance()->applyFilter('user_status_label', $label[$status], $status);

get_user_option_{$option}

/**
 * Filters a specific user option value.
 *
 * The dynamic portion of the hook name, `$option`, refers to the user option name.
 * 
 * @function App\Shared\Helpers\get_user_option()
 *
 * @file core/Shared/Helpers/user.php
 * @param string|false  $result Value for the user's option.
 * @param string $option Name of the option being retrieved.
 * @param string $user   ID of the user whose option is being retrieved.
 */
Filter::getInstance()->applyFilter("get_user_option_{$option}", $result, $option, $user);

pre.user.login

/**
 * Filters a username after it has been sanitized.
 *
 * This filter is called before the user is created or updated.
 * 
 * @function App\Shared\Helpers\cms_insert_user()
 *
 * @file core/Shared/Helpers/user.php
 * @param string $sanitizedUserLogin Username after it has been sanitized.
 * @param string $rawUserLogin The user's login.
 */
Filter::getInstance()->applyFilter(
    'pre.user.login',
    (string) $sanitizedUserLogin,
    (string) $rawUserLogin
);

illegal.user.logins

/**
 * Filters the list of blacklisted usernames.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param array $usernames Array of blacklisted usernames.
 */
Filter::getInstance()->applyFilter('illegal.user.logins', $username);

pre.user.email

/**
 * Filters a user's email before the user is created or updated.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string $sanitizedUserEmail User email after it has been sanitized
 * @param string $rawUserEmail The user's email.
 */
Filter::getInstance()->applyFilter(
    'pre.user.email',
    (string) $sanitizedUserEmail,
    (string) $rawUserEmail
);

pre.user.fname

/**
 * Filters a user's first name before the user is created or updated.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string $sanitizedUserFname User first name after it has been sanitized.
 * @param string $rawUserFname The user's first name.
 */
Filter::getInstance()->applyFilter(
    'pre.user.fname',
    (string) $sanitizedUserFname,
    (string) $rawUserFname
);

pre.user.mname

/**
 * Filters a user's middle name before the user is created or updated.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string $sanitizedUserMname User middlename after it has been sanitized.
 * @param string $rawUserMname The user's middle name.
 */
Filter::getInstance()->applyFilter(
    'pre.user.mname',
    (string) $sanitizedUserMname,
    (string) $rawUserMname
);

pre.user.lname

/**
 * Filters a user's last name before the user is created or updated.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string $sanitizedUserLname User last name after it has been sanitized.
 * @param string $rawUserLname The user's last name.
 */
Filter::getInstance()->applyFilter(
    'pre.user.lname',
    (string) $sanitizedUserLname,
    (string) $rawUserLname
);

pre.user.bio

/**
 * Filters a user's bio before the user is created or updated.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string $sanitizedUserBio User bio after it has been sanitized.
 * @param string $rawUserBio The user's bio.
 */
Filter::getInstance()->applyFilter(
    'pre.user.bio',
    (string) $sanitizedUserBio,
    (string) $rawUserBio
);

pre.user.timezone

/**
 * Filters a user's timezone before the user is created or updated.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string $sanitizedUserTimezone User timezone after it has been sanitized.
 * @param string $rawUserTimezone The user's timezone.
 */
Filter::getInstance()->applyFilter(
    'pre.user.timezone',
    (string) $sanitizedUserTimezone,
    (string) $rawUserTimezone
);

pre.user.date.format

/**
 * Filters a user's date format before the user is created or updated.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string $sanitizedUserDateFormat User date format after it has been sanitized.
 * @param string $rawUserDateFormat The user's date format.
 */
Filter::getInstance()->applyFilter(
    'pre.user.date.format',
    (string) $sanitizedUserDateFormat,
    (string) $rawUserDateFormat
);

pre.user.time.format

/**
 * Filters a user's time format before the user is created or updated.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string $sanitizedUserTimeFormat User time format after it has been sanitized.
 * @param string $rawUserTimeFormat The user's time format.
 */
Filter::getInstance()->applyFilter(
    'pre.user.time.format',
    (string) $sanitizedUserTimeFormat,
    (string) $rawUserTimeFormat
);

pre.user.locale

/**
 * Filters a user's locale before the user is created or updated.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string $sanitizedUserLocale User locale after it has been sanitized.
 * @param string $rawUserLocale       The user's locale.
 */
Filter::getInstance()->applyFilter(
    'pre.user.locale',
    (string) $sanitizedUserLocale,
    (string) $rawUserLocale
);

pre.user.status

/**
 * Filters a user's status before the user is created or updated.
 *
 * @function App\Shared\Helpers\cms_insert_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @param string $sanitizedUserStatus User status after it has been sanitized.
 * @param string $rawUserStatus The user's status.
 */
Filter::getInstance()->applyFilter(
    'pre.user.status',
    (string) $sanitizedUserStatus,
    (string) $rawUserStatus
);

insert.user.attribute

/**
 * Filters a user's attribute values and keys immediately after the user is created or updated
 * and before any user attribute is inserted or updated.
 * 
 * @function App\Shared\Helpers\cms_insert_user()
 *
 * @file core/Shared/Helpers/user.php
 * @param array $attribute {
 *     Default attribute values and keys for the user.
 *
 *     @type string $role           The user's role.
 *     @type string $status         The user's status.
 *     @type int    $admin.layout   The user's layout option.
 *     @type int    $admin.sidebar  The user's sidebar option.
 *     @type int    $admin.skin     The user's skin option.
 * }
 * @param object $user  User object.
 * @param bool $update  Whether the user is being updated rather than created.
 */
Filter::getInstance()->applyFilter('insert.user.attribute', $attribute, $user, $update);

send.password.change.email

/**
 * Filters whether to send the password change email.
 *
 * @function App\Shared\Helpers\cms_update_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @see cms_insert_user() For `$user` and `$userdata` fields.
 *
 * @param bool  $send     Whether to send the email.
 * @param array $user     The original user array before changes.
 * @param array $userdata The updated user array.
 *
 */
Filter::getInstance()->applyFilter(
    'send.password.change.email',
    true,
    $user,
    $userdata
);

send.email.change.email

/**
 * Filters whether to send the email change email.
 *
 * @function App\Shared\Helpers\cms_update_user()
 * 
 * @file core/Shared/Helpers/user.php
 * @see cms_insert_user() For `$user` and `$userdata` fields.
 *
 * @param bool  $send     Whether to send the email.
 * @param array $user     The original user array before changes.
 * @param array $userdata The updated user array.
 *
 */
Filter::getInstance()->applyFilter(
    'send.email.change.email',
    true,
    $user,
    $userdata
);

atts.{$parsecode}

/**
 * Filters a parsecode's default attributes.
 *
 * If the third parameter of the $this->atts() method is present then this filter is available.
 * The third parameter, $parsecode, is the name of the parsecode.
 * 
 * @class App\Shared\Services\Parsecode
 * @method atts()
 *
 * @param array  $out       The output array of parsecode attributes.
 * @param array  $pairs     The supported attributes and their defaults.
 * @param array  $atts      The user defined parsecode attributes.
 * @param string $parsecode The parsecode name.
 */
Filter::getInstance()->applyFilter("atts.{$parsecode}", $out, $pairs, $atts, $parsecode);

sanitize.items

/**
 * Filters sanitized items.
 * 
 * @class App\Shared\Services\Sanitizer
 * @method Sanitizer::items()
 *
 * @param string $items  Sanitized items.
 * @param string $rawItems The items prior to sanitization.
 * @param string $context The context for which the string is being sanitized.
 */
Filter::getInstance()->applyFilter('sanitize.items', $items, $rawItems, $context);

sanitize.item

/**
 * Filters a sanitized item.
 * 
 * @class App\Shared\Services\Sanitizer
 * @method Sanitizer::item()
 *
 * @param string $output  Sanitized item.
 * @param string $rawItem The item prior to sanitization.
 * @param string $context The context for which the string is being sanitized.
 */
Filter::getInstance()->applyFilter('sanitize.item', $output, $rawItem, $context);

sanitize.key

/**
 * Filters a sanitized key string.
 * 
 * @class App\Shared\Services\Sanitizer
 * @method Sanitizer::key()
 *
 * @param string $key     Sanitized key.
 * @param string $rawKey The key prior to sanitization.
 */
Filter::getInstance()->applyFilter('sanitize.key', $key, $rawKey);

sanitize.username

/**
 * Filters a sanitized username string.
 * 
 * @class App\Shared\Services\Sanitizer
 * @method Sanitizer::username()
 *
 * @param string $username    Sanitized username.
 * @param string $rawUsername The username prior to sanitization.
 * @param bool   $strict      Whether to limit the sanitization to specific characters. Default false.
 */
Filter::getInstance()->applyFilter('sanitize.username', $username, $rawUsername, $strict);

pre.option.{$optionKey}

/**
 * Filter the value of an existing option before it is retrieved.
 * 
 * @class App\Infrastructure\Services\Options
 * @method read()
 *
 * The dynamic portion of the hook name, `$optionKey`, refers to the option_key name.
 *
 * Passing a truthy value to the filter will short-circuit retrieving
 * the option value, returning the passed value instead.
 *
 * @param bool|mixed pre_option_{$optionKey} Value to return instead of the option value.
 *                                           Default false to skip it.
 * @param string $optionKey Meta key name.
 */
Filter::getInstance()->applyFilter("pre.option.{$optionKey}", false);

get.option.{$optionKey}

/**
 * Filter the value of an existing option.
 * 
 * @class App\Infrastructure\Services\Options
 * @method read()
 *
 * The dynamic portion of the hook name, `$optionKey`, refers to the option name.
 *
 * @param mixed $value Value of the option. If stored serialized, it will be
 *                     unserialized prior to being returned.
 * @param string $optionKey Option name.
 */
Filter::getInstance()->applyFilter(
    "get.option.{$optionKey}",
    maybe_unserialize($value),
    $optionKey
);