xref: /plugin/webmaster/action.php (revision f560cda94f5b91cbd32edae1d7e83fd41ed580ee)
1<?php
2
3use dokuwiki\Extension\ActionPlugin;
4use dokuwiki\Extension\EventHandler;
5use dokuwiki\Extension\Event;
6
7/**
8 * Webmaster Tools plugin.
9 *
10 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
11 * @author     Mark C. Prins <mprins@users.sf.net>
12 * @author     Marius Rieder <marius.rieder@durchmesser.ch>
13 *
14 * @phpcs:disable Squiz.Classes.ValidClassName.NotPascalCase
15 */
16class action_plugin_webmaster extends ActionPlugin
17{
18    public function register(EventHandler $controller): void
19    {
20        $controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, 'addVerifyHeaders', []);
21    }
22
23    public function addVerifyHeaders(Event $event): void
24    {
25        if (empty($event->data) || empty($event->data['meta'])) {
26            return;
27        }
28
29        /* Google */
30        $g = $this->getConf('webmaster_google');
31        if (!empty($g)) {
32            $g                     = ['name' => 'google-site-verification', 'content' => $g];
33            $event->data['meta'][] = $g;
34        }
35
36        /* bing */
37        $b = $this->getConf('webmaster_bing');
38        if (!empty($b)) {
39            $b                     = ['name' => 'msvalidate.01', 'content' => $b];
40            $event->data['meta'][] = $b;
41        }
42
43        /* Yandex */
44        $y = $this->getConf('webmaster_yandexkey');
45        if (!empty($y)) {
46            $y                     = ['name' => 'yandex-verification', 'content' => $y];
47            $event->data['meta'][] = $y;
48        }
49
50        /* Pinterest */
51        $y = $this->getConf('webmaster_pinterestkey');
52        if (!empty($y)) {
53            $y                     = ['name' => 'p:domain_verify', 'content' => $y];
54            $event->data['meta'][] = $y;
55        }
56    }
57}
58