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{ 6*d98cce67SGerry Weißbach public $fileType = 'html'; 7*d98cce67SGerry Weißbach public $exportNamespace = ''; 8*d98cce67SGerry Weißbach public $pattern = null; 97d101cc1SGerry Weißbach 10*d98cce67SGerry Weißbach public $isCLI = false; 117d101cc1SGerry Weißbach 12*d98cce67SGerry Weißbach public $depth = ''; 137d101cc1SGerry Weißbach 14*d98cce67SGerry Weißbach public $zipFile = ''; 15*d98cce67SGerry Weißbach// public $origEclipseZipFile = 'doc.zip'; 16*d98cce67SGerry Weißbach// public $eclipseZipFile = ''; 17*d98cce67SGerry Weißbach public $addParams = false; 18*d98cce67SGerry Weißbach public $origZipFile = ''; 19*d98cce67SGerry Weißbach public $downloadZipFile = ''; 20*d98cce67SGerry Weißbach public $exportLinkedPages = true; 21*d98cce67SGerry Weißbach public $additionalParameters = array(); 22*d98cce67SGerry Weißbach public $isAuthed = false; 237d101cc1SGerry Weißbach 24*d98cce67SGerry Weißbach public $TOCMapWithoutTranslation = false; 257d101cc1SGerry Weißbach 26*d98cce67SGerry Weißbach public $cachetime = 0; 27*d98cce67SGerry Weißbach public $hasValidCacheFile = false; 287d101cc1SGerry Weißbach 29*d98cce67SGerry Weißbach public $useTOCFile = false; 30*d98cce67SGerry Weißbach public $cookie = null; 317d101cc1SGerry Weißbach 32*d98cce67SGerry Weißbach public $ignoreNon200 = true; 33cb168401SGerry Weißbach 34*d98cce67SGerry Weißbach public $defaultLang = 'en'; 3513326eabSGerry Weißbach 360571ece2SScrutinizer Auto-Fixer /** 370571ece2SScrutinizer Auto-Fixer * @param siteexport_functions $functions 380571ece2SScrutinizer Auto-Fixer */ 39b324a190SMichael Hamann function __construct($functions) { 4013326eabSGerry Weißbach global $ID, $conf; 417d101cc1SGerry Weißbach 422270cdc5SGerry Weißbach $functions->debug->setDebugFile($this->getConf('debugFile')); 436792d0cfSGerry Weißbach if (!empty($_REQUEST['debug']) && intval($_REQUEST['debug']) >= 0 && intval($_REQUEST['debug']) <= 5) { 446792d0cfSGerry Weißbach $functions->debug->setDebugLevel(intval($_REQUEST['debug'])); 456792d0cfSGerry Weißbach } else 466792d0cfSGerry Weißbach { 476792d0cfSGerry Weißbach $functions->debug->setDebugLevel($this->getConf('debugLevel')); 486792d0cfSGerry Weißbach } 49c8022393SGerry Weißbach 50c8022393SGerry Weißbach $functions->debug->isAJAX = $this->getConf('ignoreAJAXError') ? false : $functions->debug->isAJAX; 512270cdc5SGerry Weißbach 527d101cc1SGerry Weißbach if (empty($_REQUEST['pattern'])) 537d101cc1SGerry Weißbach { 547d101cc1SGerry Weißbach $params = $_REQUEST; 557d101cc1SGerry Weißbach $this->pattern = $functions->requestParametersToCacheHash($params); 567d101cc1SGerry Weißbach } else { 577d101cc1SGerry Weißbach // Set the pattern 587d101cc1SGerry Weißbach $this->pattern = $_REQUEST['pattern']; 597d101cc1SGerry Weißbach } 607d101cc1SGerry Weißbach 617d101cc1SGerry Weißbach $this->isCLI = (!$_SERVER['REMOTE_ADDR'] && 'cli' == php_sapi_name()); 627d101cc1SGerry Weißbach 63f8fd18e7SGerry Weißbach $this->cachetime = $this->getConf('cachetime'); 64f8fd18e7SGerry Weißbach if ( !empty( $_REQUEST['disableCache'] ) ) { 65f8fd18e7SGerry Weißbach $this->cachetime = intval($_REQUEST['disableCache']) == 1 ? 0 : $this->cachetime; 66f8fd18e7SGerry Weißbach } 67f8fd18e7SGerry Weißbach 68*d98cce67SGerry Weißbach // Load variables 697d101cc1SGerry Weißbach $this->origZipFile = $this->getConf('zipfilename'); 707d101cc1SGerry Weißbach 71cb168401SGerry Weißbach $this->ignoreNon200 = $this->getConf('ignoreNon200'); 72cb168401SGerry Weißbach 737d101cc1SGerry Weißbach // ID 747d101cc1SGerry Weißbach $this->downloadZipFile = $functions->getSpecialExportFileName($this->origZipFile, $this->pattern); 757d101cc1SGerry Weißbach // $this->eclipseZipFile = $functions->getSpecialExportFileName(getNS($this->origZipFile) . ':' . $this->origEclipseZipFile, $this->pattern); 767d101cc1SGerry Weißbach 777d101cc1SGerry Weißbach $this->zipFile = mediaFN($this->downloadZipFile); 787d101cc1SGerry Weißbach 797d101cc1SGerry Weißbach $this->tmpDir = mediaFN(getNS($this->origZipFile)); 8035277e0dSGerry Weißbach $this->exportLinkedPages = !isset($_REQUEST['exportLinkedPages']) || intval($_REQUEST['exportLinkedPages']) == 1 ? true : false; 817d101cc1SGerry Weißbach 827d101cc1SGerry Weißbach $this->namespace = $functions->getNamespaceFromID($_REQUEST['ns'], $PAGE); 837d101cc1SGerry Weißbach $this->addParams = !empty($_REQUEST['addParams']); 847d101cc1SGerry Weißbach 857d101cc1SGerry Weißbach $this->useTOCFile = !empty($_REQUEST['useTocFile']); 867d101cc1SGerry Weißbach 877d101cc1SGerry Weißbach // set export Namespace - which is a virtual Root 887d101cc1SGerry Weißbach $pg = noNS($ID); 897d101cc1SGerry Weißbach if (empty($this->namespace)) { $this->namespace = $functions->getNamespaceFromID(getNS($ID), $pg); } 90774a858aSGerry Weißbach $this->exportNamespace = !empty($_REQUEST['ens']) && preg_match("%^" . preg_quote($functions->getNamespaceFromID($_REQUEST['ens'], $pg), '%') . "%", $this->namespace) ? $functions->getNamespaceFromID($_REQUEST['ens'], $pg) : $this->namespace; 917d101cc1SGerry Weißbach 927d101cc1SGerry Weißbach $this->TOCMapWithoutTranslation = intval($_REQUEST['TOCMapWithoutTranslation']) == 1 ? true : false; 937d101cc1SGerry Weißbach 9413326eabSGerry Weißbach $this->defaultLang = empty($_REQUEST['defaultLang']) ? $conf['lang'] : $_REQUEST['defaultLang']; 9513326eabSGerry Weißbach 967d101cc1SGerry Weißbach // Strip params that should be forwarded 977d101cc1SGerry Weißbach $this->additionalParameters = $_REQUEST; 987d101cc1SGerry Weißbach $functions->removeWikiVariables($this->additionalParameters, true); 997d101cc1SGerry Weißbach } 1007d101cc1SGerry Weißbach} 101