Exemplo n.º 1
0
        print_error('invalidcoursemodule');
    }
    $PAGE->set_cm($cm);
}
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
$PAGE->set_pagelayout('incourse');
require_course_login($course, true, $cm);
require_capability('mod/ouwiki:deletepage', $context);
// Get the page version to be [un]deleted
$pageversion = ouwiki_get_page_version($subwiki, $pagename, $versionid);
if (!$pageversion) {
    print_error('deleteversionerrorversion', 'ouwiki');
}
// Note: No need to confirm deleting/undeleting page version
// Lock page
list($lockok, $lock) = ouwiki_obtain_lock($ouwiki, $pageversion->pageid);
// Set default action
$action = 'delete';
try {
    // [Un]Delete page version
    if (empty($pageversion->deletedat)) {
        // Flag page version as deleted
        $DB->set_field('ouwiki_versions', 'deletedat', time(), array('id' => $versionid));
        // Check if current version has been deleted
        if ($pageversion->versionid == $pageversion->currentversionid) {
            // Current version deleted
            // Update current version to first undeleted version (or null)
            $pageversions = ouwiki_get_page_history($pageversion->pageid, false, 0, 1);
            if ($currentpageversion = reset($pageversions)) {
                // Page version found, update page current version id
                $DB->set_field('ouwiki_pages', 'currentversionid', $currentpageversion->versionid, array('id' => $pageversion->pageid));
Exemplo n.º 2
0
     }
     if ($ipagename == '' && $startpagemerge == 1) {
         // If start page exists then set imported start page in conflicts array.
         if (ouwiki_get_current_page($subwiki, $ipagename, OUWIKI_GETPAGE_ACCEPTNOVERSION)) {
             $conflicts[$page] = $ipagename;
         }
         // Doesn't matter if start page is locked - when adding links check and skip if is.
         continue;
     }
     // Check if this page already exists, and is locked.
     if ($currentpageexists = ouwiki_get_current_page($subwiki, $ipagename, OUWIKI_GETPAGE_ACCEPTNOVERSION)) {
         $conflicts[$page] = $ipagename;
         if (has_capability('mod/ouwiki:overridelock', $context)) {
             ouwiki_override_lock($currentpageexists->pageid);
         }
         list($lock, $by) = ouwiki_obtain_lock($ouwiki, $currentpageexists->pageid);
         if ($currentpageexists->locked) {
             $lock = false;
             // No one can edit.
         }
         if (!$lock) {
             throw new moodle_exception('import_process_locked', 'ouwiki');
         }
     }
 }
 $newpagelist = array();
 // Use to store names of new pages imported.
 $updatepagelist = array();
 $importedindex = array();
 $updatedindex = array();
 $pbar = new progress_bar('mod_ouwiki_import', 500, true);