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