xref: /plugin/ireadit/action/move.php (revision 5f08124fd36655a1e65e4e98a2403a814959c4e4)
1<?php
2
3// must be run within Dokuwiki
4
5if(!defined('DOKU_INC')) die();
6
7class action_plugin_ireadit_move extends DokuWiki_Action_Plugin {
8
9    /**
10     * Registers a callback function for a given event
11     *
12     * @param Doku_Event_Handler $controller DokuWiki's event controller object
13     * @return void
14     */
15    public function register(Doku_Event_Handler $controller) {
16        $controller->register_hook('PLUGIN_MOVE_PAGE_RENAME', 'AFTER', $this, 'handle_move', true);
17    }
18
19    /**
20     * Renames all occurances of a page ID in the database
21     *
22     * @param Doku_Event $event event object by reference
23     * @param bool $ispage is this a page move operation?
24     * @return bool
25     */
26    public function handle_move(Doku_Event $event, $ispage) {
27        $old = $event->data['src_id'];
28        $new = $event->data['dst_id'];
29
30        $db_helper = plugin_load('helper', 'ireadit_db');
31        $sqlite = $db_helper->getDB();
32
33        //move revision history
34        $sqlite->query('UPDATE ireadit SET page=? WHERE page=?', $new, $old);
35    }
36
37}
38