MDL-23204 convert text to html in imscp intro
[moodle.git] / mod / imscp / db / upgradelib.php
index 7872113..a6e2840 100644 (file)
@@ -55,11 +55,19 @@ function imscp_20_migrate() {
     foreach ($candidates as $candidate) {
         upgrade_set_timeout(60);
 
     foreach ($candidates as $candidate) {
         upgrade_set_timeout(60);
 
+        if ($CFG->texteditors !== 'textarea') {
+            $intro       = text_to_html($candidate->intro, false, false, true);
+            $introformat = FORMAT_HTML;
+        } else {
+            $intro       = $candidate->intro;
+            $introformat = FORMAT_MOODLE;
+        }
+
         $imscp = new object();
         $imscp->course       = $candidate->course;
         $imscp->name         = $candidate->name;
         $imscp = new object();
         $imscp->course       = $candidate->course;
         $imscp->name         = $candidate->name;
-        $imscp->intro        = $candidate->intro;
-        $imscp->introformat  = $candidate->introformat;
+        $imscp->intro        = $intro;
+        $imscp->introformat  = $introformat;
         $imscp->revision     = 1;
         $imscp->keepold      = 1;
         $imscp->timemodified = time();
         $imscp->revision     = 1;
         $imscp->keepold      = 1;
         $imscp->timemodified = time();
@@ -77,7 +85,8 @@ function imscp_20_migrate() {
             $fullpath = $root.'/'.$package;
             if (file_exists($fullpath)) {
                 $file_record = array('contextid' => $context->id,
             $fullpath = $root.'/'.$package;
             if (file_exists($fullpath)) {
                 $file_record = array('contextid' => $context->id,
-                                     'filearea'  => 'imscp_backup',
+                                     'component' => 'mod_imscp',
+                                     'filearea'  => 'backup',
                                      'itemid'    => 1,
                                      'filepath'  => '/',
                                      'filename'  => $package);
                                      'itemid'    => 1,
                                      'filepath'  => '/',
                                      'filename'  => $package);
@@ -87,7 +96,13 @@ function imscp_20_migrate() {
 
         // migrate extracted package data
         $files = imsc_migrate_get_old_files($root, '');
 
         // migrate extracted package data
         $files = imsc_migrate_get_old_files($root, '');
-        $file_record = array('contextid'=>$context->id, 'filearea'=>'imscp_content', 'itemid'=>1);
+        if (empty($files)) {
+            // if ims package doesn't exist, continue loop
+            echo $OUTPUT->notification("IMS package data cannot be found, failed migrating activity: \"$candidate->name\", please fix it manually");
+            continue;
+        }
+
+        $file_record = array('contextid'=>$context->id, 'component'=>'mod_imscp', 'filearea'=>'content', 'itemid'=>1);
         $error = false;
         foreach ($files as $relname=>$fullpath) {
             $parts = explode('/', $relname);
         $error = false;
         foreach ($files as $relname=>$fullpath) {
             $parts = explode('/', $relname);
@@ -126,7 +141,12 @@ function imscp_20_migrate() {
  * Private function returning all extracted IMS content package file
  */
 function imsc_migrate_get_old_files($path, $relative) {
  * Private function returning all extracted IMS content package file
  */
 function imsc_migrate_get_old_files($path, $relative) {
+    global $OUTPUT;
     $result = array();
     $result = array();
+    if (!file_exists($path)) {
+        echo $OUTPUT->notification("File path doesn't exist: $path <br/> Please fix it manually.");
+        return array();
+    }
     $items = new DirectoryIterator($path);
     foreach ($items as $item) {
         if ($item->isDot() or $item->isLink()) {
     $items = new DirectoryIterator($path);
     foreach ($items as $item) {
         if ($item->isDot() or $item->isLink()) {