Skip to main content

Error message

Warning: file_get_contents(modules/custom/gff_functions/src/Plugin/Block/blockHeartbeat.php): Failed to open stream: Permission denied in Drupal\Component\Annotation\Doctrine\StaticReflectionParser->parse() (line 184 of core/lib/Drupal/Component/Annotation/Doctrine/StaticReflectionParser.php).
Drupal\Component\Annotation\Doctrine\StaticReflectionParser->parse() (Line: 323)
Drupal\Component\Annotation\Doctrine\StaticReflectionParser->getDocComment() (Line: 60)
Drupal\Component\Annotation\Doctrine\StaticReflectionClass->getDocComment() (Line: 101)
Drupal\Component\Annotation\Doctrine\SimpleAnnotationReader->getClassAnnotations() (Line: 125)
Drupal\Component\Annotation\Doctrine\SimpleAnnotationReader->getClassAnnotation() (Line: 88)
Drupal\Core\Plugin\Discovery\AttributeDiscoveryWithAnnotations->parseClass() (Line: 84)
Drupal\Component\Plugin\Discovery\AttributeClassDiscovery->getDefinitions() (Line: 67)
Drupal\Core\Plugin\Discovery\AttributeDiscoveryWithAnnotations->getDefinitions() (Line: 86)
Drupal\Component\Plugin\Discovery\DerivativeDiscoveryDecorator->getDefinitions() (Line: 337)
Drupal\Core\Plugin\DefaultPluginManager->findDefinitions() (Line: 213)
Drupal\Core\Plugin\DefaultPluginManager->getDefinitions() (Line: 22)
Drupal\Core\Plugin\DefaultPluginManager->getDefinition() (Line: 16)
Drupal\Core\Plugin\Factory\ContainerFactory->createInstance() (Line: 76)
Drupal\Component\Plugin\PluginManagerBase->createInstance() (Line: 62)
Drupal\Core\Plugin\DefaultSingleLazyPluginCollection->initializePlugin() (Line: 57)
Drupal\block\BlockPluginCollection->initializePlugin() (Line: 80)
Drupal\Component\Plugin\LazyPluginCollection->get() (Line: 45)
Drupal\block\BlockPluginCollection->get() (Line: 83)
Drupal\Core\Plugin\DefaultSingleLazyPluginCollection->setConfiguration() (Line: 99)
Drupal\Core\Plugin\DefaultSingleLazyPluginCollection->addInstanceId() (Line: 55)
Drupal\Core\Plugin\DefaultSingleLazyPluginCollection->__construct() (Line: 34)
Drupal\block\BlockPluginCollection->__construct() (Line: 164)
Drupal\block\Entity\Block->getPluginCollection() (Line: 153)
Drupal\block\Entity\Block->getPlugin() (Line: 118)
Drupal\block\BlockAccessControlHandler->checkAccess() (Line: 109)
Drupal\Core\Entity\EntityAccessControlHandler->access() (Line: 329)
Drupal\Core\Entity\EntityBase->access() (Line: 63)
Drupal\block\BlockRepository->getVisibleBlocksPerRegion() (Line: 138)
Drupal\block\Plugin\DisplayVariant\BlockPageVariant->build() (Line: 270)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare() (Line: 128)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse() (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray() (Line: 246)
Symfony\Component\EventDispatcher\EventDispatcher::Symfony\Component\EventDispatcher\{closure}() (Line: 206)
Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (Line: 56)
Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (Line: 188)
Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53)
Drupal\Core\StackMiddleware\Session->handle() (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 32)
Drupal\big_pipe\StackMiddleware\ContentLength->handle() (Line: 201)
Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138)
Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87)
Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 50)
Drupal\ban\BanMiddleware->handle() (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36)
Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 709)
Drupal\Core\DrupalKernel->handle() (Line: 19)
The Global FlyFisher has recently been updated to a new publishing system, and there may be a few glitches while the last bits get fixed. If you meet anything that doesn't work, please let me know.
Martin - martin@globalflyfisher.com

Since you got this far …


The GFF money box

… I have a small favor to ask.

Long story short

Support the Global FlyFisher through several different channels, including PayPal.

Long story longer

The Global FlyFisher has been online since the mid-90's and has been free to access for everybody since day one – and will stay free for as long as I run it.
But that doesn't mean that it's free to run.
It costs money to drive a large site like this.
See more details about what you can do to help in this blog post.