1c2f8a3c4SAnna Dabrowska<?php 2c2f8a3c4SAnna Dabrowska 3c2f8a3c4SAnna Dabrowskause dokuwiki\plugin\structpublish\meta\Revision; 4c2f8a3c4SAnna Dabrowska 5c2f8a3c4SAnna Dabrowskaclass action_plugin_structpublish_publish extends DokuWiki_Action_Plugin 6c2f8a3c4SAnna Dabrowska{ 7c2f8a3c4SAnna Dabrowska /** @var \helper_plugin_structpublish_permissions */ 8c2f8a3c4SAnna Dabrowska protected $permissionsHelper; 9c2f8a3c4SAnna Dabrowska 10c2f8a3c4SAnna Dabrowska /** 11c2f8a3c4SAnna Dabrowska * @inheritDoc 12c2f8a3c4SAnna Dabrowska */ 13c2f8a3c4SAnna Dabrowska public function register(Doku_Event_Handler $controller) 14c2f8a3c4SAnna Dabrowska { 15c2f8a3c4SAnna Dabrowska $controller->register_hook('ACTION_ACT_PREPROCESS', 'BEFORE', $this, 'handlePublish'); 16c2f8a3c4SAnna Dabrowska } 17c2f8a3c4SAnna Dabrowska 18c2f8a3c4SAnna Dabrowska public function handlePublish(Doku_Event $event) 19c2f8a3c4SAnna Dabrowska { 20c2f8a3c4SAnna Dabrowska if ($event->data != 'show') return; 21*3449f9ceSAnna Dabrowska if (!isset($_GET['structpublish']) || $_GET['structpublish'] !== \helper_plugin_structpublish_permissions::ACTION_PUBLISH) return; 22c2f8a3c4SAnna Dabrowska 23c2f8a3c4SAnna Dabrowska $this->permissionsHelper = plugin_load('helper', 'structpublish_permissions'); 24c2f8a3c4SAnna Dabrowska 25c2f8a3c4SAnna Dabrowska global $ID; 26c2f8a3c4SAnna Dabrowska global $INFO; 27c2f8a3c4SAnna Dabrowska $sqlite = $this->permissionsHelper->getDb(); 28*3449f9ceSAnna Dabrowska // FIXME 29*3449f9ceSAnna Dabrowska $revision = new Revision($sqlite, $ID, $INFO['currentrev']); 30*3449f9ceSAnna Dabrowska // FIXME do it in SQL? 31c2f8a3c4SAnna Dabrowska $revision->setVersion($revision->getVersion() + 1); 32c2f8a3c4SAnna Dabrowska $revision->setUser($_SERVER['REMOTE_USER']); 33c2f8a3c4SAnna Dabrowska $revision->setStatus(Revision::STATUS_PUBLISHED); 34c2f8a3c4SAnna Dabrowska 35c2f8a3c4SAnna Dabrowska $revision->save(); 36c2f8a3c4SAnna Dabrowska 37c2f8a3c4SAnna Dabrowska } 38c2f8a3c4SAnna Dabrowska 39c2f8a3c4SAnna Dabrowska protected function publish($rev) 40c2f8a3c4SAnna Dabrowska { 41c2f8a3c4SAnna Dabrowska global $ID; 42c2f8a3c4SAnna Dabrowska } 43c2f8a3c4SAnna Dabrowska} 44