View .md

KnowledgebaseEvent events

23 FeatherPanel plugin events on KnowledgebaseEvent (23 emitted by the core): the event names, the arguments each listener gets, where they fire and a PHP listener for each.

Last synced from FeatherPanel 15b94e9 on .

On this page

Part of the plugin events reference. Listeners get the payload values as positional arguments in the order shown, cannot cancel the action, and must catch their own exceptions.

Setup

Import KnowledgebaseEvent in your entry class and register listeners in processEvents():

<?php

namespace App\Addons\myplugin;

use App\App;
use App\Plugins\AppPlugin;
use App\Plugins\PluginEvents;
use App\Plugins\Events\Events\KnowledgebaseEvent;

class MyPlugin implements AppPlugin
{
    public static function processEvents(PluginEvents $event): void
    {
        $event->on(KnowledgebaseEvent::onKnowledgebaseArticleCreated(), function ($article, $createdBy): void {
            App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:article:created ' . json_encode(['article' => $article, 'created_by' => $createdBy]));
        });
    }

    public static function pluginInstall(): void
    {
    }

    public static function pluginUninstall(): void
    {
    }
}

KnowledgebaseEvent::onKnowledgebaseArticleCreated()

Name: featherpanel:admin:knowledgebase:article:createdemitted at 1 siteCancel or modify: nodefinition

Docblock: array article, array created_by.

#Payload keyListener parameterType
1article$articlearrayfrom docblock
2created_by$createdByarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseArticleCreated(), function ($article, $createdBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:article:created ' . json_encode(['article' => $article, 'created_by' => $createdBy]));
});

KnowledgebaseEvent::onKnowledgebaseArticleDeleted()

Name: featherpanel:admin:knowledgebase:article:deletedemitted at 1 siteCancel or modify: nodefinition

Docblock: array article, array deleted_by.

#Payload keyListener parameterType
1article$articlearrayfrom docblock
2deleted_by$deletedByarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseArticleDeleted(), function ($article, $deletedBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:article:deleted ' . json_encode(['article' => $article, 'deleted_by' => $deletedBy]));
});

KnowledgebaseEvent::onKnowledgebaseArticleRetrieved()

Name: featherpanel:admin:knowledgebase:article:retrievedemitted at 1 siteCancel or modify: nodefinition

Docblock: array article.

#Payload keyListener parameterType
1article$articlearrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseArticleRetrieved(), function ($article): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:article:retrieved ' . json_encode(['article' => $article]));
});

KnowledgebaseEvent::onKnowledgebaseArticleUpdated()

Name: featherpanel:admin:knowledgebase:article:updatedemitted at 1 siteCancel or modify: nodefinition

Docblock: array article, array updated_by.

#Payload keyListener parameterType
1article$articlearrayfrom docblock
2updated_by$updatedByarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseArticleUpdated(), function ($article, $updatedBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:article:updated ' . json_encode(['article' => $article, 'updated_by' => $updatedBy]));
});

KnowledgebaseEvent::onKnowledgebaseArticlesReordered()

Name: featherpanel:admin:knowledgebase:articles:reorderedemitted at 1 siteCancel or modify: nodefinition

Docblock: array articles, array reordered_by.

#Payload keyListener parameterType
1articles$articlesarray
2reordered_by$reorderedByarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseArticlesReordered(), function ($articles, $reorderedBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:articles:reordered ' . json_encode(['articles' => $articles, 'reordered_by' => $reorderedBy]));
});

KnowledgebaseEvent::onKnowledgebaseArticlesRetrieved()

Name: featherpanel:admin:knowledgebase:articles:retrievedemitted at 1 siteCancel or modify: nodefinition

Docblock: array articles, array pagination, array search.

#Payload keyListener parameterType
1articles$articlesarrayfrom docblock
2pagination$paginationarray
3search$searcharray
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseArticlesRetrieved(), function ($articles, $pagination, $search): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:articles:retrieved ' . json_encode(['articles' => $articles, 'pagination' => $pagination, 'search' => $search]));
});

KnowledgebaseEvent::onKnowledgebaseAttachmentDeleted()

Name: featherpanel:admin:knowledgebase:attachment:deletedemitted at 1 siteCancel or modify: nodefinition

Docblock: array article, array attachment, array deleted_by.

#Payload keyListener parameterType
1article$articlearrayfrom docblock
2attachment$attachmentarrayfrom docblock
3deleted_by$deletedByarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseAttachmentDeleted(), function ($article, $attachment, $deletedBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:attachment:deleted ' . json_encode(['article' => $article, 'attachment' => $attachment, 'deleted_by' => $deletedBy]));
});

