Fix wiki export to doc.

1.10.x
Julio Montoya 10 years ago
parent e72a2944a1
commit 1c902ad2d4
  1. 39
      main/wiki/wiki.inc.php

@ -1762,6 +1762,8 @@ class Wiki
/**
* Function export last wiki page version to document area
* @param int $doc_id wiki page id
*
* @author Juan Carlos Raña <herodoto@telefonica.net>
*/
public function export2doc($doc_id)
@ -1773,6 +1775,7 @@ class Wiki
if (empty($data)) {
return false;
}
$wikiTitle = $data['title'];
$wikiContents = $data['content'];
@ -1826,9 +1829,6 @@ class Wiki
$exportDir = api_get_path(SYS_COURSE_PATH).api_get_course_path(). '/document'.$groupPath;
$exportFile = api_replace_dangerous_char($wikiTitle) . $groupPart;
//$clean_wikiContents = trim(preg_replace("/\[\[|\]\]/", " ", $wikiContents));
//$array_clean_wikiContents= explode('|', $clean_wikiContents);
$wikiContents = trim(preg_replace("/\[[\[]?([^\]|]*)[|]?([^|\]]*)\][\]]?/", "$1", $wikiContents));
//TODO: put link instead of title
@ -1841,16 +1841,33 @@ class Wiki
}
$i = 1;
while ( file_exists($exportDir . '/' .$exportFile.'_'.$i.'.html') )
$i++; //only export last version, but in new export new version in document area
//only export last version, but in new export new version in document area
while (file_exists($exportDir.'/'.$exportFile.'_'.$i.'.html')) {
$i++;
}
$wikiFileName = $exportFile . '_' . $i . '.html';
$exportPath = $exportDir . '/' . $wikiFileName;
file_put_contents( $exportPath, $wikiContents );
$doc_id = add_document($_course, $groupPath.'/'.$wikiFileName, 'file', filesize($exportPath), $wikiTitle);
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'DocumentAdded', api_get_user_id(), $groupId);
file_put_contents($exportPath, $wikiContents);
$doc_id = add_document(
$_course,
$groupPath.'/'.$wikiFileName,
'file',
filesize($exportPath),
$wikiTitle
);
api_item_property_update(
$_course,
TOOL_DOCUMENT,
$doc_id,
'DocumentAdded',
api_get_user_id(),
$groupId
);
return $doc_id;
// TODO: link to go document area
}
/**
@ -5049,8 +5066,8 @@ class Wiki
}
break;
case 'export2doc':
if (isset($_GET['doc_id'])) {
$export2doc = self::export2doc($_GET['doc_id']);
if (isset($_GET['wiki_id'])) {
$export2doc = self::export2doc($_GET['wiki_id']);
if ($export2doc) {
self::setMessage(
Display::display_confirmation_message(

Loading…
Cancel
Save