xref: /plugin/combo/action/autofrontmatter.php (revision c25e802be7a82e7120d3f6149fed7a9aa24e7c7c)
1*c25e802bSgerardnico<?php
2*c25e802bSgerardnico
3*c25e802bSgerardnicouse ComboStrap\Page;
4*c25e802bSgerardnico
5*c25e802bSgerardnico/**
6*c25e802bSgerardnico * Copyright (c) 2021. ComboStrap, Inc. and its affiliates. All Rights Reserved.
7*c25e802bSgerardnico *
8*c25e802bSgerardnico * This source code is licensed under the GPL license found in the
9*c25e802bSgerardnico * COPYING  file in the root directory of this source tree.
10*c25e802bSgerardnico *
11*c25e802bSgerardnico * @license  GPL 3 (https://www.gnu.org/licenses/gpl-3.0.en.html)
12*c25e802bSgerardnico * @author   ComboStrap <support@combostrap.com>
13*c25e802bSgerardnico *
14*c25e802bSgerardnico */
15*c25e802bSgerardnico
16*c25e802bSgerardnicoclass action_plugin_combo_autofrontmatter extends DokuWiki_Action_Plugin
17*c25e802bSgerardnico{
18*c25e802bSgerardnico
19*c25e802bSgerardnico    const CONF_AUTOFRONTMATTER_ENABLE = "autoFrontMatterEnable";
20*c25e802bSgerardnico
21*c25e802bSgerardnico    public function register(Doku_Event_Handler $controller)
22*c25e802bSgerardnico    {
23*c25e802bSgerardnico        /**
24*c25e802bSgerardnico         * Called when new page is created
25*c25e802bSgerardnico         * In order to set its content
26*c25e802bSgerardnico         * https://www.dokuwiki.org/devel:event:common_pagetpl_load
27*c25e802bSgerardnico         */
28*c25e802bSgerardnico        if ($this->getConf(self::CONF_AUTOFRONTMATTER_ENABLE)) {
29*c25e802bSgerardnico            $controller->register_hook('COMMON_PAGETPL_LOAD', 'BEFORE', $this, 'handle_new_page', array());
30*c25e802bSgerardnico        }
31*c25e802bSgerardnico    }
32*c25e802bSgerardnico
33*c25e802bSgerardnico    public function handle_new_page(Doku_Event $event, $param){
34*c25e802bSgerardnico
35*c25e802bSgerardnico        global $ID;
36*c25e802bSgerardnico        $page = new Page($ID);
37*c25e802bSgerardnico        $canonical = $page->getCanonical();
38*c25e802bSgerardnico        $event->data["tpl"] = <<<EOF
39*c25e802bSgerardnico---json
40*c25e802bSgerardnico{
41*c25e802bSgerardnico    "canonical":"{$canonical}",
42*c25e802bSgerardnico    "title":"A title to show on the Search Engine Result Pages",
43*c25e802bSgerardnico    "description":"A description show on the Search Engine Result Pages"
44*c25e802bSgerardnico}
45*c25e802bSgerardnico---
46*c25e802bSgerardnicoThis content was created by the [[https://combostrap.com/frontmatter|frontmatter component]].
47*c25e802bSgerardnicoEOF;
48*c25e802bSgerardnico
49*c25e802bSgerardnico
50*c25e802bSgerardnico    }
51*c25e802bSgerardnico}
52*c25e802bSgerardnico
53*c25e802bSgerardnico
54*c25e802bSgerardnico
55