xref: /plugin/combo/action/analytics.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*c25e802bSgerardnico/**
17*c25e802bSgerardnico * Class action_plugin_combo_analytics
18*c25e802bSgerardnico * Update the analytics data
19*c25e802bSgerardnico */
20*c25e802bSgerardnicoclass action_plugin_combo_analytics extends DokuWiki_Action_Plugin
21*c25e802bSgerardnico{
22*c25e802bSgerardnico
23*c25e802bSgerardnico
24*c25e802bSgerardnico    public function register(Doku_Event_Handler $controller)
25*c25e802bSgerardnico    {
26*c25e802bSgerardnico        /**
27*c25e802bSgerardnico         * Called on every page view
28*c25e802bSgerardnico         * https://www.dokuwiki.org/devel:event:indexer_tasks_run
29*c25e802bSgerardnico         * Called on every page write
30*c25e802bSgerardnico         * https://www.dokuwiki.org/devel:event:io_wikipage_write
31*c25e802bSgerardnico         * On update to an existing page this event is called twice,
32*c25e802bSgerardnico         * once for the transfer of the old version to the attic (rev will have a value)
33*c25e802bSgerardnico         * and once to write the new version of the page into the wiki (rev is false)
34*c25e802bSgerardnico         */
35*c25e802bSgerardnico        if (false) {
36*c25e802bSgerardnico            $controller->register_hook('INDEXER_TASKS_RUN', 'AFTER', $this, 'handle_update_analytics', array());
37*c25e802bSgerardnico        }
38*c25e802bSgerardnico    }
39*c25e802bSgerardnico
40*c25e802bSgerardnico    public function handle_new_page(Doku_Event $event, $param){
41*c25e802bSgerardnico
42*c25e802bSgerardnico        global $ID;
43*c25e802bSgerardnico        $page = new Page($ID);
44*c25e802bSgerardnico        $canonical = $page->getCanonical();
45*c25e802bSgerardnico        $event->data["tpl"] = <<<EOF
46*c25e802bSgerardnico---json
47*c25e802bSgerardnico{
48*c25e802bSgerardnico    "canonical":"{$canonical}",
49*c25e802bSgerardnico    "title":"A title to show on the Search Engine Result Pages",
50*c25e802bSgerardnico    "description":"A description show on the Search Engine Result Pages"
51*c25e802bSgerardnico}
52*c25e802bSgerardnico---
53*c25e802bSgerardnicoThis content was created by the [[https://combostrap.com/frontmatter|frontmatter component]].
54*c25e802bSgerardnicoEOF;
55*c25e802bSgerardnico
56*c25e802bSgerardnico
57*c25e802bSgerardnico    }
58*c25e802bSgerardnico}
59*c25e802bSgerardnico
60*c25e802bSgerardnico
61*c25e802bSgerardnico
62