xref: /plugin/siteexport/inc/settings.php (revision d98cce67fe0e842937bedec2772b204f7feee514)
1<?php
2
3if (!defined('DOKU_PLUGIN')) die('meh');
4class settings_plugin_siteexport_settings extends DokuWiki_Plugin
5{
6    public $fileType = 'html';
7    public  $exportNamespace = '';
8    public  $pattern = null;
9
10    public  $isCLI = false;
11
12    public  $depth = '';
13
14    public  $zipFile = '';
15//    public  $origEclipseZipFile = 'doc.zip';
16//    public  $eclipseZipFile = '';
17    public  $addParams = false;
18    public  $origZipFile = '';
19    public  $downloadZipFile = '';
20    public  $exportLinkedPages = true;
21    public  $additionalParameters = array();
22    public  $isAuthed = false;
23
24    public  $TOCMapWithoutTranslation = false;
25
26    public  $cachetime = 0;
27    public  $hasValidCacheFile = false;
28
29    public  $useTOCFile = false;
30    public  $cookie = null;
31
32    public  $ignoreNon200 = true;
33
34    public  $defaultLang = 'en';
35
36    /**
37     * @param siteexport_functions $functions
38     */
39    function __construct($functions) {
40        global $ID, $conf;
41
42        $functions->debug->setDebugFile($this->getConf('debugFile'));
43        if (!empty($_REQUEST['debug']) && intval($_REQUEST['debug']) >= 0 && intval($_REQUEST['debug']) <= 5) {
44            $functions->debug->setDebugLevel(intval($_REQUEST['debug']));
45        } else
46        {
47            $functions->debug->setDebugLevel($this->getConf('debugLevel'));
48        }
49
50        $functions->debug->isAJAX = $this->getConf('ignoreAJAXError') ? false : $functions->debug->isAJAX;
51
52        if (empty($_REQUEST['pattern']))
53        {
54            $params = $_REQUEST;
55            $this->pattern = $functions->requestParametersToCacheHash($params);
56        } else {
57            // Set the pattern
58            $this->pattern = $_REQUEST['pattern'];
59        }
60
61        $this->isCLI = (!$_SERVER['REMOTE_ADDR'] && 'cli' == php_sapi_name());
62
63        $this->cachetime = $this->getConf('cachetime');
64        if ( !empty( $_REQUEST['disableCache'] ) ) {
65            $this->cachetime = intval($_REQUEST['disableCache']) == 1 ? 0 : $this->cachetime;
66        }
67
68        // Load variables
69        $this->origZipFile = $this->getConf('zipfilename');
70
71        $this->ignoreNon200 = $this->getConf('ignoreNon200');
72
73        // ID
74        $this->downloadZipFile = $functions->getSpecialExportFileName($this->origZipFile, $this->pattern);
75        //        $this->eclipseZipFile = $functions->getSpecialExportFileName(getNS($this->origZipFile) . ':' . $this->origEclipseZipFile, $this->pattern);
76
77        $this->zipFile = mediaFN($this->downloadZipFile);
78
79        $this->tmpDir = mediaFN(getNS($this->origZipFile));
80        $this->exportLinkedPages = !isset($_REQUEST['exportLinkedPages']) || intval($_REQUEST['exportLinkedPages']) == 1 ? true : false;
81
82        $this->namespace = $functions->getNamespaceFromID($_REQUEST['ns'], $PAGE);
83        $this->addParams = !empty($_REQUEST['addParams']);
84
85        $this->useTOCFile = !empty($_REQUEST['useTocFile']);
86
87        // set export Namespace - which is a virtual Root
88        $pg = noNS($ID);
89        if (empty($this->namespace)) { $this->namespace = $functions->getNamespaceFromID(getNS($ID), $pg); }
90        $this->exportNamespace = !empty($_REQUEST['ens']) && preg_match("%^" . preg_quote($functions->getNamespaceFromID($_REQUEST['ens'], $pg), '%') . "%", $this->namespace) ? $functions->getNamespaceFromID($_REQUEST['ens'], $pg) : $this->namespace;
91
92        $this->TOCMapWithoutTranslation = intval($_REQUEST['TOCMapWithoutTranslation']) == 1 ? true : false;
93
94        $this->defaultLang = empty($_REQUEST['defaultLang']) ? $conf['lang'] : $_REQUEST['defaultLang'];
95
96        // Strip params that should be forwarded
97        $this->additionalParameters = $_REQUEST;
98        $functions->removeWikiVariables($this->additionalParameters, true);
99    }
100}
101