소스 검색

Fix wiki export to doc.

Julio Montoya 9 년 전
부모
커밋
1c902ad2d4
1개의 변경된 파일28개의 추가작업 그리고 11개의 파일을 삭제
  1. 28 11
      main/wiki/wiki.inc.php

+ 28 - 11
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(