KnowledgebaseEvent::onKnowledgebaseAttachmentUploaded()

Name: featherpanel:admin:knowledgebase:attachment:uploadedemitted at 1 siteCancel or modify: nodefinition

Docblock: array article, array attachment, array uploaded_by.

#Payload keyListener parameterType
1article$articlearrayfrom docblock
2attachment$attachmentarrayfrom docblock
3uploaded_by$uploadedByarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseAttachmentUploaded(), function ($article, $attachment, $uploadedBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:attachment:uploaded ' . json_encode(['article' => $article, 'attachment' => $attachment, 'uploaded_by' => $uploadedBy]));
});

KnowledgebaseEvent::onKnowledgebaseAttachmentsRetrieved()

Name: featherpanel:admin:knowledgebase:attachments:retrievedemitted at 1 siteCancel or modify: nodefinition

Docblock: array article, array attachments.

#Payload keyListener parameterType
1article$articlearrayfrom docblock
2attachments$attachmentsarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseAttachmentsRetrieved(), function ($article, $attachments): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:attachments:retrieved ' . json_encode(['article' => $article, 'attachments' => $attachments]));
});

KnowledgebaseEvent::onKnowledgebaseCategoriesRetrieved()

Name: featherpanel:admin:knowledgebase:categories:retrievedemitted at 1 siteCancel or modify: nodefinition

Docblock: array categories, array pagination, array search.

#Payload keyListener parameterType
1categories$categoriesarrayfrom docblock
2pagination$paginationarray
3search$searcharray
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseCategoriesRetrieved(), function ($categories, $pagination, $search): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:categories:retrieved ' . json_encode(['categories' => $categories, 'pagination' => $pagination, 'search' => $search]));
});

KnowledgebaseEvent::onKnowledgebaseCategoryCreated()

Name: featherpanel:admin:knowledgebase:category:createdemitted at 1 siteCancel or modify: nodefinition

Docblock: array category, array created_by.

#Payload keyListener parameterType
1category$categoryarrayfrom docblock
2created_by$createdByarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseCategoryCreated(), function ($category, $createdBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:category:created ' . json_encode(['category' => $category, 'created_by' => $createdBy]));
});

KnowledgebaseEvent::onKnowledgebaseCategoryDeleted()

Name: featherpanel:admin:knowledgebase:category:deletedemitted at 1 siteCancel or modify: nodefinition

Docblock: array category, array deleted_by.

#Payload keyListener parameterType
1category$categoryarrayfrom docblock
2deleted_by$deletedByarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseCategoryDeleted(), function ($category, $deletedBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:category:deleted ' . json_encode(['category' => $category, 'deleted_by' => $deletedBy]));
});

KnowledgebaseEvent::onKnowledgebaseCategoryRetrieved()

Name: featherpanel:admin:knowledgebase:category:retrievedemitted at 1 siteCancel or modify: nodefinition

Docblock: array category.

#Payload keyListener parameterType
1category$categoryarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseCategoryRetrieved(), function ($category): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:category:retrieved ' . json_encode(['category' => $category]));
});

KnowledgebaseEvent::onKnowledgebaseCategoryUpdated()

Name: featherpanel:admin:knowledgebase:category:updatedemitted at 1 siteCancel or modify: nodefinition

Docblock: array category, array updated_by.

#Payload keyListener parameterType
1category$categoryarrayfrom docblock
2updated_by$updatedByarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseCategoryUpdated(), function ($category, $updatedBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:category:updated ' . json_encode(['category' => $category, 'updated_by' => $updatedBy]));
});

KnowledgebaseEvent::onKnowledgebaseIconUploaded()

Name: featherpanel:admin:knowledgebase:icon:uploadedemitted at 1 siteCancel or modify: nodefinition

Docblock: string filename, string url, array uploaded_by.

#Payload keyListener parameterType
1url$urlstringfrom docblock
2filename$filenamestringfrom docblock
3uploaded_by$uploadedByarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseIconUploaded(), function ($url, $filename, $uploadedBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:icon:uploaded ' . json_encode(['url' => $url, 'filename' => $filename, 'uploaded_by' => $uploadedBy]));
});

KnowledgebaseEvent::onKnowledgebaseTagCreated()

Name: featherpanel:admin:knowledgebase:tag:createdemitted at 1 siteCancel or modify: nodefinition

Docblock: array article, array tag, array created_by.

