1<?php 2 3use ComboStrap\Analytics; 4 5 6/** 7 * Class action_plugin_combo_metatitle 8 * Set and manage the meta title 9 * The event is triggered in the strap template 10 */ 11class action_plugin_combo_metatitle extends DokuWiki_Action_Plugin 12{ 13 14 15 public function register(Doku_Event_Handler $controller) 16 { 17 $controller->register_hook('TPL_TITLE_OUTPUT', 'BEFORE', $this, 'handleTitle', array()); 18 } 19 20 function handleTitle(&$event, $param) 21 { 22 $event->data = self::getTitle(); 23 } 24 25 static function getTitle(){ 26 global $ID; 27 global $conf; 28 if (defined('DOKU_UNITTEST')) { 29 $title = TestUtility::getMeta($ID, Analytics::TITLE); 30 } else { 31 $title = p_get_metadata($ID, Analytics::TITLE); 32 } 33 if (!empty($title)){ 34 35 $pageTitle = $title; 36 37 } else { 38 39 // Home page 40 if ($ID == "start") { 41 $pageTitle = $conf["title"]; 42 if ($conf['tagline']) { 43 $pageTitle .= ' - ' . $conf['tagline']; 44 } 45 } else { 46 $pageTitle = tpl_pagetitle($ID, true) . ' ['. $conf["title"]. ']'; 47 } 48 49 } 50 return strip_tags($pageTitle); 51 } 52} 53