xref: /plugin/siteexport/inc/settings.php (revision 2270cdc59c0803fb408c865ed9de499978609655)
17d101cc1SGerry Weißbach<?php
27d101cc1SGerry Weißbach
37d101cc1SGerry Weißbachif(!defined('DOKU_PLUGIN')) die('meh');
47d101cc1SGerry Weißbachclass settings_plugin_siteexport_settings extends DokuWiki_Plugin
57d101cc1SGerry Weißbach{
67d101cc1SGerry Weißbach    var $fileType = 'html';
77d101cc1SGerry Weißbach    var $exportNamespace = '';
87d101cc1SGerry Weißbach    var $pattern = null;
97d101cc1SGerry Weißbach
107d101cc1SGerry Weißbach    var $isCLI = false;
117d101cc1SGerry Weißbach
127d101cc1SGerry Weißbach    var $depth = '';
137d101cc1SGerry Weißbach
147d101cc1SGerry Weißbach    var $zipFile = '';
157d101cc1SGerry Weißbach//    var $origEclipseZipFile = 'doc.zip';
167d101cc1SGerry Weißbach//    var $eclipseZipFile = '';
177d101cc1SGerry Weißbach    var $addParams = false;
187d101cc1SGerry Weißbach    var $origZipFile = '';
197d101cc1SGerry Weißbach    var $downloadZipFile = '';
207d101cc1SGerry Weißbach    var $exportLinkedPages = false;
217d101cc1SGerry Weißbach    var $additionalParameters = array();
227d101cc1SGerry Weißbach    var $isAuthed = false;
237d101cc1SGerry Weißbach
247d101cc1SGerry Weißbach    var $TOCMapWithoutTranslation = false;
257d101cc1SGerry Weißbach
26f8fd18e7SGerry Weißbach    var $cachetime = 0;
277d101cc1SGerry Weißbach    var $hasValidCacheFile = false;
287d101cc1SGerry Weißbach
297d101cc1SGerry Weißbach    var $useTOCFile = false;
30cb1f35bbSGerry Weißbach    var $cookie = null;
317d101cc1SGerry Weißbach
32cb168401SGerry Weißbach    var $ignoreNon200 = true;
33cb168401SGerry Weißbach
347d101cc1SGerry Weißbach    function settings_plugin_siteexport_settings($functions) {
357d101cc1SGerry Weißbach        global $ID;
367d101cc1SGerry Weißbach
37*2270cdc5SGerry Weißbach		$functions->debug->setDebugLevel($this->getConf('debugLevel'));
38*2270cdc5SGerry Weißbach        $functions->debug->setDebugFile ($this->getConf('debugFile'));
39*2270cdc5SGerry Weißbach
407d101cc1SGerry Weißbach        if ( empty($_REQUEST['pattern']) )
417d101cc1SGerry Weißbach        {
427d101cc1SGerry Weißbach            $params = $_REQUEST;
437d101cc1SGerry Weißbach            $this->pattern = $functions->requestParametersToCacheHash($params);
447d101cc1SGerry Weißbach        } else {
457d101cc1SGerry Weißbach            // Set the pattern
467d101cc1SGerry Weißbach            $this->pattern = $_REQUEST['pattern'];
477d101cc1SGerry Weißbach        }
487d101cc1SGerry Weißbach
497d101cc1SGerry Weißbach        $this->isCLI = (!$_SERVER['REMOTE_ADDR'] && 'cli' == php_sapi_name());
507d101cc1SGerry Weißbach
51f8fd18e7SGerry Weißbach        $this->cachetime = $this->getConf('cachetime');
52f8fd18e7SGerry Weißbach        if ( !empty( $_REQUEST['disableCache'] ) ) {
53f8fd18e7SGerry Weißbach	        $this->cachetime = intval($_REQUEST['disableCache']) == 1 ? 0 : $this->cachetime;
54f8fd18e7SGerry Weißbach        }
55f8fd18e7SGerry Weißbach
567d101cc1SGerry Weißbach        // Load Variables
577d101cc1SGerry Weißbach        $this->origZipFile = $this->getConf('zipfilename');
587d101cc1SGerry Weißbach
59cb168401SGerry Weißbach        $this->ignoreNon200 = $this->getConf('ignoreNon200');
60cb168401SGerry Weißbach
617d101cc1SGerry Weißbach        // ID
627d101cc1SGerry Weißbach        $this->downloadZipFile = $functions->getSpecialExportFileName($this->origZipFile, $this->pattern);
637d101cc1SGerry Weißbach        //        $this->eclipseZipFile = $functions->getSpecialExportFileName(getNS($this->origZipFile) . ':' . $this->origEclipseZipFile, $this->pattern);
647d101cc1SGerry Weißbach
657d101cc1SGerry Weißbach        $this->zipFile = mediaFN($this->downloadZipFile);
667d101cc1SGerry Weißbach
677d101cc1SGerry Weißbach        $this->tmpDir = mediaFN(getNS($this->origZipFile));
687d101cc1SGerry Weißbach        $this->exportLinkedPages = intval($_REQUEST['exportLinkedPages']) == 1 ? true : false;
697d101cc1SGerry Weißbach
707d101cc1SGerry Weißbach        $this->namespace = $functions->getNamespaceFromID($_REQUEST['ns'], $PAGE);
717d101cc1SGerry Weißbach        $this->addParams = !empty($_REQUEST['addParams']);
727d101cc1SGerry Weißbach
737d101cc1SGerry Weißbach        $this->useTOCFile = !empty($_REQUEST['useTocFile']);
747d101cc1SGerry Weißbach
757d101cc1SGerry Weißbach        // set export Namespace - which is a virtual Root
767d101cc1SGerry Weißbach        $pg = noNS($ID);
777d101cc1SGerry Weißbach        if ( empty( $this->namespace ) ) { $this->namespace = $functions->getNamespaceFromID(getNS($ID), $pg); }
787d101cc1SGerry Weißbach        $this->exportNamespace = !empty($_REQUEST['ens']) && preg_match("%^" . $functions->getNamespaceFromID($_REQUEST['ens'], $pg) . "%", $this->namespace) ? $functions->getNamespaceFromID($_REQUEST['ens'], $pg) : $this->namespace;
797d101cc1SGerry Weißbach
807d101cc1SGerry Weißbach        $this->TOCMapWithoutTranslation = intval($_REQUEST['TOCMapWithoutTranslation']) == 1 ? true : false;
817d101cc1SGerry Weißbach
827d101cc1SGerry Weißbach        // Strip params that should be forwarded
837d101cc1SGerry Weißbach        $this->additionalParameters = $_REQUEST;
847d101cc1SGerry Weißbach        $functions->removeWikiVariables($this->additionalParameters, true);
857d101cc1SGerry Weißbach
867d101cc1SGerry Weißbach        $tmpID = $ID;
877d101cc1SGerry Weißbach        $ID = $this->origZipFile;
887d101cc1SGerry Weißbach
897d101cc1SGerry Weißbach        $INFO = pageinfo();
907d101cc1SGerry Weißbach        if ( !$this->isCLI )
917d101cc1SGerry Weißbach        {
927d101cc1SGerry Weißbach            // Workaround for the cron which cannot authenticate but has access to everything.
937d101cc1SGerry Weißbach            if ( $INFO['perm'] < AUTH_DELETE ) {
947d101cc1SGerry Weißbach                list ( $USER, $PASS) = $functions->basic_authentication();
957d101cc1SGerry Weißbach                auth_login($USER, $PASS);
967d101cc1SGerry Weißbach            }
977d101cc1SGerry Weißbach        }
987d101cc1SGerry Weißbach
997d101cc1SGerry Weißbach        $ID = $tmpID;
1007d101cc1SGerry Weißbach    }
1017d101cc1SGerry Weißbach}
1027d101cc1SGerry Weißbach
1037d101cc1SGerry Weißbach?>