1*c3437056SNickeau<?php 2*c3437056SNickeau/** 3*c3437056SNickeau * Copyright (c) 2021. ComboStrap, Inc. and its affiliates. All Rights Reserved. 4*c3437056SNickeau * 5*c3437056SNickeau * This source code is licensed under the GPL license found in the 6*c3437056SNickeau * COPYING file in the root directory of this source tree. 7*c3437056SNickeau * 8*c3437056SNickeau * @license GPL 3 (https://www.gnu.org/licenses/gpl-3.0.en.html) 9*c3437056SNickeau * @author ComboStrap <support@combostrap.com> 10*c3437056SNickeau * 11*c3437056SNickeau */ 12*c3437056SNickeau 13*c3437056SNickeaunamespace ComboStrap; 14*c3437056SNickeau 15*c3437056SNickeauuse dokuwiki\Menu\Item\AbstractItem; 16*c3437056SNickeau 17*c3437056SNickeau/** 18*c3437056SNickeau * Class MenuItem 19*c3437056SNickeau * @package ComboStrap 20*c3437056SNickeau * 21*c3437056SNickeau */ 22*c3437056SNickeauclass BacklinkMenuItem extends AbstractItem 23*c3437056SNickeau{ 24*c3437056SNickeau 25*c3437056SNickeau const CLASS_HTML = "combo-backlink-item"; 26*c3437056SNickeau const CANONICAL = "backlink"; 27*c3437056SNickeau 28*c3437056SNickeau /** 29*c3437056SNickeau * MetadataMenuItem constructor. 30*c3437056SNickeau */ 31*c3437056SNickeau public function __construct() 32*c3437056SNickeau { 33*c3437056SNickeau $snippetManager = PluginUtility::getSnippetManager(); 34*c3437056SNickeau $snippetManager->attachJavascriptComboLibrary(); 35*c3437056SNickeau $snippetManager->attachJavascriptSnippetForRequest(self::CANONICAL); 36*c3437056SNickeau parent::__construct(); 37*c3437056SNickeau } 38*c3437056SNickeau 39*c3437056SNickeau 40*c3437056SNickeau /** 41*c3437056SNickeau * 42*c3437056SNickeau * @return string 43*c3437056SNickeau */ 44*c3437056SNickeau public function getLabel(): string 45*c3437056SNickeau { 46*c3437056SNickeau return "Backlinks"; 47*c3437056SNickeau } 48*c3437056SNickeau 49*c3437056SNickeau public function getLinkAttributes($classprefix = 'menuitem '): array 50*c3437056SNickeau { 51*c3437056SNickeau $linkAttributes = parent::getLinkAttributes($classprefix); 52*c3437056SNickeau /** 53*c3437056SNickeau * A class and not an id 54*c3437056SNickeau * because a menu item can be found twice on 55*c3437056SNickeau * a page (For instance if you want to display it in a layout at a 56*c3437056SNickeau * breakpoint and at another in another breakpoint 57*c3437056SNickeau */ 58*c3437056SNickeau $linkAttributes['class'] = self::CLASS_HTML; 59*c3437056SNickeau 60*c3437056SNickeau return $linkAttributes; 61*c3437056SNickeau } 62*c3437056SNickeau 63*c3437056SNickeau public function getTitle(): string 64*c3437056SNickeau { 65*c3437056SNickeau return "Show the backlinks"; 66*c3437056SNickeau } 67*c3437056SNickeau 68*c3437056SNickeau public function getSvg(): string 69*c3437056SNickeau { 70*c3437056SNickeau /** @var string icon file */ 71*c3437056SNickeau return Resources::getImagesDirectory() . '/backlink.svg'; 72*c3437056SNickeau } 73*c3437056SNickeau 74*c3437056SNickeau 75*c3437056SNickeau} 76