[Logicampus-cvs] logicampus/src/logicreate/services/classmgr restoreBackup.lcp, 1.1, 1.2
Brought to you by:
trilexcom
From: Mark K <har...@us...> - 2008-03-02 21:59:05
|
Update of /cvsroot/logicampus/logicampus/src/logicreate/services/classmgr In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv25933/services/classmgr Modified Files: restoreBackup.lcp Log Message: properly import lesson, lesson sequence, and content learning objects from a backup file. Index: restoreBackup.lcp =================================================================== RCS file: /cvsroot/logicampus/logicampus/src/logicreate/services/classmgr/restoreBackup.lcp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** restoreBackup.lcp 2 Mar 2008 19:22:27 -0000 1.1 --- restoreBackup.lcp 2 Mar 2008 21:59:00 -0000 1.2 *************** *** 10,15 **** --- 10,18 ---- include_once(LIB_PATH.'lob/lc_lob.php'); + include_once(LIB_PATH.'lob/lc_lob_class.php'); include_once(LIB_PATH.'lob/lc_lob_xml.php'); include_once(LIB_PATH.'lesson/lc_lesson_xml.php'); + include_once(LIB_PATH.'lesson/lc_lesson_sequence.php'); + include_once(LIB_PATH.'lesson/lc_lesson.php'); /** *************** *** 80,100 **** continue; } - $lobSub = null; $lobRepoObj = Lc_Lob_Xml::parseNode($node, $tempdir); ! if ($lobRepoObj->lobType == 'content') { $t['lob_material'][] = $lobRepoObj; } ! if ($lobRepoObj->lobType == 'activity') { $t['lob_activity'][] = $lobRepoObj; } ! if ($lobRepoObj->lobType == 'test') { $t['lob_test'][] = $lobRepoObj; } } ! $lessonNodes = $collectionNode->getElementsByTagnameNS('http://logicampus.sourceforge.net/2006/learning_object','lesson'); $t['lesson_list'] = array(); ! for ($xidx = 0; $xidx < $lobNodes->length; $xidx++) { $lessonObj = Lc_Lesson_Xml::parseNode($node); $t['lesson_list'][] = $lessonObj; --- 83,103 ---- continue; } $lobRepoObj = Lc_Lob_Xml::parseNode($node, $tempdir); ! if ($lobRepoObj->type == 'content') { $t['lob_material'][] = $lobRepoObj; } ! if ($lobRepoObj->type == 'activity') { $t['lob_activity'][] = $lobRepoObj; } ! if ($lobRepoObj->type == 'test') { $t['lob_test'][] = $lobRepoObj; } } ! $lessonNodes = $collectionNode->getElementsByTagnameNS('http://logicampus.sourceforge.net/2006/lesson','lesson'); $t['lesson_list'] = array(); ! for ($xidx = 0; $xidx < $lessonNodes->length; $xidx++) { ! $node = $lessonNodes->item($xidx); $lessonObj = Lc_Lesson_Xml::parseNode($node); $t['lesson_list'][] = $lessonObj; *************** *** 113,116 **** --- 116,120 ---- $tempdir = $u->sessionvars['restore_dir']; + $classId = $u->activeClassTaught->id_classes; $doc = new DomDocument('1.0', 'UTF-8'); *************** *** 130,134 **** --- 134,179 ---- $collectionNode = $root->item(1); + //LOBS (course materials) + $lobNodes = $collectionNode->getElementsByTagnameNS('http://logicampus.sourceforge.net/2006/learning_object','obj'); + + $t['lob_material'] = array(); + $t['lob_test'] = array(); + $t['lob_activity'] = array(); + for ($xidx = 0; $xidx < $lobNodes->length; $xidx++) { + $node = $lobNodes->item($xidx); + if ($node->nodeType == XML_TEXT_NODE) { + continue; + } + $lobRepoObj = Lc_Lob_Xml::parseNode($node, $tempdir); + $lobRepoObj->save(); + + $classObj = $lobRepoObj->useInClass($classId); + } + + + //LESSON STRUCTURE (sequence and settings) + $lessonNodes = $collectionNode->getElementsByTagnameNS('http://logicampus.sourceforge.net/2006/lesson','lesson'); + + $t['lesson_list'] = array(); + for ($xidx = 0; $xidx < $lessonNodes->length; $xidx++) { + $node = $lessonNodes->item($xidx); + $lessonObj = Lc_Lesson_Xml::parseNode($node); + $lessonObj->lessonDo->idClasses = $classId; + //find the learning path, which is the encloser for all sequence items + $pathCollection = $node->getElementsByTagname('learningpath'); + $path = $pathCollection->item(0); + if (is_object($path) ) { + $seqItems = Lc_Lesson_Xml::parseSequenceNodes($path); + } + + $lessonObj->lessonSeq = new Lc_LessonSequence(-1,$classId); + $lessonObj->lessonSeq->items = $seqItems; + //debug($seqItems); + + $lessonObj->save(); + } + $this->cleanupDir(); + exit(); } |