aboutsummaryrefslogtreecommitdiff
path: root/app/views/course/wiki/newpages.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/course/wiki/newpages.php')
-rw-r--r--app/views/course/wiki/newpages.php22
1 files changed, 18 insertions, 4 deletions
diff --git a/app/views/course/wiki/newpages.php b/app/views/course/wiki/newpages.php
index d9e0dce..99e0f29 100644
--- a/app/views/course/wiki/newpages.php
+++ b/app/views/course/wiki/newpages.php
@@ -55,36 +55,41 @@
<td>
<?
$authors = [$page->user_id => $page->user];
+ $versions = [$page];
$oldcontent = "";
$oldversion = $page;
while ($oldversion = $oldversion->predecessor) {
if ($oldversion->mkdate >= $last_visit && $oldversion->user_id !== User::findCurrent()->id) {
$oldcontent = $oldversion->content;
if (!isset($authors[$oldversion->user_id])) {
+ $versions[] = $oldversion;
$authors[$oldversion->user_id] = $oldversion->user;
}
} else {
break;
}
}
+ if ($oldversion) {
+ $oldcontent = $oldversion->content;
+ }
$oldcontent = strip_tags(wikiReady($oldcontent));
$content = strip_tags(wikiReady($page->content));
$commonFromStart = $controller->findLongestCommonSubstring($content, $oldcontent);
$commonFromEnd = $controller->findLongestCommonSubstring($content, $oldcontent, true);
- $content = mb_substr($content, $commonFromStart, $commonFromEnd);
- $oldcontent = mb_substr($oldcontent, $commonFromStart, $commonFromEnd);
+ $oldcontent = mb_substr($oldcontent, $commonFromStart, mb_strlen($oldcontent) - mb_strlen($content));
+ $content = mb_substr($content, $commonFromStart, $commonFromEnd - $commonFromStart);
if ($content) {
echo htmlReady(mila($content, 300), true, true);
} elseif ($oldcontent) {
- echo _('Gelöscht') . ': ' . htmlReady($oldcontent, true, true);
+ echo _('Gelöscht') . ': ' . htmlReady(mila($oldcontent, 300), true, true);
}
?>
</td>
<td>
<ul class="wiki_authors">
- <? foreach ($authors as $user) : ?>
+ <? foreach ($authors as $user_id => $user) : ?>
<li>
<? if ($user): ?>
<a href="<?= URLHelper::getLink('dispatch.php/profile', ['username' => $user->username]) ?>"
@@ -95,6 +100,15 @@
<? else: ?>
<?= _('unbekannt') ?>
<? endif; ?>
+ <? foreach ($versions as $version) : ?>
+ <? if ($version->user_id === $user_id) : ?>
+ <a href="<?= $controller->versiondiff($page, is_a($version, 'WikiVersion') ? $version->id : null) ?>"
+ title="<?= _('Einzelne Änderung anzeigen') ?>"
+ data-dialog>
+ <?= Icon::create('log')->asImg(['class' => 'text-bottom']) ?>
+ </a>
+ <? endif ?>
+ <? endforeach ?>
</li>
<? endforeach ?>
</ul>