check_feature('feature_wiki');
$access->check_permission('tiki_p_admin');
/**
* @param $dump
* @return array
*/
function parse_st($dump)
{
$bodysep = '>>>>>>>>>>>>>>>>>>>>>>>>';
$titlesep = '>>>>>>>>>>--------------';
$pages = preg_split("/$bodysep/", $dump);
$res = [];
array_shift($pages);
foreach ($pages as $p) {
$ret['pagename'] = trim(substr($p, 0, strpos($p, ">")));
$ret['pagename'] = str_replace(' ', '', ucwords(str_replace('_', ' ', $ret['pagename'])));
$ret['body'] = substr($p, strpos($p, $titlesep) + strlen($titlesep));
$res[] = $ret;
}
return $res;
}
$smarty->assign('result', 'n');
if (isset($_REQUEST["import"])) {
check_ticket('import-st');
$path = 'dump/' . $tikidomain . '/' . $_REQUEST["path"];
if (is_file($path)) {
$fp = fopen($path, "r");
$full = fread($fp, filesize($path));
//$full = fread($fp, 16000);
fclose($fp);
$parts = parse_st($full);
foreach ($parts as $part) {
$part["body"] = preg_replace_callback('/\[([^\]]*)\]/', function ($match) {
return str_replace(' ', '', ucwords('((' . $match[1] . '))'));
}, $part["body"]);
$part["body"] = preg_replace_callback('/(\(\([^\)]*\)\))/', function ($match) {
return str_replace(' ', '', ucwords($match[1]));
}, $part["body"]);
$part["body"] = preg_replace("/( |\n|^)(http:\/\/[^ ]+)( |\n)/", "$1[$2]$3", $part["body"]);
// "A link to Google":http://google.com
$part["body"] = preg_replace("~\"([^\"]*)\":(((ht|f)tps?://|mailto:)[^\s]*)~", "[$2|$1]", $part["body"]);
// internal labelled links
$part["body"] = preg_replace("~\"([^\"]+)\":([^\s]+)~", "(($2|$1))", $part["body"]);
// html links
$part["body"] = preg_replace("~([^<]*)~", "[$1|$2]", $part["body"]);
// remove
$part["body"] = preg_replace("/
(\r?\n)?/", "\n", $part["body"]);
// manage lists
$part["body"] = preg_replace("/\n \*/", "\n**", $part["body"]);
$part["body"] = preg_replace("/\n \*/", "\n***", $part["body"]);
// change ..
$part["body"] = preg_replace("/ _([^_]*)_ /", " ===$1=== ", $part["body"]);
$part["body"] = preg_replace("/\*\*([^\*\n]+)\*\*/", "__$1__", $part["body"]);
$part["body"] = preg_replace("~([^<]*)~", "__$1__", $part["body"]);
$part["body"] = preg_replace("/\*([^\*\n]+)\*/", "''$1''", $part["body"]);
$part["body"] = preg_replace("~([^<]*)~", "''$1''", $part["body"]);
// change