1 <?php 2 define("DOKU_INC", realpath(dirname(__FILE__).'/../../../../') . '/'); 3 define ("DOKU_PLUGIN", DOKU_INC . 'lib/plugins/'); 4 define("PAGES", DOKU_INC . 'data/pages/'); 5 define("FCKEDITOR", DOKU_PLUGIN . 'ckgedit/fckeditor/editor/'); 6 define('CONNECTOR', FCKEDITOR . 'filemanager/connectors/php/'); 7 require_once(CONNECTOR . 'check_acl.php'); 8 if(file_exists(DOKU_INC.'inc/Input.class.php')) { 9 require_once(DOKU_INC.'inc/Input.class.php'); 10 } 11 else { 12 require_once(DOKU_PLUGIN . 'ckgedit/fckeditor/editor/filemanager/connectors/php/Input.class.php'); 13 } 14 require_once(CONNECTOR . 'SafeFN.class.php'); 15 global $dwfck_conf; 16 global $Dwfck_conf_values; 17 $INPUT = new Input(); 18 $page = $INPUT->str('dw_id'); 19 $page = ltrim($page, ':'); 20 21 $dwfck_conf = doku_config_values(); // needed for cleanID 22 $Dwfck_conf_values = $dwfck_conf; 23 $page = str_replace(':', '/',$page); 24 $page = dwiki_encodeFN($page); 25 26 if(!empty($Dwfck_conf_values['ckg_savedir'])) { 27 if (stristr(PHP_OS, 'WIN')) { 28 $path = realpath(DOKU_INC . $Dwfck_conf_values['ckg_savedir']); 29 $path .= '/pages/' . $page . '.txt'; 30 } 31 else $path = $Dwfck_conf_values['ckg_savedir'] . '/pages/' . $page . '.txt'; 32 } 33 else $path = PAGES . $page . '.txt'; 34 35 $resp = ""; 36 $headers = array(); 37 $lines = file($path); 38 39 foreach ($lines as $line) { 40 if (preg_match('/^=+([^=]+)=+\s*$/',$line,$matches)) { 41 $suffix_anchor = ""; 42 $suffix_header = ""; 43 if(isset($headers[$matches[1]])) { 44 $headers[$matches[1]]++; 45 $suffix_anchor = $headers[$matches[1]]; 46 $suffix_header = " [$suffix_anchor]"; 47 } 48 else { 49 $headers[$matches[1]]=0; 50 } 51 52 $resp .= trim($matches[1]) . $suffix_header . ";;" ; 53 $resp .= cleanID($matches[1]). $suffix_anchor . "@@" ; 54 } 55 56 } 57 58 $resp = rtrim($resp,'@'); 59 echo rawurlencode($resp); 60 //file_put_contents('ajax-resp.txt', "dw_id=" . $_REQUEST['dw_id'] . "\npage=$page\npath=$path\n$resp\n" ); 61 62 echo "\n"; 63 function doku_config_values() { 64 $dwphp = DOKU_INC . 'conf/dokuwiki.php'; 65 $localphp = DOKU_INC . 'conf/local.php'; 66 $conf['ckg_savedir']= false; 67 if(file_exists($dwphp)) 68 { 69 include($dwphp); 70 if(file_exists($localphp)) 71 { 72 include($localphp); 73 } 74 $sv = preg_replace("#^\.+/#","",$conf['savedir']); 75 if($sv != 'data') { 76 $conf['ckg_savedir']= $conf['savedir']; 77 } 78 return $conf; 79 } 80 81 return false; 82 } 83 ?> 84 85