1*7d101cc1SGerry Weißbach<?php 2*7d101cc1SGerry Weißbach 3*7d101cc1SGerry Weißbachif(!defined('DOKU_PLUGIN')) die('meh'); 4*7d101cc1SGerry Weißbachclass settings_plugin_siteexport_settings extends DokuWiki_Plugin 5*7d101cc1SGerry Weißbach{ 6*7d101cc1SGerry Weißbach var $fileType = 'html'; 7*7d101cc1SGerry Weißbach var $exportNamespace = ''; 8*7d101cc1SGerry Weißbach var $pattern = null; 9*7d101cc1SGerry Weißbach 10*7d101cc1SGerry Weißbach var $isCLI = false; 11*7d101cc1SGerry Weißbach 12*7d101cc1SGerry Weißbach var $depth = ''; 13*7d101cc1SGerry Weißbach 14*7d101cc1SGerry Weißbach var $zipFile = ''; 15*7d101cc1SGerry Weißbach// var $origEclipseZipFile = 'doc.zip'; 16*7d101cc1SGerry Weißbach// var $eclipseZipFile = ''; 17*7d101cc1SGerry Weißbach var $addParams = false; 18*7d101cc1SGerry Weißbach var $origZipFile = ''; 19*7d101cc1SGerry Weißbach var $downloadZipFile = ''; 20*7d101cc1SGerry Weißbach var $exportLinkedPages = false; 21*7d101cc1SGerry Weißbach var $additionalParameters = array(); 22*7d101cc1SGerry Weißbach var $isAuthed = false; 23*7d101cc1SGerry Weißbach 24*7d101cc1SGerry Weißbach var $TOCMapWithoutTranslation = false; 25*7d101cc1SGerry Weißbach 26*7d101cc1SGerry Weißbach var $hasValidCacheFile = false; 27*7d101cc1SGerry Weißbach 28*7d101cc1SGerry Weißbach var $useTOCFile = false; 29*7d101cc1SGerry Weißbach 30*7d101cc1SGerry Weißbach function settings_plugin_siteexport_settings($functions) { 31*7d101cc1SGerry Weißbach global $ID; 32*7d101cc1SGerry Weißbach 33*7d101cc1SGerry Weißbach if ( empty($_REQUEST['pattern']) ) 34*7d101cc1SGerry Weißbach { 35*7d101cc1SGerry Weißbach $params = $_REQUEST; 36*7d101cc1SGerry Weißbach $this->pattern = $functions->requestParametersToCacheHash($params); 37*7d101cc1SGerry Weißbach } else { 38*7d101cc1SGerry Weißbach // Set the pattern 39*7d101cc1SGerry Weißbach $this->pattern = $_REQUEST['pattern']; 40*7d101cc1SGerry Weißbach } 41*7d101cc1SGerry Weißbach 42*7d101cc1SGerry Weißbach $this->isCLI = (!$_SERVER['REMOTE_ADDR'] && 'cli' == php_sapi_name()); 43*7d101cc1SGerry Weißbach 44*7d101cc1SGerry Weißbach // Load Variables 45*7d101cc1SGerry Weißbach $this->origZipFile = $this->getConf('zipfilename'); 46*7d101cc1SGerry Weißbach 47*7d101cc1SGerry Weißbach // ID 48*7d101cc1SGerry Weißbach $this->downloadZipFile = $functions->getSpecialExportFileName($this->origZipFile, $this->pattern); 49*7d101cc1SGerry Weißbach // $this->eclipseZipFile = $functions->getSpecialExportFileName(getNS($this->origZipFile) . ':' . $this->origEclipseZipFile, $this->pattern); 50*7d101cc1SGerry Weißbach 51*7d101cc1SGerry Weißbach $this->zipFile = mediaFN($this->downloadZipFile); 52*7d101cc1SGerry Weißbach 53*7d101cc1SGerry Weißbach $this->tmpDir = mediaFN(getNS($this->origZipFile)); 54*7d101cc1SGerry Weißbach $this->exportLinkedPages = intval($_REQUEST['exportLinkedPages']) == 1 ? true : false; 55*7d101cc1SGerry Weißbach 56*7d101cc1SGerry Weißbach $this->namespace = $functions->getNamespaceFromID($_REQUEST['ns'], $PAGE); 57*7d101cc1SGerry Weißbach $this->addParams = !empty($_REQUEST['addParams']); 58*7d101cc1SGerry Weißbach 59*7d101cc1SGerry Weißbach $this->useTOCFile = !empty($_REQUEST['useTocFile']); 60*7d101cc1SGerry Weißbach 61*7d101cc1SGerry Weißbach // set export Namespace - which is a virtual Root 62*7d101cc1SGerry Weißbach $pg = noNS($ID); 63*7d101cc1SGerry Weißbach if ( empty( $this->namespace ) ) { $this->namespace = $functions->getNamespaceFromID(getNS($ID), $pg); } 64*7d101cc1SGerry Weißbach $this->exportNamespace = !empty($_REQUEST['ens']) && preg_match("%^" . $functions->getNamespaceFromID($_REQUEST['ens'], $pg) . "%", $this->namespace) ? $functions->getNamespaceFromID($_REQUEST['ens'], $pg) : $this->namespace; 65*7d101cc1SGerry Weißbach 66*7d101cc1SGerry Weißbach $this->TOCMapWithoutTranslation = intval($_REQUEST['TOCMapWithoutTranslation']) == 1 ? true : false; 67*7d101cc1SGerry Weißbach 68*7d101cc1SGerry Weißbach // Strip params that should be forwarded 69*7d101cc1SGerry Weißbach $this->additionalParameters = $_REQUEST; 70*7d101cc1SGerry Weißbach $functions->removeWikiVariables($this->additionalParameters, true); 71*7d101cc1SGerry Weißbach 72*7d101cc1SGerry Weißbach $tmpID = $ID; 73*7d101cc1SGerry Weißbach $ID = $this->origZipFile; 74*7d101cc1SGerry Weißbach 75*7d101cc1SGerry Weißbach $INFO = pageinfo(); 76*7d101cc1SGerry Weißbach if ( !$this->isCLI ) 77*7d101cc1SGerry Weißbach { 78*7d101cc1SGerry Weißbach // Workaround for the cron which cannot authenticate but has access to everything. 79*7d101cc1SGerry Weißbach if ( $INFO['perm'] < AUTH_DELETE ) { 80*7d101cc1SGerry Weißbach list ( $USER, $PASS) = $functions->basic_authentication(); 81*7d101cc1SGerry Weißbach auth_login($USER, $PASS); 82*7d101cc1SGerry Weißbach } 83*7d101cc1SGerry Weißbach } 84*7d101cc1SGerry Weißbach 85*7d101cc1SGerry Weißbach $ID = $tmpID; 86*7d101cc1SGerry Weißbach } 87*7d101cc1SGerry Weißbach} 88*7d101cc1SGerry Weißbach 89*7d101cc1SGerry Weißbach?>