4893: Catch and prevent illegal SQL syntax error in ForumsCoursesDAO.Create() issue_4893
authorTJ <acontent@iam.tj>
Tue, 11 Oct 2011 14:09:40 +0000 (15:09 +0100)
committerTJ <acontent@iam.tj>
Fri, 21 Oct 2011 15:31:26 +0000 (16:31 +0100)
home/ims/ims_import.php
include/classes/DiscussionTools/DiscussionToolsImport.class.php

index 57ba69c..6508b9a 100644 (file)
@@ -212,9 +212,9 @@ function checkResources($import_path){
                                $errors = libxml_get_errors();
                                foreach ($errors as $error) {
                                        //suppress warnings
-                                       if ($error->level==LIBXML_ERR_WARNING){
-                                               continue;
-                                       }
+                                       if ($error->level==LIBXML_ERR_WARNING) continue;
+                                       elseif (strpos($error->message, 'metaMetadata')) continue;
+
                                        $msg->addError(array('IMPORT_CARTRIDGE_FAILED', libxml_display_error($error)));
                                }
                                libxml_clear_errors();
@@ -1375,8 +1375,9 @@ foreach ($items as $item_id => $content_info)
                                $xml_content = @file_get_contents($import_path . $forum_link);
                                $dt_parser->parse($xml_content);
                                $forum_obj = $dt_parser->getDt();
-                               $dt_import->import($forum_obj, $items[$item_id]['real_content_id'], $_course_id);
-                               $added_dt[$forum_ref] = $dt_import->getFid();                           
+                               $result = $dt_import->import($forum_obj, $items[$item_id]['real_content_id'], $_course_id);
+                               if ($result)
+                                       $added_dt[$forum_ref] = $dt_import->getFid();
                        }
 
                }
@@ -1445,4 +1446,4 @@ if ($oauth_import) {
 }
 exit;
 
-?>
\ No newline at end of file
+?>
index 5ccd4f6..28638ed 100644 (file)
@@ -32,7 +32,11 @@ class DiscussionToolsImport {
                $text = $forum_obj->getText();
 
                $this->fid = $this->createForum($title, $text, $course_id);
-               $this->associateForum($cid, $this->fid);
+               if ($this->fid) {
+                       $this->associateForum($cid, $this->fid);
+                       return true;
+               } else
+                       return false;
        }
 
        
@@ -45,9 +49,10 @@ class DiscussionToolsImport {
        function createForum($title, $text, $course_id){
                $forumsDAO = new ForumsDAO();
                $forums_id = $forumsDAO->Create($title, $text);
-               
-               $forumsCoursesDAO = new ForumsCoursesDAO();
-               $forumsCoursesDAO->Create($forums_id, $course_id);
+               if ($forums_id) {
+                       $forumsCoursesDAO = new ForumsCoursesDAO();
+                       $forumsCoursesDAO->Create($forums_id, $course_id);
+               }
                
                return $forums_id;
        }       
@@ -71,4 +76,4 @@ class DiscussionToolsImport {
                return $this->fid;
        }
 }
-?>
\ No newline at end of file
+?>