예제 #1
0
         }
         $pageversion->xhtml = substr_replace($pageversion->xhtml, $replace, $position, 0);
         $neednewversion = true;
         $spanlength = strlen($replace);
         $prevkey = $key;
     }
 }
 // if we have got this far then commit the transaction, remove any unwanted spans
 // and save a new wiki version if required
 $neednewversion = ouwiki_cleanup_annotation_tags($updated, $pageversion->xhtml) ? true : $neednewversion;
 // Note: Because we didn't get data values from the form, they have not been
 // sanity-checked so we don't know if the field actually existed or not.
 // That means we need to do another lock capability check here in addition
 // to the one done when displaying the form.
 if (has_capability('mod/ouwiki:lock', $context)) {
     ouwiki_lock_editing($pageversion->pageid, $lockunlock);
 }
 if ($neednewversion) {
     if (strpos($pageversion->xhtml, '"view.php') !== false) {
         // Tidy up and revert converted content (links) back to original format.
         $pattern = '(<a\\b[^>]*?href="view\\.php[^>]*?>(.*?)<\\/a>)';
         $pageversion->xhtml = preg_replace($pattern, "[[\$1]]", $pageversion->xhtml);
     }
     if ($contenttag = strpos($pageversion->xhtml, '<div class="ouwiki_content">') !== false) {
         // Strip out content tag.
         $pageversion->xhtml = substr_replace($pageversion->xhtml, '', $contenttag, 28);
         $endtag = strrpos($pageversion->xhtml, '</div>');
         if ($endtag !== false) {
             $pageversion->xhtml = substr_replace($pageversion->xhtml, '', $endtag, 6);
         }
     }
예제 #2
0
    $overridelock = get_string('overridelock', 'ouwiki');
    $overridebutton = $canoverride ? "\n<form class='ouwiki_overridelock' action='override.php' method='post'>\n  <input type='hidden' name='redirpage' value='view'>\n  {$wikiformfields}\n  <input type='submit' value='{$overridelock}' />\n</form>\n" : '';
    $cancel = get_string('cancel');
    $tryagain = get_string('tryagain', 'ouwiki');
    print "\n<div id='ouwiki_lockinfo'>\n  <h2>{$pagelockedtitle}</h2>\n  <p>{$pagelockeddetails} {$pagelockedtimeout}</p>\n  {$pagelockedoverride}\n  <div class='ouwiki_lockinfobuttons'>\n    <form action='edit.php' method='get'>\n      {$wikiformfields}\n      {$sectionfields}\n      <input type='submit' value='{$tryagain}' />\n    </form>\n    <form action='view.php' method='get'>\n      {$wikiformfields}\n      <input type='submit' value='{$cancel}' />\n    </form>\n    {$overridebutton}\n  </div>\n</div>";
    print_footer($course);
    exit;
}
// The page is now locked to us!
// To have got this far everything checks out so lock or unlock the page as requested
if ($action == get_string('lockpage', 'ouwiki')) {
    ouwiki_lock_editing($pageid, true);
    $eventtype = 'lock';
} else {
    if ($action == get_string('unlockpage', 'ouwiki')) {
        ouwiki_lock_editing($pageid, false);
        $eventtype = 'unlock';
    }
}
// all done - release the editing lock...
ouwiki_release_lock($pageversion->pageid);
// add to moodle log...
$url = 'view.php';
$url .= (strpos($url, '?') === false ? '?' : '&') . 'id=' . $cm->id;
if ($subwiki->groupid) {
    $url .= '&group=' . $subwiki->groupid;
}
if ($subwiki->userid) {
    $url .= '&user='******'';