Backupo / Restore for labels (untested as yet)

This commit is contained in:
moodler
2003-09-14 15:20:43 +00:00
parent a90fb36bd2
commit 27a026c7e8
2 changed files with 91 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
<?PHP //$Id$
//This php script contains all the stuff to backup/restore
//label mods
//This function executes all the backup procedure about this mod
function label_backup_mods($bf,$preferences) {
global $CFG;
$status = true;
////Iterate over label table
if ($labels = get_records ("label","course", $preferences->backup_course,"id")) {
foreach ($labels as $label) {
//Start mod
fwrite ($bf,start_tag("MOD",3,true));
//Print assignment data
fwrite ($bf,full_tag("ID",4,false,$label->id));
fwrite ($bf,full_tag("MODTYPE",4,false,"label"));
fwrite ($bf,full_tag("NAME",4,false,$label->name));
fwrite ($bf,full_tag("CONTENT",4,false,$label->content));
fwrite ($bf,full_tag("TIMEMODIFIED",4,false,$label->timemodified));
//End mod
$status = fwrite ($bf,end_tag("MOD",3,true));
}
}
return $status;
}
////Return an array of info (name,value)
function label_check_backup_mods($course,$user_data=false,$backup_unique_code) {
//First the course data
$info[0][0] = get_string("modulenameplural","label");
$info[0][1] = count_records("label", "course", "$course");
return $info;
}
?>
+54
View File
@@ -0,0 +1,54 @@
<?PHP //$Id$
//This php script contains all the stuff to backup/restore
//label mods
//This function executes all the restore procedure about this mod
function label_restore_mods($mod,$restore) {
global $CFG;
$status = true;
//Get record from backup_ids
$data = backup_getid($restore->backup_unique_code,$mod->modtype,$mod->id);
if ($data) {
//Now get completed xmlized object
$info = $data->info;
//traverse_xmlize($info); //Debug
//print_object ($GLOBALS['traverse_array']); //Debug
//$GLOBALS['traverse_array']=""; //Debug
//Now, build the RESOURCE record structure
$label->course = $restore->course_id;
$label->name = backup_todb($info['MOD']['#']['NAME']['0']['#']);
$label->content = backup_todb($info['MOD']['#']['CONTENT']['0']['#']);
$label->timemodified = $info['MOD']['#']['TIMEMODIFIED']['0']['#'];
//The structure is equal to the db, so insert the label
$newid = insert_record ("label",$label);
//Do some output
echo "<ul><li>".get_string("modulename","label")." \"".$label->name."\"<br>";
backup_flush(300);
if ($newid) {
//We have the newid, update backup_ids
backup_putid($restore->backup_unique_code,$mod->modtype,
$mod->id, $newid);
} else {
$status = false;
}
//Finalize ul
echo "</ul>";
} else {
$status = false;
}
return $status;
}
?>