mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
Better fix for Bug #1530 - Wiki diffs useless when using HTML editor
This commit is contained in:
parent
269f7a3d82
commit
bc1f9c7349
5 changed files with 34 additions and 18 deletions
|
@ -8,7 +8,8 @@ Mike:
|
|||
- Grading
|
||||
|
||||
Michael:
|
||||
- More Logging
|
||||
- Upload: There is an error when having a bin html-wiki: File does not show up
|
||||
- Log when up- or download
|
||||
- Notify when page changes
|
||||
|
||||
Unassigned or not ready:
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
# Check for dangerous events (hacking) !
|
||||
if(in_array($action,array("removepages","strippages","revertpages"))) {
|
||||
if(!($wiki->wtype=="student" || isteacher($course->id))) {
|
||||
add_to_log($course->id, "wiki", "hack", "", $wiki->name.": Tried to trick admin.php with $action.");
|
||||
add_to_log($course->id, "wiki", "hack", "", $wiki->name.": Tried to trick admin.php with action=$action.");
|
||||
error("Hack attack detected !");
|
||||
}
|
||||
}
|
||||
|
@ -151,7 +151,7 @@
|
|||
// No additional info
|
||||
break;
|
||||
}
|
||||
add_to_log($course->id, "wiki", $action, "admin.php?action=$action&userid=$userid&groupid=$groupid&id=$id", $wiki->name.($addloginfo?" ".$addloginfo:""));
|
||||
add_to_log($course->id, "wiki", $action, "admin.php?action=$action&userid=$userid&groupid=$groupid&id=$id", $wiki->name.($addloginfo?": ".$addloginfo:""));
|
||||
$link="admin.php?action=$action&userid=$userid&groupid=$groupid&id=$id&wikipage=$wikipage";
|
||||
switch($action) {
|
||||
case "removepages":
|
||||
|
|
|
@ -1144,7 +1144,7 @@ function ewiki_page_info($id, &$data, $action) {
|
|||
##### BEGIN MOODLE ADDITION #####
|
||||
$o .= '<a href="' .
|
||||
ewiki_script($action, $id, array("version"=>$current["version"])) .
|
||||
'">' . get_string($title,"wiki") . '</a> ';
|
||||
'">' . get_string($title,"wiki") . '</a> ';
|
||||
##### END MOODLE ADDITION #####
|
||||
}
|
||||
$o .= "</td></tr>\n";
|
||||
|
|
|
@ -34,17 +34,29 @@
|
|||
|
||||
# Different handling for html: closes Bug #1530 - Wiki diffs useless when using HTML editor
|
||||
if($wiki->htmlmode==2) {
|
||||
$htmlendings=array("<br />","<br>","</p>","<hr />","<hr>","</li>","</tr>");
|
||||
$splitregexp="+\s*\n|\s*(".join("|",$htmlendings).")+";
|
||||
$content0=preg_replace("+(".join("|",$htmlendings).")+","\n",$data0["content"]);
|
||||
$content=preg_replace("+(".join("|",$htmlendings).")+","\n",$data["content"]);
|
||||
$htmlendings=array("<br />","<br>","<p>","</p>","<p />","<hr />","<hr>","</li>","</tr>");
|
||||
/// Replace <p> </p>
|
||||
$content0=preg_replace("+<p> </p>+i","\n",$data0["content"]);
|
||||
$content0=preg_replace("+(".join("|",$htmlendings).")+","\n",$content0);
|
||||
$content=preg_replace("+<p> </p>+i","\n",$data["content"]);
|
||||
$content=preg_replace("+(".join("|",$htmlendings).")+","\n",$content);
|
||||
} else {
|
||||
$splitregexp="/\s*\n/";
|
||||
$content0=$data0["content"];
|
||||
$content=$data["content"];
|
||||
}
|
||||
$txt0 = preg_split($splitregexp, trim($content0));
|
||||
$txt2 = preg_split($splitregexp, trim($content));
|
||||
$txt0 = preg_split("+\s*\n+", trim($content0));
|
||||
$txt2 = preg_split("+\s*\n+", trim($content));
|
||||
///print "<pre>\n";
|
||||
///print "\$data0[content]:\n $data0[content]\n";
|
||||
///print "\n\n-----------\n\n";
|
||||
///print "\$data[content]:\n $data[content]\n";
|
||||
///print "\n\n-----------\n\n";
|
||||
///print "\$content0:\n $content0\n";
|
||||
///print "\n\n-----------\n\n";
|
||||
///print "\$content:\n $content\n";
|
||||
///print "\n\n-----------\n\n";
|
||||
///print "</pre>";
|
||||
///exit;
|
||||
|
||||
/// Remove empty lines in html
|
||||
if($wiki->htmlmode==2) {
|
||||
|
@ -54,14 +66,16 @@
|
|||
$txt2=array();
|
||||
|
||||
for($i=0;$i<count($html0);$i++) {
|
||||
if(trim(strip_tags($html0[$i]))) { // There is something !
|
||||
# $linecontent=trim(strip_tags(preg_replace("+ +","",$html0[$i])));
|
||||
# if($linecontent) { // There is something !
|
||||
$txt0[]=$html0[$i];
|
||||
}
|
||||
# }
|
||||
}
|
||||
for($i=0;$i<count($html2);$i++) {
|
||||
if(trim(strip_tags($html2[$i]))) { // There is something !
|
||||
# $linecontent=trim(strip_tags(preg_replace("+ +","",$html2[$i])));
|
||||
# if($linecontent) { // There is something !
|
||||
$txt2[]=$html2[$i];
|
||||
}
|
||||
# }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -75,7 +89,7 @@
|
|||
$i2 = $i;
|
||||
while ($rm = $diff0[$i2++]) {
|
||||
if($wiki->htmlmode == 2) {
|
||||
$o .= "<br><b>-</b><font color=\"#990000\">$rm</font><br>\n";
|
||||
$o .= "<b>-</b><font color=\"#990000\">$rm</font><br>\n";
|
||||
} else {
|
||||
$o .= "<b>-</b><font color=\"#990000\"><tt>$rm</tt></font><br>\n";
|
||||
}
|
||||
|
@ -84,14 +98,14 @@
|
|||
|
||||
if (in_array($line, $diff2)) {
|
||||
if($wiki->htmlmode == 2) {
|
||||
$o .= "<br><b>+</b><font color=\"#009900\">$line</font>\n";
|
||||
$o .= "<b>+</b><font color=\"#009900\">$line</font><br>\n";
|
||||
} else {
|
||||
$o .= "<b>+</b><font color=\"#009900\"><tt>$line</tt></font><br>\n";
|
||||
}
|
||||
}
|
||||
else {
|
||||
if($wiki->htmlmode == 2) {
|
||||
$o .= "$line\n";
|
||||
$o .= "$line<br>\n";
|
||||
} else {
|
||||
$o .= " $line<br>\n";
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue