1<?php 2 3require_once(__DIR__ . '/../ComboStrap/PluginUtility.php'); 4 5use ComboStrap\Api\MetaManagerHandler; 6use ComboStrap\DataType; 7use ComboStrap\ExceptionCompile; 8use ComboStrap\ExecutionContext; 9use ComboStrap\Meta\Form\FormMeta; 10use ComboStrap\Meta\Form\FormMetaField; 11use ComboStrap\HttpResponseStatus; 12use ComboStrap\Identity; 13use ComboStrap\Json; 14use ComboStrap\LowQualityPageOverwrite; 15use ComboStrap\MarkupPath; 16use ComboStrap\Message; 17use ComboStrap\Meta\Api\Metadata; 18use ComboStrap\Meta\Store\MetadataDokuWikiStore; 19use ComboStrap\MetadataFormDataStore; 20use ComboStrap\MetadataFrontmatterStore; 21use ComboStrap\MetadataStoreTransfer; 22use ComboStrap\MetaManagerForm; 23use ComboStrap\MetaManagerMenuItem; 24use ComboStrap\Mime; 25use ComboStrap\PluginUtility; 26use ComboStrap\QualityDynamicMonitoringOverwrite; 27 28if (!defined('DOKU_INC')) die(); 29 30/** 31 * 32 * 33 */ 34class action_plugin_combo_metamanager extends DokuWiki_Action_Plugin 35{ 36 37 38 39 public function register(Doku_Event_Handler $controller) 40 { 41 42 /** 43 * Add a icon in the page tools menu 44 * https://www.dokuwiki.org/devel:event:menu_items_assembly 45 */ 46 $controller->register_hook('MENU_ITEMS_ASSEMBLY', 'AFTER', $this, 'addMenuItem'); 47 } 48 49 50 public function addMenuItem(Doku_Event $event, $param) 51 { 52 53 if (!Identity::isWriter()) { 54 return; 55 } 56 57 /** 58 * The `view` property defines the menu that is currently built 59 * https://www.dokuwiki.org/devel:menus 60 * If this is not the page menu, return 61 */ 62 if ($event->data['view'] != 'page') return; 63 64 global $INFO; 65 if (!$INFO['exists']) { 66 return; 67 } 68 array_splice($event->data['items'], -1, 0, array(new MetaManagerMenuItem())); 69 70 } 71 72 73 74 75} 76