Overview

DailyVerses Extension – Documentation

Purpose

This extension retrieves either a daily or random Bible verse from dailyverses.net and displays it in the TYPO3 frontend. When using the daily mode, caching is applied per language and per date.

File Overview

  • ext_localconf.php: Defines the cache configuration daily_verse_cache.

  • DailyVersesController.php: Contains the logic for retrieving, processing, and caching the Bible verse.

  • LanguageOptions.php: Maps language codes to Bible versions and URLs.

Caching Strategy

  • Cache is stored under the key daily_verse_<languageUid>.

  • Each cache entry contains:

<?php
[
  'date' => 'YYYY-MM-DD',
  'verse' => [ 'text' => ..., 'verse' => ..., 'version' => ..., 'link' => ..., 'linkText' => ... ]
]
  • Upon retrieval, the date is checked against today’s date. If it does not match, a new verse is fetched and stored.

Controller Logic

  • Generate(): Fetches HTML from dailyverses.net, decodes it, and filters relevant elements.

  • showverseAction(): - In daily mode: uses cache per language and date. - In random mode: fetches a random verse directly without caching.

External Dependencies

  • Daily verse: https://dailyverses.net/get/verse.js?language=<code>

  • Random verse: https://dailyverses.net/get/random.js?language=<code>