xref: /plugin/ireadit/action/auth.php (revision d2cf7c78adce1664925be1a0be19ea4fc1239030)
1d0cab33cSSzymon Olewniczak<?php
2d0cab33cSSzymon Olewniczak
3d0cab33cSSzymon Olewniczak// must be run within Dokuwiki
4d0cab33cSSzymon Olewniczak
5d0cab33cSSzymon Olewniczakif(!defined('DOKU_INC')) die();
6d0cab33cSSzymon Olewniczak
7d0cab33cSSzymon Olewniczakclass action_plugin_ireadit_auth extends DokuWiki_Action_Plugin {
8d0cab33cSSzymon Olewniczak
9d0cab33cSSzymon Olewniczak    /**
10d0cab33cSSzymon Olewniczak     * Registers a callback function for a given event
11d0cab33cSSzymon Olewniczak     *
12d0cab33cSSzymon Olewniczak     * @param Doku_Event_Handler $controller DokuWiki's event controller object
13d0cab33cSSzymon Olewniczak     * @return void
14d0cab33cSSzymon Olewniczak     */
15d0cab33cSSzymon Olewniczak    public function register(Doku_Event_Handler $controller) {
16d0cab33cSSzymon Olewniczak        $controller->register_hook('AUTH_USER_CHANGE','AFTER', $this, 'handle_auth_user_change');
17d0cab33cSSzymon Olewniczak    }
18d0cab33cSSzymon Olewniczak
1958604840SSzymon Olewniczak    public function handle_auth_user_change(Doku_Event $event) {
20*d2cf7c78SSzymon Olewniczak        // update the index
21*d2cf7c78SSzymon Olewniczak        global $conf;
22*d2cf7c78SSzymon Olewniczak        $data = array();
23*d2cf7c78SSzymon Olewniczak        search($data, $conf['datadir'], 'search_allpages', array('skipacl' => true));
24*d2cf7c78SSzymon Olewniczak        foreach($data as $val) {
25*d2cf7c78SSzymon Olewniczak            // if we use ireadit on the page, invalidate index
26*d2cf7c78SSzymon Olewniczak            if (p_get_metadata($val['id'], 'plugin_ireadit')) {
27*d2cf7c78SSzymon Olewniczak                $idxtag = metaFN($val['id'],'.indexed');
28*d2cf7c78SSzymon Olewniczak                @unlink($idxtag);
2958604840SSzymon Olewniczak            }
3058604840SSzymon Olewniczak        }
3158604840SSzymon Olewniczak    }
32d0cab33cSSzymon Olewniczak}
33