xref: /plugin/approve/action/move.php (revision b59355cdb0bc1813158c3cec643671b1fa1b3e90)
1b1ff32a1SSzymon Olewniczak<?php
2b1ff32a1SSzymon Olewniczak
31989ee26SSzymon Olewniczakuse dokuwiki\Extension\ActionPlugin;
41989ee26SSzymon Olewniczakuse dokuwiki\Extension\EventHandler;
51989ee26SSzymon Olewniczakuse dokuwiki\Extension\Event;
6b1ff32a1SSzymon Olewniczak
71989ee26SSzymon Olewniczakclass action_plugin_approve_move extends ActionPlugin {
8b1ff32a1SSzymon Olewniczak
9b1ff32a1SSzymon Olewniczak    /**
101989ee26SSzymon Olewniczak     * @inheritDoc
11b1ff32a1SSzymon Olewniczak     */
121989ee26SSzymon Olewniczak    public function register(EventHandler $controller) {
13b1ff32a1SSzymon Olewniczak        $controller->register_hook('PLUGIN_MOVE_PAGE_RENAME', 'AFTER', $this, 'handle_move', true);
14b1ff32a1SSzymon Olewniczak    }
15b1ff32a1SSzymon Olewniczak
16b1ff32a1SSzymon Olewniczak    /**
171989ee26SSzymon Olewniczak     * Renames all occurrences of a page ID in the database.
18b1ff32a1SSzymon Olewniczak     *
191989ee26SSzymon Olewniczak     * @param Event $event event object by reference
20b1ff32a1SSzymon Olewniczak     * @param bool $ispage is this a page move operation?
210c60a293SSzymon Olewniczak     * @return void
22b1ff32a1SSzymon Olewniczak     */
231989ee26SSzymon Olewniczak    public function handle_move(Event $event, $ispage) {
240c60a293SSzymon Olewniczak        /** @var \helper_plugin_approve_db $db_helper */
25*b59355cdSSzymon Olewniczak        $db = $this->loadHelper('approve_db');
260c60a293SSzymon Olewniczak
27b1ff32a1SSzymon Olewniczak        $old = $event->data['src_id'];
28b1ff32a1SSzymon Olewniczak        $new = $event->data['dst_id'];
29b1ff32a1SSzymon Olewniczak
30b1ff32a1SSzymon Olewniczak        // move revision history
311989ee26SSzymon Olewniczak        $db->moveRevisionHistory($old, $new);
32b1ff32a1SSzymon Olewniczak    }
33b1ff32a1SSzymon Olewniczak
34b1ff32a1SSzymon Olewniczak}
35