xref: /dokuwiki/inc/Action/Diff.php (revision 8c7c53b0321a3cd3116b8d3b2ad27863a38dece7)
164ab5140SAndreas Gohr<?php
264ab5140SAndreas Gohr
364ab5140SAndreas Gohrnamespace dokuwiki\Action;
464ab5140SAndreas Gohr
5*6723156fSAndreas Gohruse dokuwiki\Ui\PageDiff;
60d02bc2fSSatoshi Saharause dokuwiki\Ui;
70d02bc2fSSatoshi Sahara
8ab583a1bSAndreas Gohr/**
9ab583a1bSAndreas Gohr * Class Diff
10ab583a1bSAndreas Gohr *
11ab583a1bSAndreas Gohr * Show the differences between two revisions
12ab583a1bSAndreas Gohr *
13ab583a1bSAndreas Gohr * @package dokuwiki\Action
14ab583a1bSAndreas Gohr */
150d02bc2fSSatoshi Saharaclass Diff extends AbstractAction
160d02bc2fSSatoshi Sahara{
1764ab5140SAndreas Gohr    /** @inheritdoc */
180d02bc2fSSatoshi Sahara    public function minimumPermission()
190d02bc2fSSatoshi Sahara    {
2064ab5140SAndreas Gohr        return AUTH_READ;
2164ab5140SAndreas Gohr    }
2264ab5140SAndreas Gohr
23bb2b4f19SAndreas Gohr    /** @inheritdoc */
240d02bc2fSSatoshi Sahara    public function preProcess()
250d02bc2fSSatoshi Sahara    {
2664ab5140SAndreas Gohr        global $INPUT;
2764ab5140SAndreas Gohr
2864ab5140SAndreas Gohr        // store the selected diff type in cookie
292d517813SSatoshi Sahara        $difftype = $INPUT->str('difftype');
302d517813SSatoshi Sahara        if (!empty($difftype)) {
312d517813SSatoshi Sahara            set_doku_pref('difftype', $difftype);
3264ab5140SAndreas Gohr        }
3364ab5140SAndreas Gohr    }
3464ab5140SAndreas Gohr
35bb2b4f19SAndreas Gohr    /** @inheritdoc */
360d02bc2fSSatoshi Sahara    public function tplContent()
370d02bc2fSSatoshi Sahara    {
38edb50e6aSSatoshi Sahara        global $INFO;
39*6723156fSAndreas Gohr        (new PageDiff($INFO['id']))->preference('showIntro', true)->show();
40bb2b4f19SAndreas Gohr    }
4164ab5140SAndreas Gohr}
42