function adobeconnect_pages_restore_mods($adobeconnectid, $info, $restore)
{
    global $CFG;
    $status = true;
    //Get the lesson_elements array
    $meetgroups = $info['MOD']['#']['MEETINGGROUPS']['0']['#']['MEETINGGROUP'];
    //Iterate over lesson pages (they are held in their logical order)
    $prevpageid = 0;
    for ($i = 0; $i < sizeof($meetgroups); $i++) {
        $meetgroup_info = $meetgroups[$i];
        //traverse_xmlize($ele_info);                                                          //Debug
        //print_object ($GLOBALS['traverse_array']);                                           //Debug
        //$GLOBALS['traverse_array']="";                                                       //Debug
        //Now, build the lesson_pages record structure
        $oldid = backup_todb($meetgroup_info['#']['ID']['0']['#']);
        $meeting = new stdClass();
        $meeting->instanceid = $adobeconnectid;
        $meeting->meetingscoid = backup_todb($meetgroup_info['#']['MEETINGSCOID']['0']['#']);
        $meeting->groupid = backup_todb($meetgroup_info['#']['GROUPID']['0']['#']);
        //We have to recode the groupid field
        $group = restore_group_getid($restore, $meeting->groupid);
        if ($group) {
            $meeting->groupid = $group->new_id;
        }
        //The structure is equal to the db, so insert the certificate_issue
        $newid = insert_record("adobeconnect_meeting_groups", $meeting);
        //Do some output
        if (($i + 1) % 10 == 0) {
            if (!defined('RESTORE_SILENTLY')) {
                echo ".";
                if (($i + 1) % 200 == 0) {
                    echo "<br/>";
                }
            }
            backup_flush(300);
        }
        if ($newid) {
            //We have the newid, update backup_ids (restore logs will use it!!)
            backup_putid($restore->backup_unique_code, "adobeconnect_meeting_groups", $oldid, $newid);
        } else {
            $status = false;
        }
    }
    return $status;
}
Esempio n. 2
0
function data_records_restore_mods($old_data_id, $new_data_id, $info, $restore)
{
    global $CFG, $fieldids;
    $status = true;
    $records = isset($info['MOD']['#']['RECORDS']['0']['#']['RECORD']) ? $info['MOD']['#']['RECORDS']['0']['#']['RECORD'] : array();
    if (empty($records)) {
        // no records to restore
        return true;
    }
    for ($i = 0; $i < sizeof($records); $i++) {
        $rec_info = $records[$i];
        $oldid = backup_todb($rec_info['#']['ID']['0']['#']);
        $record = new object();
        $record->dataid = $new_data_id;
        $record->userid = backup_todb($rec_info['#']['USERID']['0']['#']);
        $record->groupid = backup_todb($rec_info['#']['GROUPID']['0']['#']);
        $record->timecreated = backup_todb($rec_info['#']['TIMECREATED']['0']['#']);
        $record->timemodified = backup_todb($rec_info['#']['TIMEMODIFIED']['0']['#']);
        $record->approved = backup_todb($rec_info['#']['APPROVED']['0']['#']);
        $user = backup_getid($restore->backup_unique_code, "user", $record->userid);
        $group = restore_group_getid($restore, $record->groupid);
        if ($user) {
            $record->userid = $user->new_id;
        }
        if ($group) {
            $record->groupid = $group->new_id;
        }
        $newid = insert_record("data_records", $record);
        //Do some output
        if (($i + 1) % 50 == 0) {
            if (!defined('RESTORE_SILENTLY')) {
                echo ".";
                if (($i + 1) % 1000 == 0) {
                    echo "<br />";
                }
            }
            backup_flush(300);
        }
        if ($newid) {
            //We have the newid, update backup_ids
            $status = $status and backup_putid($restore->backup_unique_code, "data_records", $oldid, $newid);
            $status = $status and data_content_restore_mods($oldid, $newid, $old_data_id, $new_data_id, $rec_info, $restore);
            $status = $status and data_ratings_restore_mods($oldid, $newid, $info, $rec_info);
            $status = $status and data_comments_restore_mods($oldid, $newid, $info, $rec_info);
        } else {
            $status = false;
        }
    }
    return $status;
}
Esempio n. 3
0
function wiki_entries_restore_mods($old_wiki_id, $new_wiki_id, $info, $restore)
{
    global $CFG, $DB;
    $status = true;
    //Get the entries array
    $entries = $info['MOD']['#']['ENTRIES']['0']['#']['ENTRY'];
    //Iterate over entries
    for ($i = 0; $i < sizeof($entries); $i++) {
        $ent_info = $entries[$i];
        //traverse_xmlize($ent_info);                                                                 //Debug
        //print_object ($GLOBALS['traverse_array']);                                                  //Debug
        //$GLOBALS['traverse_array']="";                                                              //Debug
        //We'll need this later!!
        $oldid = backup_todb($ent_info['#']['ID']['0']['#']);
        //Now, build the wiki_ENTRIES record structure
        $entry = new object();
        $entry->wikiid = $new_wiki_id;
        $entry->course = $restore->course_id;
        $entry->userid = backup_todb($ent_info['#']['USERID']['0']['#']);
        $entry->groupid = backup_todb($ent_info['#']['GROUPID']['0']['#']);
        $entry->pagename = backup_todb($ent_info['#']['PAGENAME']['0']['#']);
        $entry->timemodified = backup_todb($ent_info['#']['TIMEMODIFIED']['0']['#']);
        $entry->timemodified += $restore->course_startdateoffset;
        //We have to recode the userid field
        $user = backup_getid($restore->backup_unique_code, "user", $entry->userid);
        if ($user) {
            $entry->userid = $user->new_id;
        }
        //We have to recode the groupid field
        $group = restore_group_getid($restore, $entry->groupid);
        if ($group) {
            $entry->groupid = $group->new_id;
        }
        //The structure is equal to the db, so insert the wiki_entries
        $newid = $DB->insert_record("wiki_entries", $entry);
        //Do some output
        if (($i + 1) % 50 == 0) {
            if (!defined('RESTORE_SILENTLY')) {
                echo ".";
                if (($i + 1) % 1000 == 0) {
                    echo "<br />";
                }
            }
            backup_flush(300);
        }
        if ($newid) {
            //We have the newid, update backup_ids
            backup_putid($restore->backup_unique_code, "wiki_entries", $oldid, $newid);
            //Restore wiki_pages
            $status = wiki_pages_restore_mods($oldid, $newid, $ent_info, $restore);
            //Now copy moddata associated files
            $status = wiki_restore_files($old_wiki_id, $new_wiki_id, $oldid, $newid, $restore);
        } else {
            $status = false;
        }
    }
    return $status;
}
Esempio n. 4
0
function forum_discussions_restore_mods($forum_id, $info, $restore)
{
    global $CFG, $DB;
    $status = true;
    //Get the discussions array
    $discussions = array();
    if (!empty($info['MOD']['#']['DISCUSSIONS']['0']['#']['DISCUSSION'])) {
        $discussions = $info['MOD']['#']['DISCUSSIONS']['0']['#']['DISCUSSION'];
    }
    //Iterate over discussions
    for ($i = 0; $i < sizeof($discussions); $i++) {
        $dis_info = $discussions[$i];
        //traverse_xmlize($dis_info);                                                                 //Debug
        //print_object ($GLOBALS['traverse_array']);                                                  //Debug
        //$GLOBALS['traverse_array']="";                                                              //Debug
        //We'll need this later!!
        $oldid = backup_todb($dis_info['#']['ID']['0']['#']);
        $olduserid = backup_todb($dis_info['#']['USERID']['0']['#']);
        //Now, build the FORUM_DISCUSSIONS record structure
        $discussion = new object();
        $discussion->forum = $forum_id;
        $discussion->course = $restore->course_id;
        $discussion->name = backup_todb($dis_info['#']['NAME']['0']['#']);
        $discussion->firstpost = backup_todb($dis_info['#']['FIRSTPOST']['0']['#']);
        $discussion->userid = backup_todb($dis_info['#']['USERID']['0']['#']);
        $discussion->groupid = backup_todb($dis_info['#']['GROUPID']['0']['#']);
        $discussion->assessed = backup_todb($dis_info['#']['ASSESSED']['0']['#']);
        $discussion->timemodified = backup_todb($dis_info['#']['TIMEMODIFIED']['0']['#']);
        $discussion->timemodified += $restore->course_startdateoffset;
        $discussion->usermodified = backup_todb($dis_info['#']['USERMODIFIED']['0']['#']);
        $discussion->timestart = backup_todb($dis_info['#']['TIMESTART']['0']['#']);
        $discussion->timestart += $restore->course_startdateoffset;
        $discussion->timeend = backup_todb($dis_info['#']['TIMEEND']['0']['#']);
        $discussion->timeend += $restore->course_startdateoffset;
        //We have to recode the userid field
        $user = backup_getid($restore->backup_unique_code, "user", $discussion->userid);
        if ($user) {
            $discussion->userid = $user->new_id;
        }
        //We have to recode the groupid field
        $group = restore_group_getid($restore, $discussion->groupid);
        if ($group) {
            $discussion->groupid = $group->new_id;
        }
        //We have to recode the usermodified field
        $user = backup_getid($restore->backup_unique_code, "user", $discussion->usermodified);
        if ($user) {
            $discussion->usermodified = $user->new_id;
        }
        //The structure is equal to the db, so insert the forum_discussions
        $newid = $DB->insert_record("forum_discussions", $discussion);
        //Do some output
        if (($i + 1) % 50 == 0) {
            if (!defined('RESTORE_SILENTLY')) {
                echo ".";
                if (($i + 1) % 1000 == 0) {
                    echo "<br />";
                }
            }
            backup_flush(300);
        }
        if ($newid) {
            //We have the newid, update backup_ids
            backup_putid($restore->backup_unique_code, "forum_discussions", $oldid, $newid);
            //Restore forum_posts
            $status = forum_posts_restore_mods($forum_id, $newid, $dis_info, $restore);
            //Now recalculate firstpost field
            $old_firstpost = $discussion->firstpost;
            //Get its new post_id from backup_ids table
            $rec = backup_getid($restore->backup_unique_code, "forum_posts", $old_firstpost);
            if ($rec) {
                //Put its new firstpost
                $discussion->firstpost = $rec->new_id;
                if ($post = $DB->get_record("forum_posts", array("id" => $discussion->firstpost))) {
                    $discussion->userid = $post->userid;
                }
            } else {
                $discussion->firstpost = 0;
                $discussion->userid = 0;
            }
            //Create temp discussion record
            $temp_discussion->id = $newid;
            $temp_discussion->firstpost = $discussion->firstpost;
            $temp_discussion->userid = $discussion->userid;
            //Update discussion (only firstpost and userid will be changed)
            $status = $DB->update_record("forum_discussions", $temp_discussion);
            //echo "Updated firstpost ".$old_firstpost." to ".$temp_discussion->firstpost."<br />";                //Debug
        } else {
            $status = false;
        }
    }
    return $status;
}
Esempio n. 5
0
function chat_messages_restore_mods($old_chat_id, $new_chat_id, $info, $restore)
{
    global $CFG;
    $status = true;
    //Get the messages array
    $messages = $info['MOD']['#']['MESSAGES']['0']['#']['MESSAGE'];
    //Iterate over messages
    for ($i = 0; $i < sizeof($messages); $i++) {
        $mes_info = $messages[$i];
        //traverse_xmlize($mes_info);                                                                 //Debug
        //print_object ($GLOBALS['traverse_array']);                                                  //Debug
        //$GLOBALS['traverse_array']="";                                                              //Debug
        //We'll need this later!!
        $oldid = backup_todb($mes_info['#']['ID']['0']['#']);
        $olduserid = backup_todb($mes_info['#']['USERID']['0']['#']);
        //Now, build the CHAT_MESSAGES record structure
        $message = new object();
        $message->chatid = $new_chat_id;
        $message->userid = backup_todb($mes_info['#']['USERID']['0']['#']);
        $message->groupid = backup_todb($mes_info['#']['GROUPID']['0']['#']);
        $message->system = backup_todb($mes_info['#']['SYSTEM']['0']['#']);
        $message->message = backup_todb($mes_info['#']['MESSAGE_TEXT']['0']['#']);
        $message->timestamp = backup_todb($mes_info['#']['TIMESTAMP']['0']['#']);
        //We have to recode the userid field
        $user = backup_getid($restore->backup_unique_code, "user", $message->userid);
        if ($user) {
            $message->userid = $user->new_id;
        }
        //We have to recode the groupid field
        $group = restore_group_getid($restore, $message->groupid);
        if ($group) {
            $message->groupid = $group->new_id;
        }
        //The structure is equal to the db, so insert the chat_message
        $newid = insert_record("chat_messages", $message);
        //Do some output
        if (($i + 1) % 50 == 0) {
            if (!defined('RESTORE_SILENTLY')) {
                echo ".";
                if (($i + 1) % 1000 == 0) {
                    echo "<br />";
                }
            }
            backup_flush(300);
        }
    }
    return $status;
}