xref: /plugin/geophp/action.php (revision 132d779eef842d6e0d8ca7825e9ec9e2bc56cf7c) !
1186dbc61SMark Prins<?php
2*132d779eSgithub-actions[bot]
3186dbc61SMark Prins// phpcs:disable Squiz.Classes.ValidClassName.NotCamelCaps
4186dbc61SMark Prins// phpcs:disable PSR1.Files.SideEffects
5186dbc61SMark Prins/*
6186dbc61SMark Prins* Copyright (c) 2022 Mark C. Prins <mprins@users.sf.net>
7186dbc61SMark Prins*
8186dbc61SMark Prins* Permission to use, copy, modify, and distribute this software for any
9186dbc61SMark Prins* purpose with or without fee is hereby granted, provided that the above
10186dbc61SMark Prins* copyright notice and this permission notice appear in all copies.
11186dbc61SMark Prins*
12186dbc61SMark Prins* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
13186dbc61SMark Prins* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
14186dbc61SMark Prins* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
15186dbc61SMark Prins* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
16186dbc61SMark Prins* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
17186dbc61SMark Prins* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
18186dbc61SMark Prins* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
19186dbc61SMark Prins*
20186dbc61SMark Prins*/
21*132d779eSgithub-actions[bot]use dokuwiki\Extension\Plugin;
22*132d779eSgithub-actions[bot]use dokuwiki\Extension\EventHandler;
23*132d779eSgithub-actions[bot]use dokuwiki\Extension\Event;
24186dbc61SMark Prinsuse Composer\InstalledVersions;
25186dbc61SMark Prins
26186dbc61SMark Prinsrequire_once __DIR__ . '/vendor/autoload.php';
27186dbc61SMark Prins
28186dbc61SMark Prins/**
29186dbc61SMark Prins * DokuWiki Plugin geophp (Action Component).
30186dbc61SMark Prins *
31186dbc61SMark Prins * @author Mark Prins
32186dbc61SMark Prins */
33*132d779eSgithub-actions[bot]class action_plugin_geophp extends Plugin
34b830a962SMark Prins{
35186dbc61SMark Prins    /**
36186dbc61SMark Prins     * plugin should use this method to register its handlers with the DokuWiki's event controller
37186dbc61SMark Prins     *
38186dbc61SMark Prins     * @param    $controller DokuWiki's event controller object. Also available as global $EVENT_HANDLER
39186dbc61SMark Prins     */
40*132d779eSgithub-actions[bot]    final public function register(EventHandler $controller): void
41b830a962SMark Prins    {
42186dbc61SMark Prins        $controller->register_hook('PLUGIN_POPULARITY_DATA_SETUP', 'AFTER', $this, 'popularity');
43186dbc61SMark Prins    }
44186dbc61SMark Prins
45186dbc61SMark Prins    /**
46b830a962SMark Prins     * Produce popularity data for this plugin.
47186dbc61SMark Prins     *
48b830a962SMark Prins     * @param Doku_Event $event The DokuWiki event
49186dbc61SMark Prins     */
50*132d779eSgithub-actions[bot]    final public function popularity(Event $event): void
51b830a962SMark Prins    {
52b830a962SMark Prins        $versionInfo = getVersionData();
53fa6f81c9SMark Prins        $geoPHP = InstalledVersions::getPrettyVersion('funiq/geophp');
54186dbc61SMark Prins        $plugin_info = $this->getInfo();
55186dbc61SMark Prins        $event->data['geophp']['version'] = $plugin_info['date'];
56186dbc61SMark Prins        $event->data['geophp']['geophp'] = $geoPHP;
57b830a962SMark Prins        $event->data['geophp']['dwversion'] = $versionInfo['date'];
58b830a962SMark Prins        $event->data['geophp']['combinedversion'] = $versionInfo['date'] . '_' . $plugin_info['date'] . '_' . $geoPHP;
59186dbc61SMark Prins    }
60186dbc61SMark Prins}
61