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