query($sql1) or die('Erreur SQL !
'.$sql1.'
'.$mysqli->error); $c = $req1->fetch_assoc(); $title = 'History - '.$c['incipit']; include('include/header.php'); echo "

$title

\n"; $sql1 = 'SELECT * FROM '.db('changesets').' WHERE chant_id = '.$id.' ORDER BY time DESC'; $req1 = $mysqli->query($sql1) or die('Erreur SQL !
'.$sql1.'
'.$mysqli->error); while($m = $req1->fetch_assoc()) { echo "

".date("M d, Y",$m['time'])." (".username_from_id($m['user_id']).")

\n"; echo "

".$m['comment']."

\n"; $sql2 = 'SELECT * FROM '.db('changes').' WHERE changeset = "'.$m['user_id'].'|'.$id.'|'.$m['time'].'" ORDER BY field'; $req2 = $mysqli->query($sql2) or die('Erreur SQL !
'.$sql2.'
'.$mysqli->error); while($f = $req2->fetch_assoc()) { echo '

'.$f['field']."
\n"; $from_text = $f['changed']; $to_text = $c[$f['field']]; $diff = new FineDiff($from_text, $to_text, FineDiff::$wordGranularity); $opcodes = FineDiff::getDiffOpcodes($from_text, $to_text); echo ''.FineDiff::renderDiffToHTMLFromOpcodes($from_text, $opcodes)."

\n"; } } echo "\n"; include('include/footer.php'); ?>