#Payload keyListener parameterType
1article$articlearrayfrom docblock
2tag$tagarrayfrom docblock
3created_by$createdByarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseTagCreated(), function ($article, $tag, $createdBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:tag:created ' . json_encode(['article' => $article, 'tag' => $tag, 'created_by' => $createdBy]));
});

KnowledgebaseEvent::onKnowledgebaseTagDeleted()

Name: featherpanel:admin:knowledgebase:tag:deletedemitted at 1 siteCancel or modify: nodefinition

Docblock: array article, array tag, array deleted_by.

#Payload keyListener parameterType
1article$articlearrayfrom docblock
2tag$tagarrayfrom docblock
3deleted_by$deletedByarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseTagDeleted(), function ($article, $tag, $deletedBy): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:tag:deleted ' . json_encode(['article' => $article, 'tag' => $tag, 'deleted_by' => $deletedBy]));
});

KnowledgebaseEvent::onKnowledgebaseTagsRetrieved()

Name: featherpanel:admin:knowledgebase:tags:retrievedemitted at 1 siteCancel or modify: nodefinition

Docblock: array article, array tags.

#Payload keyListener parameterType
1article$articlearrayfrom docblock
2tags$tagsarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onKnowledgebaseTagsRetrieved(), function ($article, $tags): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:admin:knowledgebase:tags:retrieved ' . json_encode(['article' => $article, 'tags' => $tags]));
});

KnowledgebaseEvent::onUserKnowledgebaseArticleRetrieved()

Name: featherpanel:user:knowledgebase:article:retrievedemitted at 1 siteCancel or modify: nodefinition

Docblock: array article, array attachments, array tags, array|null user.

#Payload keyListener parameterType
1article$articlearrayfrom docblock
2attachments$attachmentsarrayfrom docblock
3tags$tagsarrayfrom docblock
4user$userarray|nullfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onUserKnowledgebaseArticleRetrieved(), function ($article, $attachments, $tags, $user): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:knowledgebase:article:retrieved ' . json_encode(['article' => $article, 'attachments' => $attachments, 'tags' => $tags, 'user' => $user]));
});

KnowledgebaseEvent::onUserKnowledgebaseArticlesRetrieved()

Name: featherpanel:user:knowledgebase:articles:retrievedemitted at 1 siteCancel or modify: nodefinition

Docblock: array articles, array pagination.

#Payload keyListener parameterType
1articles$articlesarrayfrom docblock
2pagination$paginationarray
When it fires (1 site)
$event->on(KnowledgebaseEvent::onUserKnowledgebaseArticlesRetrieved(), function ($articles, $pagination): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:knowledgebase:articles:retrieved ' . json_encode(['articles' => $articles, 'pagination' => $pagination]));
});

KnowledgebaseEvent::onUserKnowledgebaseCategoriesRetrieved()

Name: featherpanel:user:knowledgebase:categories:retrievedemitted at 1 siteCancel or modify: nodefinition

Docblock: array categories, array pagination.

#Payload keyListener parameterType
1categories$categoriesarrayfrom docblock
2pagination$paginationarray
When it fires (1 site)
$event->on(KnowledgebaseEvent::onUserKnowledgebaseCategoriesRetrieved(), function ($categories, $pagination): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:knowledgebase:categories:retrieved ' . json_encode(['categories' => $categories, 'pagination' => $pagination]));
});

KnowledgebaseEvent::onUserKnowledgebaseCategoryArticlesRetrieved()

Name: featherpanel:user:knowledgebase:category:articles:retrievedemitted at 1 siteCancel or modify: nodefinition

Docblock: array category, array articles, array pagination.

#Payload keyListener parameterType
1category$categoryarrayfrom docblock
2articles$articlesarrayfrom docblock
3pagination$paginationarray
When it fires (1 site)
$event->on(KnowledgebaseEvent::onUserKnowledgebaseCategoryArticlesRetrieved(), function ($category, $articles, $pagination): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:knowledgebase:category:articles:retrieved ' . json_encode(['category' => $category, 'articles' => $articles, 'pagination' => $pagination]));
});

KnowledgebaseEvent::onUserKnowledgebaseCategoryRetrieved()

Name: featherpanel:user:knowledgebase:category:retrievedemitted at 1 siteCancel or modify: nodefinition

Docblock: array category.

#Payload keyListener parameterType
1category$categoryarrayfrom docblock
When it fires (1 site)
$event->on(KnowledgebaseEvent::onUserKnowledgebaseCategoryRetrieved(), function ($category): void {
    App::getInstance(true)->getLogger()->info('[myplugin] featherpanel:user:knowledgebase:category:retrieved ' . json_encode(['category' => $category]));
});