xref: /plugin/siteexport/helper.php (revision fd3853649937bf44ced6193f1cf7e968ddbb52d8)
17d101cc1SGerry Weißbach<?php
27d101cc1SGerry Weißbach/**
37d101cc1SGerry Weißbach * Translation Plugin: Simple multilanguage plugin
47d101cc1SGerry Weißbach *
57d101cc1SGerry Weißbach * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
67d101cc1SGerry Weißbach * @author     Andreas Gohr <andi@splitbrain.org>
77d101cc1SGerry Weißbach */
87d101cc1SGerry Weißbach
97d101cc1SGerry Weißbach// must be run within Dokuwiki
107d101cc1SGerry Weißbachif(!defined('DOKU_INC')) die();
117d101cc1SGerry Weißbach
12*fd385364SGerry Weißbach
13*fd385364SGerry Weißbachclass helper_plugin_siteexport_page_remove {
14*fd385364SGerry Weißbach    private $newerThanPage;
15*fd385364SGerry Weißbach
16*fd385364SGerry Weißbach    function __construct($newerThanPage) {
17*fd385364SGerry Weißbach            $this->newerThanPage = $newerThanPage;
18*fd385364SGerry Weißbach    }
19*fd385364SGerry Weißbach
20*fd385364SGerry Weißbach    function _page_remove($elem) {
21*fd385364SGerry Weißbach    	return $elem[2] >= $this->newerThanPage;
22*fd385364SGerry Weißbach    }
23*fd385364SGerry Weißbach}
24*fd385364SGerry Weißbach
257d101cc1SGerry Weißbachclass helper_plugin_siteexport extends DokuWiki_Plugin {
267d101cc1SGerry Weißbach
277d101cc1SGerry Weißbach	/**
287d101cc1SGerry Weißbach	 * for backward compatability
297d101cc1SGerry Weißbach	 * @see inc/DokuWiki_Plugin#getInfo()
307d101cc1SGerry Weißbach	 */
317d101cc1SGerry Weißbach    function getInfo(){
327d101cc1SGerry Weißbach        if ( method_exists(parent, 'getInfo')) {
337d101cc1SGerry Weißbach            $info = parent::getInfo();
347d101cc1SGerry Weißbach        }
357d101cc1SGerry Weißbach        return is_array($info) ? $info : confToHash(dirname(__FILE__).'/plugin.info.txt');
367d101cc1SGerry Weißbach    }
377d101cc1SGerry Weißbach
387d101cc1SGerry Weißbach    /*
397d101cc1SGerry Weißbach     * return all the templates that this wiki has
407d101cc1SGerry Weißbach     */
417d101cc1SGerry Weißbach	function __getTemplates() {
427d101cc1SGerry Weißbach
437d101cc1SGerry Weißbach		// populate $this->_choices with a list of directories
447d101cc1SGerry Weißbach		$list = array();
457d101cc1SGerry Weißbach
467d101cc1SGerry Weißbach		$_dir = DOKU_INC . 'lib/tpl/';
477d101cc1SGerry Weißbach		$_pattern = '/^[\w-]+$/';
487d101cc1SGerry Weißbach		if ($dh = @opendir($_dir)) {
497d101cc1SGerry Weißbach			while (false !== ($entry = readdir($dh))) {
507d101cc1SGerry Weißbach				if ($entry == '.' || $entry == '..') continue;
517d101cc1SGerry Weißbach				if ($entry == '.' || $entry == '..') continue;
527d101cc1SGerry Weißbach				if ($_pattern && !preg_match($_pattern,$entry)) continue;
537d101cc1SGerry Weißbach
547d101cc1SGerry Weißbach				$file = (is_link($_dir.$entry)) ? readlink($_dir.$entry) : $entry;
557d101cc1SGerry Weißbach				if (is_dir($_dir.$file)) $list[] = $entry;
567d101cc1SGerry Weißbach			}
577d101cc1SGerry Weißbach			closedir($dh);
587d101cc1SGerry Weißbach		}
597d101cc1SGerry Weißbach
607d101cc1SGerry Weißbach
617d101cc1SGerry Weißbach		sort($list);
627d101cc1SGerry Weißbach		return $list;
637d101cc1SGerry Weißbach	}
647d101cc1SGerry Weißbach
657d101cc1SGerry Weißbach	/*
667d101cc1SGerry Weißbach	 * Return array list of plugins that exist
677d101cc1SGerry Weißbach	 */
687d101cc1SGerry Weißbach	function __getPluginList() {
697d101cc1SGerry Weißbach	    global $plugin_controller;
707d101cc1SGerry Weißbach
717d101cc1SGerry Weißbach	    $allPlugins = array();
727842d330SGerry Weißbach	    foreach($plugin_controller->getList(null,true) as $plugin ) { // All plugins
737d101cc1SGerry Weißbach	    	// check for CSS or JS
747842d330SGerry Weißbach	    	if ( !file_exists(DOKU_PLUGIN."$plugin/script.js") && !file_exists(DOKU_PLUGIN."$plugin/style.css") && !file_exists(DOKU_PLUGIN."$plugin/print.css") ) { continue; }
757d101cc1SGerry Weißbach	    	$allPlugins[] = $plugin;
767d101cc1SGerry Weißbach	    }
777d101cc1SGerry Weißbach
787d101cc1SGerry Weißbach    	return array($allPlugins, $plugin_controller->getList());
797d101cc1SGerry Weißbach	}
8095c3174fSGerry Weißbach
81*fd385364SGerry Weißbach    private function _page_sort($a, $b)
82*fd385364SGerry Weißbach    {
83*fd385364SGerry Weißbach	    if ( $a[2] == $b[2] ) {
84*fd385364SGerry Weißbach		    return 0;
85*fd385364SGerry Weißbach	    }
86*fd385364SGerry Weißbach
87*fd385364SGerry Weißbach	    return $a[2] > $b[2] ? -1 : 1;
88*fd385364SGerry Weißbach    }
89*fd385364SGerry Weißbach
90*fd385364SGerry Weißbach    function __getOrderedListOfPagesForID($ID, $newerThanPage=null)
91*fd385364SGerry Weißbach	{
92*fd385364SGerry Weißbach		global $conf;
93*fd385364SGerry Weißbach		require_once(dirname(__FILE__)."/inc/functions.php");
94*fd385364SGerry Weißbach		$functions = new siteexport_functions(false);
95*fd385364SGerry Weißbach
96*fd385364SGerry Weißbach        $sites = $values = array();
97*fd385364SGerry Weißbach        $page = null;
98*fd385364SGerry Weißbach		search($sites, $conf['datadir'], 'search_allpages', array(), $functions->getNamespaceFromID($ID, $page));
99*fd385364SGerry Weißbach
100*fd385364SGerry Weißbach        foreach( $sites as $site ) {
101*fd385364SGerry Weißbach
102*fd385364SGerry Weißbach        	if ( $ID == $site['id'] ) continue;
103*fd385364SGerry Weißbach        	$sortIdentifier = intval(p_get_metadata($site['id'], 'mergecompare'));
104*fd385364SGerry Weißbach
105*fd385364SGerry Weißbach        	if ( $site['id'] == $newerThanPage ) {
106*fd385364SGerry Weißbach        		// If the ID matches a given page we use the sortidentifier for filtering
107*fd385364SGerry Weißbach	        	$newerThanPage = $sortIdentifier;
108*fd385364SGerry Weißbach        	}
109*fd385364SGerry Weißbach
110*fd385364SGerry Weißbach            array_push($values, array($site['id'], $functions->getSiteTitle($site['id']), $sortIdentifier));
111*fd385364SGerry Weißbach        }
112*fd385364SGerry Weißbach
113*fd385364SGerry Weißbach        if ( $newerThanPage != null ) {
114*fd385364SGerry Weißbach        	// filter using the newerThanPage indicator
115*fd385364SGerry Weißbach	        $values = array_filter($values, array(new helper_plugin_siteexport_page_remove($newerThanPage), '_page_remove'));
116*fd385364SGerry Weißbach        }
117*fd385364SGerry Weißbach
118*fd385364SGerry Weißbach        usort($values, array($this, '_page_sort'));
119*fd385364SGerry Weißbach
120*fd385364SGerry Weißbach        return $values;
121*fd385364SGerry Weißbach	}
122*fd385364SGerry Weißbach
12395c3174fSGerry Weißbach	function __siteexport_addpage() {
12495c3174fSGerry Weißbach
12595c3174fSGerry Weißbach        global $ID, $conf;
12695c3174fSGerry Weißbach
12795c3174fSGerry Weißbach	    $templateSwitching = false;
12895c3174fSGerry Weißbach	    $pdfExport = false;
12995c3174fSGerry Weißbach	    $usenumberedheading = false;
13095c3174fSGerry Weißbach	    $cronEnabled = false;
13195c3174fSGerry Weißbach	    $translationAvailable = false;
13295c3174fSGerry Weißbach	    $usenumberedheading = true;
13395c3174fSGerry Weißbach
13495c3174fSGerry Weißbach        if ( $functions=& plugin_load('preload', 'siteexport') && $functions->__create_preload_function() ) {
13595c3174fSGerry Weißbach            $templateSwitching = true;
13695c3174fSGerry Weißbach        }
13795c3174fSGerry Weißbach
13895c3174fSGerry Weißbach        if ( $functions =& plugin_load('action', 'dw2pdf' ) ) {
13995c3174fSGerry Weißbach            $pdfExport = true;
14095c3174fSGerry Weißbach        }
14195c3174fSGerry Weißbach
14295c3174fSGerry Weißbach        // if ( $functions =& plugin_load('renderer', 'nodetailsxhtml' ) ) {
14395c3174fSGerry Weißbach        // }
14495c3174fSGerry Weißbach
14595c3174fSGerry Weißbach        if ( $functions =& plugin_load('cron', 'siteexport' ) ) {
14695c3174fSGerry Weißbach            $cronEnabled = $functions->canWriteSettings();
14795c3174fSGerry Weißbach        }
14895c3174fSGerry Weißbach
14995c3174fSGerry Weißbach        if ( $functions =& plugin_load('helper', 'translation' ) ) {
15095c3174fSGerry Weißbach            $translationAvailable = true;
15195c3174fSGerry Weißbach        }
15295c3174fSGerry Weißbach
15395c3174fSGerry Weißbach        $regenerateScript = '';
154*fd385364SGerry Weißbach        print $this->locale_xhtml(( defined('DOKU_SITEEXPORT_MANAGER') ? 'manager' : '') . 'intro');
15595c3174fSGerry Weißbach
15695c3174fSGerry Weißbach        $form = new Doku_Form('siteexport', null, 'post');
15795c3174fSGerry Weißbach        $form->startFieldset( $this->getLang('startingNamespace') );
15895c3174fSGerry Weißbach
15995c3174fSGerry Weißbach        $form->addElement(form_makeTextField('ns', $ID, $this->getLang('ns') . ':', 'ns'));
16095c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
16195c3174fSGerry Weißbach        $form->addElement(form_makeTextField('ens', $ID, $this->getLang('ens') . ':', 'ens'));
16295c3174fSGerry Weißbach
16395c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
16495c3174fSGerry Weißbach        $form->addElement(form_makeListboxField('depthType', array( "0.0" => $this->getLang('depth.pageOnly'), "1.0" => $this->getLang('depth.allSubNameSpaces'), "2.0" => $this->getLang('depth.specifiedDepth') ), (empty($_REQUEST['depthType']) ? $this->getLang('depth.allSubNameSpaces') : $_REQUEST['depthType']), $this->getLang('depthType') . ':', 'depthType', null, array_merge(array('class' => 'edit'))));
16595c3174fSGerry Weißbach
16695c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
16795c3174fSGerry Weißbach        $form->addElement(form_makeOpenTag("div", array('style' => 'display:' . ($_REQUEST['depthType'] == "2" ? "block" : "none") . ';', 'id' => 'depthContainer')));
16895c3174fSGerry Weißbach        $form->addElement(form_makeTextField('depth', $this->getConf('depth'), $this->getLang('depth') . ':', 'depth'));
16995c3174fSGerry Weißbach        $form->addElement(form_makeCloseTag("div"));
17095c3174fSGerry Weißbach
17195c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
17295c3174fSGerry Weißbach        $form->addElement(form_makeOpenTag("div", array('style' => 'display:none;', 'id' => 'depthContainer')));
17395c3174fSGerry Weißbach        $form->addElement(form_makeCheckboxField('exportLinkedPages', 1, $this->getLang('exportLinkedPages') . ':', 'exportLinkedPages'));
17495c3174fSGerry Weißbach        $form->addElement(form_makeCloseTag("div"));
17595c3174fSGerry Weißbach
17695c3174fSGerry Weißbach        $form->endFieldset();
17795c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
17895c3174fSGerry Weißbach
17995c3174fSGerry Weißbach        $form->startFieldset( $this->getLang('selectYourOptions') );
18095c3174fSGerry Weißbach        $form->addElement(form_makeCheckboxField('absolutePath', 1, $this->getLang('absolutePath') . ':', 'absolutePath'));
18195c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
18295c3174fSGerry Weißbach        $form->addElement(form_makeCheckboxField('exportBody', 1, $this->getLang('exportBody') . ':', 'exportBody'));
18395c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
18495c3174fSGerry Weißbach        $form->addElement(form_makeCheckboxField('disableCache', 1, $this->getLang('disableCache') . ':', 'disableCache'));
18595c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
18695c3174fSGerry Weißbach        $form->addElement(form_makeCheckboxField('addParams', 1, $this->getLang('addParams') . ':', 'addParams', null, array_merge(array('checked' => ($conf['userewrite'] != 1 ? 'checked' : '' ) ))));
18795c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
18895c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
18995c3174fSGerry Weißbach        $form->addElement(form_makeListboxField('renderer', array_merge(array('','xhtml'), plugin_list('renderer')), '', $this->getLang('renderer') . ':', 'renderer', null, array_merge(array('class' => 'edit'))));
19095c3174fSGerry Weißbach
19195c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
19295c3174fSGerry Weißbach        if ( $templateSwitching ) {
19395c3174fSGerry Weißbach            $form->addElement(form_makeListboxField('template', $this->__getTemplates(), $conf['template'], $this->getLang('template') . ':', 'template', null, array_merge(array('class' => 'edit'))));
19495c3174fSGerry Weißbach            $form->addElement(form_makeTag('br'));
19595c3174fSGerry Weißbach        } else
19695c3174fSGerry Weißbach        {
19795c3174fSGerry Weißbach            $form->addElement(form_makeTag('br'));
19895c3174fSGerry Weißbach            $form->addElement(form_makeOpenTag('p', array('style' => 'color: #a00;' )));
19995c3174fSGerry Weißbach            $form->addElement('Can\'t create preload file in \'inc\' directory. Template switching is not available. Plugin disabling is not available.');
20095c3174fSGerry Weißbach            $form->addElement(form_makeCloseTag('p'));
20195c3174fSGerry Weißbach        }
20295c3174fSGerry Weißbach
20395c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
20495c3174fSGerry Weißbach        $form->addElement(form_makeCheckboxField('pdfExport', 1, $this->getLang('pdfExport') . ':', 'pdfExport', null, $pdfExport ? array() : array_merge(array('disabled' => 'disabled')) ));
20595c3174fSGerry Weißbach        if ( !$pdfExport ) {
20695c3174fSGerry Weißbach            $form->addElement(form_makeOpenTag('p', array('style' => 'color: #a00;' )));
20795c3174fSGerry Weißbach            $form->addElement('In order to use the PDF export, please ');
20895c3174fSGerry Weißbach            $form->addElement(form_makeOpenTag('a', array('href' => 'http://www.dokuwiki.org/plugin:dw2pdf', 'alt' => 'install plugin', 'target' => '_blank')));
20995c3174fSGerry Weißbach            $form->addElement('install the dw2pdf plugin.');
21095c3174fSGerry Weißbach            $form->addElement(form_makeCloseTag('a'));
21195c3174fSGerry Weißbach            $form->addElement(form_makeCloseTag('p'));
21295c3174fSGerry Weißbach        }
21395c3174fSGerry Weißbach
21495c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
21595c3174fSGerry Weißbach        $form->addElement(form_makeCheckboxField('usenumberedheading', 1, $this->getLang('usenumberedheading') . ':', 'usenumberedheading', null, $usenumberedheading && $pdfExport ? array() : array_merge(array('disabled' => 'disabled')) ));
21695c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
21795c3174fSGerry Weißbach
21895c3174fSGerry Weißbach        if ( !$usenumberedheading ) {
21995c3174fSGerry Weißbach            $form->addElement(form_makeOpenTag('p', array('style' => 'color: #a00;' )));
22095c3174fSGerry Weißbach            $form->addElement('In order to use numbered headings, please ');
22195c3174fSGerry Weißbach            $form->addElement(form_makeOpenTag('a', array('href' => 'http://www.dokuwiki.org/plugin:nodetailsxhtml', 'alt' => 'install plugin', 'target' => '_blank')));
22295c3174fSGerry Weißbach            $form->addElement('install the nodetailsxhtml plugin.');
22395c3174fSGerry Weißbach            $form->addElement(form_makeCloseTag('a'));
22495c3174fSGerry Weißbach            $form->addElement(form_makeCloseTag('p'));
22595c3174fSGerry Weißbach        }
22695c3174fSGerry Weißbach
22795c3174fSGerry Weißbach        $form->endFieldset();
22895c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
22995c3174fSGerry Weißbach
23095c3174fSGerry Weißbach        $form->startFieldset( $this->getLang('helpCreationOptions') );
23195c3174fSGerry Weißbach        $form->addElement(form_makeCheckboxField('eclipseDocZip', 1, $this->getLang('eclipseDocZip') . ':', 'eclipseDocZip'));
23295c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
23395c3174fSGerry Weißbach        $form->addElement(form_makeCheckboxField('JavaHelpDocZip', 1, $this->getLang('JavaHelpDocZip') . ':', 'JavaHelpDocZip'));
23495c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
23595c3174fSGerry Weißbach        $form->addElement(form_makeCheckboxField('useTocFile', 1, $this->getLang('useTocFile') . ':', 'useTocFile'));
23695c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
23795c3174fSGerry Weißbach        $form->addElement(form_makeCheckboxField('emptyTocElem', 1, $this->getLang('emptyTocElem') . ':', 'emptyTocElem'));
23895c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
23995c3174fSGerry Weißbach        if ( !$translationAvailable ) {
24095c3174fSGerry Weißbach            $form->addElement(form_makeCheckboxField('TOCMapWithoutTranslation', 1, $this->getLang('TOCMapWithoutTranslation') . ':', 'TOCMapWithoutTranslation'));
24195c3174fSGerry Weißbach            $form->addElement(form_makeTag('br'));
24295c3174fSGerry Weißbach        }
24395c3174fSGerry Weißbach        $form->endFieldset();
24495c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
24595c3174fSGerry Weißbach
24695c3174fSGerry Weißbach        if ( $templateSwitching )
24795c3174fSGerry Weißbach        {
24895c3174fSGerry Weißbach            $form->startFieldset( $this->getLang('disablePluginsOption') );
24995c3174fSGerry Weißbach
25095c3174fSGerry Weißbach            $form->addElement(form_makeCheckboxField("disableall", 1, 'Disable All:', "disableall", 'forceVisible'));
25195c3174fSGerry Weißbach            $form->addElement(form_makeTag('br'));
25295c3174fSGerry Weißbach            $form->addElement(form_makeTag('br'));
25395c3174fSGerry Weißbach
25495c3174fSGerry Weißbach            list($allPlugins, $enabledPlugins) = $this->__getPluginList();
25595c3174fSGerry Weißbach            foreach ( $allPlugins as $plugin ) {
25695c3174fSGerry Weißbach                $form->addElement(form_makeCheckboxField("disableplugin[]", $plugin, $plugin . ':', "disableplugin_$plugin", null, (!in_array($plugin, $enabledPlugins) ? array('checked' => 'checked', 'disabled' => 'disabled') : array() )));
25795c3174fSGerry Weißbach                $form->addElement(form_makeTag('br'));
25895c3174fSGerry Weißbach            }
25995c3174fSGerry Weißbach
26095c3174fSGerry Weißbach            $form->endFieldset();
26195c3174fSGerry Weißbach            $form->addElement(form_makeTag('br'));
26295c3174fSGerry Weißbach        }
26395c3174fSGerry Weißbach
26495c3174fSGerry Weißbach        $form->startFieldset( $this->getLang('customOptions') );
26595c3174fSGerry Weißbach        $form->addElement(form_makeOpenTag('p'));
26695c3174fSGerry Weißbach        $form->addElement( $this->getLang('customOptionsDescription') );
26795c3174fSGerry Weißbach        $form->addElement(form_makeCloseTag('p'));
26895c3174fSGerry Weißbach
26995c3174fSGerry Weißbach        $form->addElement(form_makeOpenTag('ul', array('id' => 'siteexport__customActions')));
27095c3174fSGerry Weißbach        $form->addElement(form_makeCloseTag('ul'));
27195c3174fSGerry Weißbach        $form->addElement(form_makeTag('br', array('class'=>'clear')));
27295c3174fSGerry Weißbach        $form->addElement(form_makeButton('submit', 'addoption', $this->getLang('addCustomOption') , array('style' => 'float:right;') ));
27395c3174fSGerry Weißbach
27495c3174fSGerry Weißbach        $form->endFieldset();
27595c3174fSGerry Weißbach        $form->addElement(form_makeTag('br'));
27695c3174fSGerry Weißbach
277*fd385364SGerry Weißbach		if ( !defined('DOKU_SITEEXPORT_MANAGER') ) {
27895c3174fSGerry Weißbach
279*fd385364SGerry Weißbach
280*fd385364SGerry Weißbach	        $form->startFieldset( $this->getLang('startProcess') );
28195c3174fSGerry Weißbach	        $form->addElement(form_makeTextField('copyurl', "", $this->getLang('directDownloadLink') . ':', 'copyurl', null, array('readonly' => 'readonly') ));
28295c3174fSGerry Weißbach	        $form->addElement(form_makeTag('br'));
28395c3174fSGerry Weißbach	        $form->addElement(form_makeTextField('wgeturl', "", $this->getLang('wgetURLLink') . ':', 'wgeturl', null, array('readonly' => 'readonly') ));
28495c3174fSGerry Weißbach	        $form->addElement(form_makeTag('br'));
28595c3174fSGerry Weißbach	        $form->addElement(form_makeTextField('curlurl', "", $this->getLang('curlURLLink') . ':', 'curlurl', null, array('readonly' => 'readonly') ));
28695c3174fSGerry Weißbach	        $form->addElement(form_makeTag('br', array('class'=>'clear')));
28795c3174fSGerry Weißbach	        $form->addElement(form_makeButton('submit', 'siteexport', $this->getLang('start') , array('style' => 'float:right;')));
28895c3174fSGerry Weißbach	        $form->endFieldset();
28995c3174fSGerry Weißbach	        $form->addElement(form_makeTag('br'));
29095c3174fSGerry Weißbach
291*fd385364SGerry Weißbach	        $form->endFieldset();
292*fd385364SGerry Weißbach			$form->addElement(form_makeTag('br'));
293*fd385364SGerry Weißbach
29495c3174fSGerry Weißbach	        $form->startFieldset( $this->getLang('status') );
29595c3174fSGerry Weißbach	        $form->addElement(form_makeOpenTag('span', array('id' => 'siteexport__out')));
29695c3174fSGerry Weißbach
29795c3174fSGerry Weißbach	        $form->addElement(form_makeCloseTag('span'));
29895c3174fSGerry Weißbach	        $form->addElement(form_makeOpenTag('span', array('class' => 'siteexport__throbber')));
29995c3174fSGerry Weißbach	        $form->addElement(form_makeTag('img', array('src' => DOKU_BASE.'lib/images/loading.gif', 'id' => 'siteexport__throbber')));
30095c3174fSGerry Weißbach	        $form->addElement(form_makeCloseTag('span'));
30195c3174fSGerry Weißbach	        $form->endFieldset();
30295c3174fSGerry Weißbach	        $form->addElement(form_makeTag('br'));
30395c3174fSGerry Weißbach
30495c3174fSGerry Weißbach	        if ( $cronEnabled )
30595c3174fSGerry Weißbach	        {
30695c3174fSGerry Weißbach	            $form->startFieldset( $this->getLang('cronSaveProcess') );
30795c3174fSGerry Weißbach	            $form->addElement(form_makeOpenTag('p'));
30895c3174fSGerry Weißbach	            $form->addElement( $this->getLang('cronDescription') );
30995c3174fSGerry Weißbach	            $form->addElement(form_makeCloseTag('p'));
31095c3174fSGerry Weißbach
31195c3174fSGerry Weißbach	            $form->addElement(form_makeCheckboxField("cronOverwriteExisting", 1, $this->getLang('canOverwriteExisting'), "cronOverwriteExisting"));
31295c3174fSGerry Weißbach	            $form->addElement(form_makeTag('br', array('class'=>'clear')));
31395c3174fSGerry Weißbach	            $form->addElement(form_makeButton('submit', 'cronDeleteAction', $this->getLang('cronDeleteAction') , array('id' => 'cronDeleteAction', 'style' => 'float:left;display:none') ));
31495c3174fSGerry Weißbach	            $form->addElement(form_makeButton('submit', 'cronSaveAction', $this->getLang('cronSaveAction') , array('id' => 'cronSaveAction', 'style' => 'float:right;') ));
31595c3174fSGerry Weißbach	            $form->addElement(form_makeTag('br', array('class'=>'clear')));
31695c3174fSGerry Weißbach
31795c3174fSGerry Weißbach	            $form->addElement(form_makeOpenTag('a', array('href' => '#cronactions', 'alt' => 'show cron jobs', 'id' => 'showcronjobs', 'target' => '_blank', 'style' => 'float:right;')));
31895c3174fSGerry Weißbach	            $form->addElement('show all cron jobs');
31995c3174fSGerry Weißbach	            $form->addElement(form_makeCloseTag('a'));
320*fd385364SGerry Weißbach	        }
321*fd385364SGerry Weißbach
322*fd385364SGerry Weißbach		} else {
323*fd385364SGerry Weißbach	        $form->startFieldset( $this->getLang('startProcess') );
324*fd385364SGerry Weißbach	        $form->addElement(form_makeButton('submit', 'siteexport', $this->getLang('useOptionsInEditor') , array('style' => 'width:100%;')));
325*fd385364SGerry Weißbach		}
32695c3174fSGerry Weißbach
32795c3174fSGerry Weißbach        $form->endFieldset();
328*fd385364SGerry Weißbach        $form->addElement(form_makeTag('br'));
32995c3174fSGerry Weißbach
33095c3174fSGerry Weißbach        $form->printForm();
33195c3174fSGerry Weißbach	}
3327d101cc1SGerry Weißbach}
333