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