xref: /plugin/geophp/action.php (revision b6eceaa378e4f573f48572000f41023abc146454)
1186dbc61SMark Prins<?php
2132d779eSgithub-actions[bot]
3186dbc61SMark Prins/*
4186dbc61SMark Prins* Copyright (c) 2022 Mark C. Prins <mprins@users.sf.net>
5186dbc61SMark Prins*
6186dbc61SMark Prins* Permission to use, copy, modify, and distribute this software for any
7186dbc61SMark Prins* purpose with or without fee is hereby granted, provided that the above
8186dbc61SMark Prins* copyright notice and this permission notice appear in all copies.
9186dbc61SMark Prins*
10186dbc61SMark Prins* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11186dbc61SMark Prins* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12186dbc61SMark Prins* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13186dbc61SMark Prins* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14186dbc61SMark Prins* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15186dbc61SMark Prins* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16186dbc61SMark Prins* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17186dbc61SMark Prins*
18186dbc61SMark Prins*/
19132d779eSgithub-actions[bot]use dokuwiki\Extension\Plugin;
20132d779eSgithub-actions[bot]use dokuwiki\Extension\EventHandler;
21132d779eSgithub-actions[bot]use dokuwiki\Extension\Event;
22186dbc61SMark Prinsuse Composer\InstalledVersions;
23186dbc61SMark Prins
24186dbc61SMark Prinsrequire_once __DIR__ . '/vendor/autoload.php';
25186dbc61SMark Prins
26186dbc61SMark Prins/**
27186dbc61SMark Prins * DokuWiki Plugin geophp (Action Component).
28186dbc61SMark Prins *
29186dbc61SMark Prins * @author Mark Prins
30*b6eceaa3SMark Prins *
31*b6eceaa3SMark Prins * @phpcs:disable Squiz.Classes.ValidClassName.NotPascalCase
32*b6eceaa3SMark Prins * @phpcs:disable PSR1.Files.SideEffects
33186dbc61SMark Prins */
34132d779eSgithub-actions[bot]class action_plugin_geophp extends Plugin
35b830a962SMark Prins{
36186dbc61SMark Prins    /**
37186dbc61SMark Prins     * plugin should use this method to register its handlers with the DokuWiki's event controller
38186dbc61SMark Prins     *
39186dbc61SMark Prins     * @param $controller DokuWiki's event controller object. Also available as global $EVENT_HANDLER
40186dbc61SMark Prins     */
41132d779eSgithub-actions[bot]    final public function register(EventHandler $controller): void
42b830a962SMark Prins    {
43186dbc61SMark Prins        $controller->register_hook('PLUGIN_POPULARITY_DATA_SETUP', 'AFTER', $this, 'popularity');
44186dbc61SMark Prins    }
45186dbc61SMark Prins
46186dbc61SMark Prins    /**
47b830a962SMark Prins     * Produce popularity data for this plugin.
48186dbc61SMark Prins     *
491f985d50Sgithub-actions[bot]     * @param Event $event The DokuWiki event
50186dbc61SMark Prins     */
51132d779eSgithub-actions[bot]    final public function popularity(Event $event): void
52b830a962SMark Prins    {
53b830a962SMark Prins        $versionInfo = getVersionData();
54fa6f81c9SMark Prins        $geoPHP = InstalledVersions::getPrettyVersion('funiq/geophp');
55186dbc61SMark Prins        $plugin_info = $this->getInfo();
56186dbc61SMark Prins        $event->data['geophp']['version'] = $plugin_info['date'];
57186dbc61SMark Prins        $event->data['geophp']['geophp'] = $geoPHP;
58b830a962SMark Prins        $event->data['geophp']['dwversion'] = $versionInfo['date'];
59b830a962SMark Prins        $event->data['geophp']['combinedversion'] = $versionInfo['date'] . '_' . $plugin_info['date'] . '_' . $geoPHP;
60186dbc61SMark Prins    }
61186dbc61SMark Prins}
62