Skip to content

Instantly share code, notes, and snippets.

@datio
Last active October 21, 2018 04:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save datio/3ae8c983badfbb8d09584e42f38b98ef to your computer and use it in GitHub Desktop.
Save datio/3ae8c983badfbb8d09584e42f38b98ef to your computer and use it in GitHub Desktop.
All the available Event Listeners for XenForo 2.0.10
<?php
namespace Datio\ActionLogAndLimit;
class Listeners
{
public static function addonPostInstallListener(
\XF\AddOn\AddOn $addOn,
\XF\Entity\AddOn $installedAddOn,
array $json,
array &$stateChanges
) {
static::addToCollection('addonPostInstallListener');
}
public static function addonPostRebuildListener(\XF\AddOn\AddOn $addOn, \XF\Entity\AddOn $installedAddOn, array $json)
{
static::addToCollection('addonPostRebuildListener');
}
public static function addonPostUninstallListener(\XF\AddOn\AddOn $addOn, $addOnId, array $json)
{
static::addToCollection('addonPostUninstallListener');
}
public static function addonPostUpgradeListener(\XF\AddOn\AddOn $addOn, \XF\Entity\AddOn $installedAddOn, array $json, array &$stateChanges)
{
static::addToCollection('addonPostUpgradeListener');
}
public static function addonPreInstallListener(\XF\AddOn\AddOn $addOn, \XF\Entity\AddOn $installedAddOn, array $json)
{
static::addToCollection('addonPreInstallListener');
}
public static function addonPreRebuildListener(\XF\AddOn\AddOn $addOn, \XF\Entity\AddOn $installedAddOn, array $json)
{
static::addToCollection('addonPreRebuildListener');
}
public static function addonPreUninstallListener(\XF\AddOn\AddOn $addOn, \XF\Entity\AddOn $installedAddOn, array $json)
{
static::addToCollection('addonPreUninstallListener');
}
public static function addonPreUpgradeListener(\XF\AddOn\AddOn $addOn, \XF\Entity\AddOn $installedAddOn, array $json)
{
static::addToCollection('addonPreUpgradeListener');
}
public static function appAdminCompleteListener(\XF\Admin\App $app, \XF\Http\Response &$response)
{
// \XF::dump($app);
// \XF::dump($response);
static::addToCollection('appAdminCompleteListener');
}
protected static function addToCollection($eventStr)
{
try {
$eventCollection = \XF::app()->offsetGet('datio.action_log_and_limit.event_collection');
} catch (\Exception $e) {
\XF::app()->offsetSet('datio.action_log_and_limit.event_collection', [$eventStr]);
return static::addToCollection($eventStr);
}
array_push($eventCollection, $eventStr);
\XF::app()->offsetSet('datio.action_log_and_limit.event_collection', $eventCollection);
}
public static function appAdminRenderPageListener(
\XF\Admin\App $app,
array &$params,
\XF\Mvc\Reply\AbstractReply &$reply,
\XF\Mvc\Renderer\AbstractRenderer &$renderer
) {
// \XF::dump($app);
// \XF::dump($params);
// \XF::dump($reply);
// \XF::dump($renderer);
static::addToCollection('appAdminRenderPageListener');
}
public static function appAdminSetupListener(\XF\Admin\App $app)
{
// \XF::dump($app);
static::addToCollection('appAdminSetupListener');
}
public static function appAdminStartBeginListener(\XF\Admin\App $app)
{
// \XF::dump($app);
static::addToCollection('appAdminStartBeginListener');
}
public static function appAdminStartEndListener(\XF\Admin\App $app)
{
// \XF::dump($app);
static::addToCollection('appAdminStartEndListener');
}
public static function appCliSetupListener(\XF\Cli\App $app)
{
// \XF::dump($app);
static::addToCollection('appCliSetupListener');
}
public static function appCliStartBeginListener(\XF\Cli\App $app)
{
// \XF::dump($app);
static::addToCollection('appCliStartBeginListener');
}
public static function appCliStartEndListener(\XF\Cli\App $app)
{
// \XF::dump($app);
$eventCollection = static::globalGet();
static::addToCollection('appCliStartEndListener');
}
protected static function globalGet()
{
try {
$eventCollection = \XF::app()->offsetGet('datio.action_log_and_limit.event_collection');
} catch (\Exception $e) {
return 'no events have been added';
}
return $eventCollection;
}
public static function appCompleteListener(\XF\App $app, \XF\Http\Response &$response)
{
// \XF::dump($app);
// \XF::dump($response);
static::addToCollection('appCompleteListener');
}
public static function appFinalOutputListener(\XF\App $app, \XF\Http\Response &$response)
{
// \XF::dump($app);
// \XF::dump($response);
static::addToCollection('appFinalOutputListener');
$eventCollection = static::globalGet();
// quick install uninstall:
// /** @var \XF\AddOn\AddOn $addOn */
// $addOn = \XF::app()->addOnManager()->getById('Datio/OpenGraph');
// $installer = new \Datio\OpenGraph\Setup($addOn, \XF::app());
// $installer->uninstallStep1();
// $installer->installStep1();
// $w = spl_autoload_functions();
// $g = (isset($GLOBALS['datio_action_log_and_limit_events']) ? $GLOBALS['datio_action_log_and_limit_events'] : '');
return; // Place debug breakpoint here.
}
public static function appPubCompleteListener(\XF\Pub\App $app, \XF\Http\Response &$response)
{
// \XF::dump($app);
// \XF::dump($response);
static::addToCollection('appPubCompleteListener');
}
public static function appPubRenderPageListener(
\XF\Pub\App $app,
array &$params,
\XF\Mvc\Reply\AbstractReply $reply,
\XF\Mvc\Renderer\AbstractRenderer $renderer
) {
// \XF::dump($app);
// \XF::dump($params);
// \XF::dump($reply);
// \XF::dump($renderer);
static::addToCollection('appPubRenderPageListener');
}
public static function appPubSetupListener(\XF\Pub\App $app)
{
// \XF::dump($app);
static::addToCollection('appPubSetupListener');
}
public static function appPubStartBeginListener(\XF\Pub\App $app)
{
// \XF::dump($app);
static::addToCollection('appPubStartBeginListener');
}
public static function appPubStartEndListener(\XF\Pub\App $app)
{
// \XF::dump($app);
static::addToCollection('appPubStartEndListener');
}
public static function appSetupListener(\XF\App $app)
{
// \XF::dump($app);
static::addToCollection('appSetupListener');
}
public static function bbCodeProcessorActionMapListener(array &$processorActionMap)
{
static::addToCollection('bbCodeProcessorActionMapListener');
}
public static function bbCodeRendererListener(\XF\BbCode\Renderer\AbstractRenderer $renderer, $type)
{
// \XF::dump($renderer);
// \XF::dump($type);
static::addToCollection('bbCodeRendererListener');
}
public static function bbCodeRendererMapListener(array &$rendererMap)
{
static::addToCollection('bbCodeRendererMapListener');
}
public static function bbCodeRulesListener(\XF\BbCode\RuleSet $ruleSet, $context, $subContext)
{
// \XF::dump($ruleSet);
// \XF::dump($context);
// \XF::dump($subContext);
static::addToCollection('bbCodeRulesListener');
}
public static function codeLanguagesListener(&$languages)
{
// \XF::dump($languages);
static::addToCollection('codeLanguagesListener');
}
public static function controllerPostDispatchListener(
\XF\Mvc\Controller $controller,
$action,
\XF\Mvc\ParameterBag $params,
\XF\Mvc\Reply\AbstractReply &$reply
) {
// \XF::dump($controller);
// \XF::dump($action);
// \XF::dump($params);
// \XF::dump($reply);
$w = [
\XF::app()->extension()->resolveExtendedClassToRoot($controller),
$controller->request()->getRoutePath(),
$action,
$params,
];
$extension = \XF::app()->extension();
$rootClass = $extension->resolveExtendedClassToRoot($controller);
$replyClass = $extension->resolveExtendedClassToRoot($reply);
static::addToCollection('controllerPostDispatchListener' . ' ' . $rootClass . '->action' . $action . '() ' . $replyClass);
}
public static function controllerPreDispatchListener(
\XF\Mvc\Controller $controller,
$action,
\XF\Mvc\ParameterBag $params
) {
// \XF::dump($controller);
// \XF::dump($action);
// \XF::dump($params);
$w = [
\XF::app()->extension()->resolveExtendedClassToRoot($controller), // todo: use the original class
$controller->request()->getRoutePath(),
$action,
$params,
];
$rootClass = \XF::app()->extension()->resolveExtendedClassToRoot($controller);
static::addToCollection('controllerPreDispatchListener' . ' ' . $rootClass . '->action' . $action . '()');
}
public static function criteriaPageListener($rule, array $data, \XF\Entity\User $user, array $params, &$returnValue)
{
// \XF::dump($rule);
// \XF::dump($data);
// \XF::dump($user);
// \XF::dump($params);
// \XF::dump($returnValue);
static::addToCollection('criteriaPageListener');
}
public static function criteriaTemplateDataListener(array &$templateData)
{
// \XF::dump($templateData);
static::addToCollection('criteriaTemplateDataListener');
}
public static function criteriaUserListener($rule, array $data, \XF\Entity\User $user, &$returnValue)
{
// \XF::dump($rule);
// \XF::dump($data);
// \XF::dump($user);
// \XF::dump($returnValue);
static::addToCollection('criteriaUserListener');
}
public static function dispatcherMatchListener(\XF\Mvc\Dispatcher $dispatcher, \XF\Mvc\RouteMatch &$match)
{
// \XF::dump($dispatcher);
// \XF::dump($match);
static::addToCollection('dispatcherMatchListener');
}
public static function dispatcherPostDispatchListener(
\XF\Mvc\Dispatcher $dispatcher,
\XF\Mvc\Reply\AbstractReply &$reply,
\XF\Mvc\RouteMatch $routeMatch,
\XF\Mvc\RouteMatch $originalMatch
) {
// \XF::dump($dispatcher);
// \XF::dump($reply);
// \XF::dump($routeMatch);
// \XF::dump($originalMatch);
static::addToCollection('dispatcherPostDispatchListener');
}
public static function dispatcherPostRenderListener(
\XF\Mvc\Dispatcher $dispatcher,
&$content,
\XF\Mvc\Reply\AbstractReply $reply,
\XF\Mvc\Renderer\AbstractRenderer $renderer,
\XF\Http\Response $response
) {
// \XF::dump($dispatcher);
// \XF::dump($content);
// \XF::dump($reply);
// \XF::dump($renderer);
// \XF::dump($response);
static::addToCollection('dispatcherPostRenderListener');
}
public static function dispatcherPreDispatchListener(\XF\Mvc\Dispatcher $dispatcher, \XF\Mvc\RouteMatch $routeMatch)
{
// \XF::dump($dispatcher);
// \XF::dump($routeMatch);
static::addToCollection('dispatcherPreDispatchListener');
}
public static function dispatcherPreRenderListener(
\XF\Mvc\Dispatcher $dispatcher,
\XF\Mvc\Reply\AbstractReply $reply,
$responseType
) {
// \XF::dump($dispatcher);
// \XF::dump($reply);
// \XF::dump($responseType);
static::addToCollection('dispatcherPreRenderListener');
}
public static function editorDialogListener(array &$data, \XF\Mvc\Controller $controller)
{
// \XF::dump($data);
// \XF::dump($controller);
static::addToCollection('editorDialogListener');
}
public static function entityDefaultsListener(\XF\Mvc\Entity\Entity $entity)
{
// \XF::dump($entity);
// called before entityPreSave, when a new record is being inserted
static::addToCollection('entityDefaultsListener' . ' ' . $entity->structure()->shortName);
static::addToEntityFlow('entityPrepareForInsert', $entity);
}
protected static function addToEntityFlow($flowType, $entity)
{
if (!isset($GLOBALS['datio_ActionLogAndLimit'])) {
static::initGlobals();
}
// if defaults is called, it means that a new record is being prepared for insert
array_push($GLOBALS['datio_action_log_and_limit_entities'], $entity);
switch ($flowType) {
case 'entityPrepareForInsert':
// $GLOBALS['datio_action_log_and_limit_entities']++;
break;
}
}
protected static function initGlobals()
{
$GLOBALS['datio_action_log_and_limit_entities'] = [
];
}
public static function entityPostDeleteListener(\XF\Mvc\Entity\Entity $entity)
{
// \XF::dump($entity);
static::addToCollection('entityPostDeleteListener' . ' ' . $entity->structure()->shortName);
}
public static function entityPostSaveListener(\XF\Mvc\Entity\Entity $entity)
{
// \XF::dump($entity);
static::addToCollection('entityPostSaveListener' . ' ' . $entity->structure()->shortName);
$_sn = $entity->structure()->shortName;
$_sn = $entity->structure();
$_nv = $entity->getNewValues();
$_pv = $entity->getPreviousValues();
$_ii = $entity->isInsert();
$_iu = $entity->isUpdate();
$_idv = $entity->getIdentifierValues();
return;
}
public static function entityPreDeleteListener(\XF\Mvc\Entity\Entity $entity)
{
// \XF::dump($entity);
// Will check previous values.
$pv = $entity->getPreviousValues();
static::addToCollection('entityPreDeleteListener' . ' ' . $entity->structure()->shortName);
}
public static function entityPreSaveListener(\XF\Mvc\Entity\Entity $entity)
{
// \XF::dump($entity);
static::addToCollection('entityPreSaveListener' . ' ' . $entity->structure()->shortName);
$s = $entity->structure();
return;
}
public static function entityStructureListener(\XF\Mvc\Entity\Manager $em, \XF\Mvc\Entity\Structure &$structure)
{
// \XF::dump($em);
// \XF::dump($structure);
static::addToCollection('entityStructureListener' . ' ' . $structure->shortName);
// if ($structure->shortName == 'XF:Attachment' || $structure->shortName == 'XF:AttachmentData') {
// return;
// }
}
public static function homePageUrlListener(&$homePageUrl, \XF\Mvc\Router $router)
{
// \XF::dump($homePageUrl);
// \XF::dump($router);
static::addToCollection('homePageUrlListener');
}
public static function httpClientConfigListener(\GuzzleHttp\Client &$client)
{
// \XF::dump($client);
static::addToCollection('httpClientConfigListener');
}
public static function httpClientConfigUntrustedListener(\GuzzleHttp\Client &$client)
{
// \XF::dump($client);
static::addToCollection('httpClientConfigUntrustedListener');
}
public static function importImporterClassesListener(
\XF\SubContainer\Import $container,
\XF\Container $parentContainer,
array &$importers
) {
// \XF::dump($container);
// \XF::dump($parentContainer);
// \XF::dump($importers);
static::addToCollection('importImporterClassesListener');
}
public static function inlineModActionsListener(
\XF\InlineMod\AbstractHandler $handler,
\XF\Pub\App $app,
array &$actions
) {
// \XF::dump($handler);
// \XF::dump($app);
// \XF::dump($actions);
static::addToCollection('inlineModActionsListener');
}
public static function mailerSetupListener(\XF\Container $container, \XF\Mail\Mailer &$mailer)
{
// \XF::dump($container);
// \XF::dump($mailer);
static::addToCollection('mailerSetupListener');
}
public static function mailerTransportSetupListener(\XF\Container $container, &$transport = null)
{
// \XF::dump($container);
// \XF::dump($transport);
static::addToCollection('mailerTransportSetupListener');
}
public static function mountedFileWriteListener(
$type,
$filename,
\League\Flysystem\EventableFilesystem\Event\After $event
) {
// \XF::dump($type);
// \XF::dump($filename);
// \XF::dump($event);
static::addToCollection('mountedFileWriteListener');
}
public static function navigationSetupListener(\XF\Pub\App $app, array &$navigationFlat, array &$navigationTree)
{
// \XF::dump($app);
// \XF::dump($navigationFlat);
// \XF::dump($navigationTree);
static::addToCollection('navigationSetupListener');
}
public static function noticesSetupListener(\XF\Pub\App $app, \XF\NoticeList $noticeList, array $pageParams)
{
// \XF::dump($app);
// \XF::dump($noticeList);
// \XF::dump($pageParams);
static::addToCollection('noticesSetupListener');
}
public static function routerPublicSetupListener(\XF\Container $container, \XF\Mvc\Router &$router)
{
// \XF::dump($container);
// \XF::dump($router);
static::addToCollection('routerPublicSetupListener');
}
public static function searchSourceSetupListener(\XF\Container $container, &$source)
{
// \XF::dump($container);
// \XF::dump($source);
static::addToCollection('searchSourceSetupListener');
}
public static function sessionPublicStorageSetupListener(
\XF\Container $container,
\Doctrine\Common\Cache\CacheProvider $cache = null,
&$storage
) {
// \XF::dump($container);
// \XF::dump($cache);
// \XF::dump($storage);
static::addToCollection('sessionPublicStorageSetupListener');
}
public static function spamContentProvidersListener(
\XF\SubContainer\Spam $container,
\XF\Container $parentContainer,
array &$providers
) {
// \XF::dump($container);
// \XF::dump($parentContainer);
// \XF::dump($providers);
static::addToCollection('spamContentProvidersListener');
}
public static function spamContentSubmitterListener(
\XF\SubContainer\Spam $container,
\XF\Container $parentContainer,
\XF\Spam\ContentChecker &$checker
) {
// \XF::dump($container);
// \XF::dump($parentContainer);
// \XF::dump($checker);
static::addToCollection('spamContentSubmitterListener');
}
public static function spamContentSubmitterHamListener(
\XF\SubContainer\Spam $container,
\XF\Container $parentContainer,
\XF\Spam\ContentChecker &$checker
) {
// \XF::dump($container);
// \XF::dump($parentContainer);
// \XF::dump($checker);
static::addToCollection('spamContentSubmitterHamListener');
}
public static function spamUserProvidersListener(
\XF\SubContainer\Spam $container,
\XF\Container $parentContainer,
array &$providers
) {
// \XF::dump($container);
// \XF::dump($parentContainer);
// \XF::dump($providers);
static::addToCollection('spamUserProvidersListener');
}
public static function spamUserSubmitterListener(
\XF\SubContainer\Spam $container,
\XF\Container $parentContainer,
\XF\Spam\UserChecker &$checker
) {
// \XF::dump($container);
// \XF::dump($parentContainer);
// \XF::dump($checker);
static::addToCollection('spamUserSubmitterListener');
}
public static function stringFormatterSetupListener(\XF\Container $container, \XF\Str\Formatter &$formatter)
{
// \XF::dump($container);
// \XF::dump($formatter);
static::addToCollection('stringFormatterSetupListener');
}
public static function templaterGlobalDataListener(\XF\App $app, array &$data, $reply)
{
// \XF::dump($app);
// \XF::dump($data);
// \XF::dump($reply);
static::addToCollection('templaterGlobalDataListener');
}
public static function templaterMacroPostRenderListener(
\XF\Template\Templater $templater,
$type,
$template,
$name,
&$output
) {
// \XF::dump($templater);
// \XF::dump($type);
// \XF::dump($template);
// \XF::dump($name);
// \XF::dump($output);
static::addToCollection('templaterMacroPostRenderListener' . ' ' . $name);
}
public static function templaterMacroPreRenderListener(
\XF\Template\Templater $templater,
&$type,
&$template,
&$name,
array &$arguments,
array &$globalVars
) {
// \XF::dump($templater);
// \XF::dump($type);
// \XF::dump($template);
// \XF::dump($name);
// \XF::dump($arguments);
// \XF::dump($globalVars);
static::addToCollection('templaterMacroPreRenderListener' . ' ' . $template);
}
public static function templaterSetupListener(\XF\Container $container, \XF\Template\Templater &$templater)
{
// \XF::dump($container);
// \XF::dump($templater);
static::addToCollection('templaterSetupListener');
}
public static function templaterTemplatePostRenderListener(
\XF\Template\Templater $templater,
$type,
$template,
&$output
) {
// \XF::dump($templater);
// \XF::dump($type);
// \XF::dump($template);
// \XF::dump($output);
static::addToCollection('templaterTemplatePostRenderListener' . ' ' . $template);
}
public static function templaterTemplatePreRenderListener(
\XF\Template\Templater $templater,
&$type,
&$template,
array &$params
) {
// \XF::dump($templater);
// \XF::dump($type);
// \XF::dump($template);
// \XF::dump($params);
static::addToCollection('templaterTemplatePreRenderListener' . ' ' . $template);
}
public static function userContentChangeInitListener(\XF\Service\User\ContentChange $changeService, array &$updates)
{
// \XF::dump($changeService);
// \XF::dump($updates);
static::addToCollection('userContentChangeInitListener');
}
public static function userDeleteCleanInitListener(\XF\Service\User\DeleteCleanUp $deleteService, array &$deletes)
{
// \XF::dump($deleteService);
// \XF::dump($deletes);
static::addToCollection('userDeleteCleanInitListener');
}
public static function userMergeCombineListener(
\XF\Entity\User $target,
\XF\Entity\User $source,
\XF\Service\User\Merge $mergeService
) {
// \XF::dump($target);
// \XF::dump($source);
// \XF::dump($mergeService);
static::addToCollection('userMergeCombineListener');
}
public static function userSearcherOrdersListener(\XF\Searcher\User $userSearcher, array &$sortOrders)
{
// \XF::dump($userSearcher);
// \XF::dump($sortOrders);
static::addToCollection('userSearcherOrdersListener');
}
public static function visitorExtraWithListener(array &$with)
{
// \XF::dump($with);
static::addToCollection('visitorExtraWithListener');
}
public static function visitorGuestSetupListener(array &$defaultData)
{
// \XF::dump($defaultData);
static::addToCollection('visitorGuestSetupListener');
}
public static function visitorSetupListener(\XF\Entity\User &$visitor)
{
// \XF::dump($visitor);
static::addToCollection('visitorSetupListener');
}
public static function xfmgEmbedDataHandlerPrepareListener(array &$handlers)
{
// \XF::dump($handlers);
static::addToCollection('xfmgEmbedDataHandlerPrepareListener');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment