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 267d101cc1SGerry Weißbach var $hasValidCacheFile = false; 277d101cc1SGerry Weißbach 287d101cc1SGerry Weißbach var $useTOCFile = false; 29cb1f35bbSGerry Weißbach var $cookie = null; 307d101cc1SGerry Weißbach 31*cb168401SGerry Weißbach var $ignoreNon200 = true; 32*cb168401SGerry Weißbach 337d101cc1SGerry Weißbach function settings_plugin_siteexport_settings($functions) { 347d101cc1SGerry Weißbach global $ID; 357d101cc1SGerry Weißbach 367d101cc1SGerry Weißbach if ( empty($_REQUEST['pattern']) ) 377d101cc1SGerry Weißbach { 387d101cc1SGerry Weißbach $params = $_REQUEST; 397d101cc1SGerry Weißbach $this->pattern = $functions->requestParametersToCacheHash($params); 407d101cc1SGerry Weißbach } else { 417d101cc1SGerry Weißbach // Set the pattern 427d101cc1SGerry Weißbach $this->pattern = $_REQUEST['pattern']; 437d101cc1SGerry Weißbach } 447d101cc1SGerry Weißbach 457d101cc1SGerry Weißbach $this->isCLI = (!$_SERVER['REMOTE_ADDR'] && 'cli' == php_sapi_name()); 467d101cc1SGerry Weißbach 477d101cc1SGerry Weißbach // Load Variables 487d101cc1SGerry Weißbach $this->origZipFile = $this->getConf('zipfilename'); 497d101cc1SGerry Weißbach 50*cb168401SGerry Weißbach $this->ignoreNon200 = $this->getConf('ignoreNon200'); 51*cb168401SGerry Weißbach 527d101cc1SGerry Weißbach // ID 537d101cc1SGerry Weißbach $this->downloadZipFile = $functions->getSpecialExportFileName($this->origZipFile, $this->pattern); 547d101cc1SGerry Weißbach // $this->eclipseZipFile = $functions->getSpecialExportFileName(getNS($this->origZipFile) . ':' . $this->origEclipseZipFile, $this->pattern); 557d101cc1SGerry Weißbach 567d101cc1SGerry Weißbach $this->zipFile = mediaFN($this->downloadZipFile); 577d101cc1SGerry Weißbach 587d101cc1SGerry Weißbach $this->tmpDir = mediaFN(getNS($this->origZipFile)); 597d101cc1SGerry Weißbach $this->exportLinkedPages = intval($_REQUEST['exportLinkedPages']) == 1 ? true : false; 607d101cc1SGerry Weißbach 617d101cc1SGerry Weißbach $this->namespace = $functions->getNamespaceFromID($_REQUEST['ns'], $PAGE); 627d101cc1SGerry Weißbach $this->addParams = !empty($_REQUEST['addParams']); 637d101cc1SGerry Weißbach 647d101cc1SGerry Weißbach $this->useTOCFile = !empty($_REQUEST['useTocFile']); 657d101cc1SGerry Weißbach 667d101cc1SGerry Weißbach // set export Namespace - which is a virtual Root 677d101cc1SGerry Weißbach $pg = noNS($ID); 687d101cc1SGerry Weißbach if ( empty( $this->namespace ) ) { $this->namespace = $functions->getNamespaceFromID(getNS($ID), $pg); } 697d101cc1SGerry Weißbach $this->exportNamespace = !empty($_REQUEST['ens']) && preg_match("%^" . $functions->getNamespaceFromID($_REQUEST['ens'], $pg) . "%", $this->namespace) ? $functions->getNamespaceFromID($_REQUEST['ens'], $pg) : $this->namespace; 707d101cc1SGerry Weißbach 717d101cc1SGerry Weißbach $this->TOCMapWithoutTranslation = intval($_REQUEST['TOCMapWithoutTranslation']) == 1 ? true : false; 727d101cc1SGerry Weißbach 737d101cc1SGerry Weißbach // Strip params that should be forwarded 747d101cc1SGerry Weißbach $this->additionalParameters = $_REQUEST; 757d101cc1SGerry Weißbach $functions->removeWikiVariables($this->additionalParameters, true); 767d101cc1SGerry Weißbach 777d101cc1SGerry Weißbach $tmpID = $ID; 787d101cc1SGerry Weißbach $ID = $this->origZipFile; 797d101cc1SGerry Weißbach 807d101cc1SGerry Weißbach $INFO = pageinfo(); 817d101cc1SGerry Weißbach if ( !$this->isCLI ) 827d101cc1SGerry Weißbach { 837d101cc1SGerry Weißbach // Workaround for the cron which cannot authenticate but has access to everything. 847d101cc1SGerry Weißbach if ( $INFO['perm'] < AUTH_DELETE ) { 857d101cc1SGerry Weißbach list ( $USER, $PASS) = $functions->basic_authentication(); 867d101cc1SGerry Weißbach auth_login($USER, $PASS); 877d101cc1SGerry Weißbach } 887d101cc1SGerry Weißbach } 897d101cc1SGerry Weißbach 907d101cc1SGerry Weißbach $ID = $tmpID; 917d101cc1SGerry Weißbach } 927d101cc1SGerry Weißbach} 937d101cc1SGerry Weißbach 947d101cc1SGerry Weißbach?>