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