Last active
October 21, 2018 04:12
-
-
Save datio/3ae8c983badfbb8d09584e42f38b98ef to your computer and use it in GitHub Desktop.
All the available Event Listeners for XenForo 2.0.10
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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