function wiki_backup_one_mod($bf, $preferences, $dfwiki)
{
    if (is_numeric($dfwiki)) {
        $dfwiki = get_record('wiki', 'id', $dfwiki);
    }
    $instanceid = $dfwiki->id;
    $status = true;
    //Start mod
    fwrite($bf, start_tag("MOD", 3, true));
    //Print assignment data
    fwrite($bf, full_tag("ID", 4, false, $dfwiki->id));
    fwrite($bf, full_tag("MODTYPE", 4, false, "wiki"));
    $order = wiki_order($dfwiki->id, $preferences->backup_course);
    fwrite($bf, full_tag("ORDER", 4, false, $order));
    fwrite($bf, full_tag("NAME", 4, false, $dfwiki->name));
    fwrite($bf, full_tag("INTRO", 4, false, $dfwiki->intro));
    fwrite($bf, full_tag("INTROFORMAT", 4, false, $dfwiki->introformat));
    fwrite($bf, full_tag("PAGENAME", 4, false, $dfwiki->pagename));
    fwrite($bf, full_tag("TIMEMODIFIED", 4, false, $dfwiki->timemodified));
    fwrite($bf, full_tag("EDITABLE", 4, false, $dfwiki->editable));
    fwrite($bf, full_tag("ATTACH", 4, false, $dfwiki->attach));
    fwrite($bf, full_tag("RESTORE", 4, false, $dfwiki->restore));
    fwrite($bf, full_tag("EDITOR", 4, false, $dfwiki->editor));
    // discussions
    fwrite($bf, full_tag("STUDENTDISCUSSION", 4, false, $dfwiki->studentdiscussion));
    fwrite($bf, full_tag("TEACHERDISCUSSION", 4, false, $dfwiki->teacherdiscussion));
    // groups mode
    fwrite($bf, full_tag("STUDENTMODE", 4, false, $dfwiki->studentmode));
    // student edition privileges (groupmode)
    fwrite($bf, full_tag("EDITANOTHERGROUP", 4, false, $dfwiki->editanothergroup));
    fwrite($bf, full_tag("EDITANOTHERSTUDENT", 4, false, $dfwiki->editanotherstudent));
    fwrite($bf, full_tag("VOTEMODE", 4, false, $dfwiki->votemode));
    fwrite($bf, full_tag("LISTOFTEACHERS", 4, false, $dfwiki->listofteachers));
    fwrite($bf, full_tag("EDITORROWS", 4, false, $dfwiki->editorrows));
    fwrite($bf, full_tag("EDITORCOLS", 4, false, $dfwiki->editorcols));
    fwrite($bf, full_tag("WIKICOURSE", 4, false, $dfwiki->wikicourse));
    //backup pages, synonymous and blocks
    if ($preferences->mods["wiki"]->userinfo) {
        $status = backup_wiki_pages($bf, $preferences, $dfwiki->id, $preferences->mods["wiki"]->userinfo);
        //using standard blocks, it deactivates the next line:
        $status = backup_wiki_synonymous($bf, $preferences, $dfwiki->id, $preferences->mods["wiki"]->userinfo);
        $status = backup_wiki_files($bf, $preferences, $dfwiki->id);
    }
    //End mod
    fwrite($bf, end_tag("MOD", 3, true));
    return $status;
}
Ejemplo n.º 2
0
function backup_wiki_entries($bf, $preferences, $wiki, $userinfo)
{
    global $CFG;
    $status = true;
    $wiki_entries = get_records("wiki_entries", "wikiid", $wiki, "id");
    //If there are entries
    if ($wiki_entries) {
        //Write start tag
        $status = fwrite($bf, start_tag("ENTRIES", 4, true));
        //Iterate over each entry
        foreach ($wiki_entries as $wik_ent) {
            //Entry start
            $status = fwrite($bf, start_tag("ENTRY", 5, true));
            fwrite($bf, full_tag("ID", 6, false, $wik_ent->id));
            fwrite($bf, full_tag("GROUPID", 6, false, $wik_ent->groupid));
            fwrite($bf, full_tag("USERID", 6, false, $wik_ent->userid));
            fwrite($bf, full_tag("PAGENAME", 6, false, $wik_ent->pagename));
            fwrite($bf, full_tag("TIMEMODIFIED", 6, false, $wik_ent->timemodified));
            //Now save entry pages
            $status = backup_wiki_pages($bf, $preferences, $wik_ent->id);
            //Entry end
            $status = fwrite($bf, end_tag("ENTRY", 5, true));
        }
        //Write end tag
        $status = fwrite($bf, end_tag("ENTRIES", 4, true));
    }
    return $status;
}