1531e725cSNickeau<?php 2531e725cSNickeau 3531e725cSNickeau 4531e725cSNickeauuse ComboStrap\PluginUtility; 5531e725cSNickeau 604fd306cSNickeaurequire_once(__DIR__ . '/../vendor/autoload.php'); 7531e725cSNickeau 8531e725cSNickeau/** 9531e725cSNickeau * Class syntax_plugin_combo_analytics 10c3437056SNickeau * This class was just created to add the syntax analytics 11531e725cSNickeau * to the metadata. 12531e725cSNickeau */ 13531e725cSNickeauclass syntax_plugin_combo_analytics extends DokuWiki_Syntax_Plugin 14531e725cSNickeau{ 15531e725cSNickeau 16531e725cSNickeau const TAG = "analytics"; 1704fd306cSNickeau public const CONF_SYNTAX_ANALYTICS_ENABLE = "syntaxAnalyticsEnable"; 18531e725cSNickeau 19531e725cSNickeau /** 20531e725cSNickeau * Syntax Type. 21531e725cSNickeau * @see DokuWiki_Syntax_Plugin::getType() 22531e725cSNickeau */ 23531e725cSNickeau function getType() 24531e725cSNickeau { 25531e725cSNickeau return 'formatting'; 26531e725cSNickeau } 27531e725cSNickeau 28531e725cSNickeau /** 29531e725cSNickeau * How Dokuwiki will add P element 30531e725cSNickeau * 3104fd306cSNickeau * * 'normal' - Inline 3204fd306cSNickeau * * 'block' - Block (p are not created inside) 3304fd306cSNickeau * * 'stack' - Block (p can be created inside) 34531e725cSNickeau * 35531e725cSNickeau * @see DokuWiki_Syntax_Plugin::getPType() 36531e725cSNickeau */ 37531e725cSNickeau function getPType() 38531e725cSNickeau { 39531e725cSNickeau return 'normal'; 40531e725cSNickeau } 41531e725cSNickeau 42531e725cSNickeau /** 43531e725cSNickeau * @return array 44531e725cSNickeau * Allow which kind of plugin inside 45531e725cSNickeau * 46531e725cSNickeau * array('container', 'baseonly', 'formatting', 'substition', 'protected', 'disabled', 'paragraphs') 47531e725cSNickeau * 48531e725cSNickeau */ 49531e725cSNickeau function getAllowedTypes() 50531e725cSNickeau { 51531e725cSNickeau return array(); 52531e725cSNickeau } 53531e725cSNickeau 54531e725cSNickeau function getSort() 55531e725cSNickeau { 56531e725cSNickeau return 201; 57531e725cSNickeau } 58531e725cSNickeau 59531e725cSNickeau 60531e725cSNickeau /** 61531e725cSNickeau * Create a pattern that will called this plugin 62531e725cSNickeau * 63531e725cSNickeau * @param string $mode 64531e725cSNickeau * @see Doku_Parser_Mode::connectTo() 65531e725cSNickeau */ 66531e725cSNickeau function connectTo($mode) 67531e725cSNickeau { 68531e725cSNickeau /** 69531e725cSNickeau * The instruction `calls` are not created via syntax 7004fd306cSNickeau * but dynamically in the Outline {@link \ComboStrap\Outline::buildOutline()} 71531e725cSNickeau */ 72531e725cSNickeau 73531e725cSNickeau } 74531e725cSNickeau 75531e725cSNickeau function postConnect() 76531e725cSNickeau { 77531e725cSNickeau 78531e725cSNickeau /** 79531e725cSNickeau * The instruction `calls` are not created via syntax 8004fd306cSNickeau * but dynamically in the Outline {@link \ComboStrap\Outline::buildOutline()} 81531e725cSNickeau */ 82531e725cSNickeau 83531e725cSNickeau } 84531e725cSNickeau 85531e725cSNickeau function handle($match, $state, $pos, Doku_Handler $handler) 86531e725cSNickeau { 87531e725cSNickeau 88531e725cSNickeau /** 89531e725cSNickeau * The instruction `calls` are not created via syntax 90*aea52b49Sgerardnico * but dynamically via {@link action_plugin_combo_syntaxanalyticsTest} 91531e725cSNickeau */ 92531e725cSNickeau 93531e725cSNickeau } 94531e725cSNickeau 95531e725cSNickeau /** 96531e725cSNickeau * Render the output 97531e725cSNickeau * @param string $format 98531e725cSNickeau * @param Doku_Renderer $renderer 99531e725cSNickeau * @param array $data - what the function handle() return'ed 100531e725cSNickeau * @return boolean - rendered correctly? (however, returned value is not used at the moment) 101531e725cSNickeau * @see DokuWiki_Syntax_Plugin::render() 102531e725cSNickeau * 103531e725cSNickeau * 104531e725cSNickeau */ 105531e725cSNickeau function render($format, Doku_Renderer $renderer, $data) 106531e725cSNickeau { 107531e725cSNickeau 108531e725cSNickeau if ($format == renderer_plugin_combo_analytics::RENDERER_FORMAT) { 109531e725cSNickeau 110531e725cSNickeau /** @var renderer_plugin_combo_analytics $renderer */ 111531e725cSNickeau $state = $data[PluginUtility::STATE]; 112531e725cSNickeau if ($state == DOKU_LEXER_SPECIAL) { 113531e725cSNickeau $attributes = $data[PluginUtility::ATTRIBUTES]; 11404fd306cSNickeau $renderer->stats[renderer_plugin_combo_analytics::SYNTAX_COUNT] = $attributes; 115531e725cSNickeau return true; 116531e725cSNickeau } 117531e725cSNickeau 118531e725cSNickeau } 119531e725cSNickeau 120531e725cSNickeau return false; 121531e725cSNickeau } 122531e725cSNickeau 123531e725cSNickeau 124531e725cSNickeau} 125531e725cSNickeau 126