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