1c25e802bSgerardnico<?php 2c25e802bSgerardnico 3*2c067407Sgerardnicouse ComboStrap\Analytics; 4c25e802bSgerardnicouse ComboStrap\Page; 5c25e802bSgerardnico 6c25e802bSgerardnico/** 7c25e802bSgerardnico * Copyright (c) 2021. ComboStrap, Inc. and its affiliates. All Rights Reserved. 8c25e802bSgerardnico * 9c25e802bSgerardnico * This source code is licensed under the GPL license found in the 10c25e802bSgerardnico * COPYING file in the root directory of this source tree. 11c25e802bSgerardnico * 12c25e802bSgerardnico * @license GPL 3 (https://www.gnu.org/licenses/gpl-3.0.en.html) 13c25e802bSgerardnico * @author ComboStrap <support@combostrap.com> 14c25e802bSgerardnico * 15c25e802bSgerardnico */ 16c25e802bSgerardnico 17*2c067407Sgerardnicorequire_once(__DIR__ . '/../class/'.'Analytics.php'); 18*2c067407Sgerardnico 19c25e802bSgerardnico/** 20c25e802bSgerardnico * Class action_plugin_combo_analytics 21c25e802bSgerardnico * Update the analytics data 22c25e802bSgerardnico */ 23c25e802bSgerardnicoclass action_plugin_combo_analytics extends DokuWiki_Action_Plugin 24c25e802bSgerardnico{ 25c25e802bSgerardnico 26c25e802bSgerardnico 27c25e802bSgerardnico public function register(Doku_Event_Handler $controller) 28c25e802bSgerardnico { 29*2c067407Sgerardnico 30c25e802bSgerardnico /** 31c25e802bSgerardnico * Called on every page write 32c25e802bSgerardnico * https://www.dokuwiki.org/devel:event:io_wikipage_write 33c25e802bSgerardnico * On update to an existing page this event is called twice, 34c25e802bSgerardnico * once for the transfer of the old version to the attic (rev will have a value) 35c25e802bSgerardnico * and once to write the new version of the page into the wiki (rev is false) 36c25e802bSgerardnico */ 37*2c067407Sgerardnico $controller->register_hook('IO_WIKIPAGE_WRITE', 'AFTER', $this, 'handle_update_analytics', array()); 38*2c067407Sgerardnico 39c25e802bSgerardnico } 40c25e802bSgerardnico 41*2c067407Sgerardnico public function handle_update_analytics(Doku_Event $event, $param) 42c25e802bSgerardnico { 43*2c067407Sgerardnico 44*2c067407Sgerardnico $rev = $event->data[3]; 45*2c067407Sgerardnico if ($rev===false){ 46*2c067407Sgerardnico $id = $event->data[2]; 47*2c067407Sgerardnico Analytics::process($id); 48c25e802bSgerardnico } 49c25e802bSgerardnico 50c25e802bSgerardnico 51c25e802bSgerardnico } 52c25e802bSgerardnico} 53c25e802bSgerardnico 54c25e802bSgerardnico 55c25e802bSgerardnico 56