Tabellen von faustball.com

Description

This small plug-in enables an easy integration of dynamically updated tables from www.faustball.com into every page, post and widget. It offers many design and configuration possibilities, like a custom table header (including external contest data and link to contest), show/hide table headers, custom contest column headers, breadcrump navigation from faustball.com, highlight the table row with your own team, marking of the rows of promoted and relagated teams, as well as to show/hide the column with the balls.

To not block your homepage when faustball.com does not respond timely, a configurable timeout (default 1s) can be set. This plugin also enables the usage of shortcodes in HTML Widgets (disabled in standard WordPress). Finally you can search all pages for the [faustball] shortcode, so you can easily identify the pages, where a rework on the [faustball] shortcode settings might need to be done.

To reduce load on faustball.com this plugin uses a local table cache with configurable TTL. Only when the TLL has expired new data is requested from faustball.com. Additionally requests from crawlers, bots and spiders are detected and only data from the cache is then sent. The cached data can be deleted, if necessary.

Usage is very easy:

The shortcode

[faustball contest=<contest>]

is basically all it takes!

The attribute “contest” is mandatory and describes the competition from which the table should be displayed. To find out the number, go to the desired competition page on faustball.com and copy the number from the URL. This is the same number as the ID in Dirk Haase’s instructions.
Example: In the field season 2018 in men’s “Bundesliga Süd”, the table is located in this contest link: https://faustball.com/#/contest/257/competition.
This means that contest = 257 must be entered in the shortcode:

[faustball contest=257]

This is the simplest form of use.

Other optional attributes

ownteam='<ownteam>' [string/1/0]

If this attribute is set, the corresponding table line is provided with the CSS class “fb_ownteam”, if the transfered name matches (substring is sufficient) a team name in the table.
This line can be highlighted using the appropriate CSS markup.
If this attribute is set to “1”, the ownteam string that is defined in the plugin settings is used.
If this attribute is not used or set to “0”, no CSS class “fb_ownteam” is added.

balls='<balls>' [0/1]

The “balls” column can be hidden using this attribute. For this purpose, the column is provided with the CSS class “display-none”. A definition of the CSS class “display-none” with “display: none;” in the stylesheet is of course also necessary.
The advantage is that with this additional, optional CSS markup in the table code, it is possible to display a table once without balls (e.g. in a widget on the side), but the same table with the balls on a team page.
If the attribute is not used, the balls are displayed.

header='<header>' [0/1]

With this attribute the display of the first header row can be controlled.
If this attribute is not used, the first header row is shown. See also attribute ‘ownheader’ for formating capabilities.

ownheader='<ownheader>' [string]

This attribute enables to compose the first header row with custom text and data from the contest.
If this attrubute is not used or is empty, the format string from the settings page is used (Default: ‘%A%: %N% %R%’).

%A% = Association
%N% = Name of contest
%R% = Region
%C% = Category
%G% = Gender
%O% = String from ownteam attribute (empty, if ownteam attribute is not defined)
%L% = Link header to contest (position in attribute is not relevant)

Examples:
* “My Team 1 – %N%”
* “%L%My Team 1 – %N%”
* “%O% – %N% %L%”

breadcrump='<breadcrump>' [0/1]

Shows the breadcrump navigation from faustball.com in a second table header row.
If the attribute is not used, the navigation row is not shown.

contestlink='<contestlink>' [0/1]

Controls the display of the table footer area with the link to the faustball.com contest and info about cached data.
If the attribute is not used, the area is shown.

The shortcode can then look like this:

[faustball contest=257 ownteam="TV SW-Oberndorf" ownheader="%O% - %C%, %N%" balls=0 contestlink=0]

See Screenshots for a view of this shortcode.

Plugin settings

The whole Plugin is very configurable. See help section of the plugin settings page.
* You can predefine your match string, that will be used for [faustball] shortcodes, that have the attribute ownteam=’1′.
* The ownteam string search strategy can be selected (wildcard/exact match)
* The table header can be predefined, that will be used for every [faustball] shortcode, unless you define something different directly in the shortcode.
* Every column heading can be defined (also with empty string).
* Set the timeout after which the plugin cancels the query of a table (default: 1s).
* Set the time range how long cached data is valid until fresh data is requested from faustball.com (default: 900s).
* Activate the usage of shortcodes in HTML Widgets (default: true).

Plugin Homepage

Screenshots

  • Sample output for shortcode [faustball contest=257 ownteam="Oberndorf"]
  • Settings screen

Installation

  1. Install the plugin from the WordPress ‘Plugin’ page
  2. Activate the plugin on the ‘Plugin’ page
  3. Configure via Settings-> Tables from faustball.com

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Tabellen von faustball.com” is open source software. The following people have contributed to this plugin.

Contributors

“Tabellen von faustball.com” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Tabellen von faustball.com” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

2.0.2 (30.04.2021)

  • Added Settings option to change ownteam string search strategy from wildcard to exact

2.0.1 (29.04.2021)

  • Added %L% option to ownheader attribute (link header to contest)
  • Added error message, when no table data was received
  • Added Settings link in WordPress plugins page

2.0.0 (27.04.2021)

  • Complete rewrite of plugin code
  • Changed data source to faustball.com
  • Changed data format to JSON raw from faustball.com
  • Added plugin specific user-agent string
  • Removed HMTL Purifier (no longer needed for raw JSON data / input is now sanitized by PHP filters)
  • Added header shortcode attribute (usage of new data from JSON)
  • Added option to compose a custom header with own text and data from faustball.com
  • Added breadcrump shortcode attribute (usage of new data from JSON)
  • Added contestlink shortcode attribute (usage of new data from JSON)
  • Added option to allow shortcode usage in HTML widgets
  • Bugfix Cached TTL no longer gets updated after reload of cached data
  • Changed help integration. Now using standard WordPress settings help location (use help tab in top right corner of settings screen)

1.3.3 (05.04.2021)

  • More text prepared for translation

1.3.2 (04.04.2021)

  • Added message for “Cache deleted”
  • Preparing text for translation
  • First version, which is tagged as “stable” and is copied to “tags” subdirectory

1.3.1 (03.04.2021)

  • Data in local cache can now be deleted

1.3.0 (03.04.2021)

  • Detection of bots/crawlers/spiders: no request for table data (reduce server load on faustball.de)
  • Local caching of tables mit configurable TTL (reduce server load on faustball.de)
  • Update to HTML Purifier 4.13.0

1.2.4 (15.01.2020)

  • Bugfix UTF-8 Encoding (umlauts missing)

1.2.3 (03.12.2019)

  • Update to HTML Purifier 4.12.0

1.2.2 (16.05.2018)

  • Small improvements for wordpress.com