108ca4f85Sgerardnico<?php 208ca4f85Sgerardnico 304fd306cSNickeau 404fd306cSNickeauuse ComboStrap\Api\ApiRouter; 5a6bf47aaSNickeauuse ComboStrap\Identity; 6c3437056SNickeauuse ComboStrap\QualityMenuItem; 708ca4f85Sgerardnico 804fd306cSNickeaurequire_once(__DIR__ . '/../vendor/autoload.php'); 908ca4f85Sgerardnico 1008ca4f85Sgerardnico/** 1108ca4f85Sgerardnico * 1208ca4f85Sgerardnico * Show a quality message 1308ca4f85Sgerardnico * 1408ca4f85Sgerardnico * 1508ca4f85Sgerardnico * 1608ca4f85Sgerardnico */ 1708ca4f85Sgerardnicoclass action_plugin_combo_qualitymessage extends DokuWiki_Action_Plugin 1808ca4f85Sgerardnico{ 1908ca4f85Sgerardnico 2008ca4f85Sgerardnico 2108ca4f85Sgerardnico function __construct() 2208ca4f85Sgerardnico { 2308ca4f85Sgerardnico // enable direct access to language strings 2408ca4f85Sgerardnico // ie $this->lang 2508ca4f85Sgerardnico $this->setupLocale(); 2608ca4f85Sgerardnico } 2708ca4f85Sgerardnico 2808ca4f85Sgerardnico 29c3437056SNickeau function register(Doku_Event_Handler $controller) 30c3437056SNickeau { 31c3437056SNickeau 32c3437056SNickeau 33c3437056SNickeau /** 34c3437056SNickeau * Add a icon in the page tools menu 35c3437056SNickeau * https://www.dokuwiki.org/devel:event:menu_items_assembly 36c3437056SNickeau */ 37c3437056SNickeau $controller->register_hook('MENU_ITEMS_ASSEMBLY', 'AFTER', $this, 'addMenuItem'); 38c3437056SNickeau 39c3437056SNickeau 40c3437056SNickeau } 41c3437056SNickeau 42c3437056SNickeau 43c3437056SNickeau function addMenuItem(Doku_Event $event, $param) 44c3437056SNickeau { 45c3437056SNickeau 46c3437056SNickeau if (!Identity::isWriter()) { 47c3437056SNickeau return; 48c3437056SNickeau } 49c3437056SNickeau 50c3437056SNickeau /** 51c3437056SNickeau * The `view` property defines the menu that is currently built 52c3437056SNickeau * https://www.dokuwiki.org/devel:menus 53c3437056SNickeau * If this is not the page menu, return 54c3437056SNickeau */ 55c3437056SNickeau if ($event->data['view'] != 'page') return; 56c3437056SNickeau 57c3437056SNickeau global $INFO; 58*70bbd7f1Sgerardnico $exists = $INFO['exists'] ?? null; 59*70bbd7f1Sgerardnico if (!$exists) { 60c3437056SNickeau return; 61c3437056SNickeau } 62c3437056SNickeau array_splice($event->data['items'], -1, 0, array(new QualityMenuItem())); 63c3437056SNickeau 64c3437056SNickeau } 65c3437056SNickeau 66c3437056SNickeau 6708ca4f85Sgerardnico} 68