Skip to content
Snippets Groups Projects
Commit d7b5692e authored by Rasmus Fuhse's avatar Rasmus Fuhse Committed by Jan-Hendrik Willms
Browse files

Resolve "Wiki Änderungen seit letztem Besuch zeigt zu viel Text an"

Closes #3972

Merge request studip/studip!2823
parent 6f852d67
No related branches found
No related tags found
No related merge requests found
...@@ -55,36 +55,39 @@ ...@@ -55,36 +55,39 @@
<td> <td>
<? <?
$authors = [$page->user_id => $page->user]; $authors = [$page->user_id => $page->user];
$versions = [$page];
$oldcontent = ""; $oldcontent = "";
$oldversion = $page; $oldversion = $page;
while ($oldversion = $oldversion->predecessor) { while ($oldversion = $oldversion->predecessor) {
if ($oldversion->mkdate >= $last_visit && $oldversion->user_id !== User::findCurrent()->id) { if ($oldversion->mkdate >= $last_visit && $oldversion->user_id !== User::findCurrent()->id) {
$oldcontent = $oldversion->content; $oldcontent = $oldversion->content;
if (!isset($authors[$oldversion->user_id])) { if (!isset($authors[$oldversion->user_id])) {
$versions[] = $oldversion;
$authors[$oldversion->user_id] = $oldversion->user; $authors[$oldversion->user_id] = $oldversion->user;
} }
} else { } else {
break; break;
} }
} }
$oldcontent = $oldversion->content;
$oldcontent = strip_tags(wikiReady($oldcontent)); $oldcontent = strip_tags(wikiReady($oldcontent));
$content = strip_tags(wikiReady($page->content)); $content = strip_tags(wikiReady($page->content));
$commonFromStart = $controller->findLongestCommonSubstring($content, $oldcontent); $commonFromStart = $controller->findLongestCommonSubstring($content, $oldcontent);
$commonFromEnd = $controller->findLongestCommonSubstring($content, $oldcontent, true); $commonFromEnd = $controller->findLongestCommonSubstring($content, $oldcontent, true);
$content = mb_substr($content, $commonFromStart, $commonFromEnd); $oldcontent = mb_substr($oldcontent, $commonFromStart, mb_strlen($oldcontent) - mb_strlen($content));
$oldcontent = mb_substr($oldcontent, $commonFromStart, $commonFromEnd); $content = mb_substr($content, $commonFromStart, $commonFromEnd - $commonFromStart);
if ($content) { if ($content) {
echo htmlReady(mila($content, 300), true, true); echo htmlReady(mila($content, 300), true, true);
} elseif ($oldcontent) { } elseif ($oldcontent) {
echo _('Gelöscht') . ': ' . htmlReady($oldcontent, true, true); echo _('Gelöscht') . ': ' . htmlReady(mila($oldcontent, 300), true, true);
} }
?> ?>
</td> </td>
<td> <td>
<ul class="wiki_authors"> <ul class="wiki_authors">
<? foreach ($authors as $user) : ?> <? foreach ($authors as $user_id => $user) : ?>
<li> <li>
<? if ($user): ?> <? if ($user): ?>
<a href="<?= URLHelper::getLink('dispatch.php/profile', ['username' => $user->username]) ?>" <a href="<?= URLHelper::getLink('dispatch.php/profile', ['username' => $user->username]) ?>"
...@@ -95,6 +98,15 @@ ...@@ -95,6 +98,15 @@
<? else: ?> <? else: ?>
<?= _('unbekannt') ?> <?= _('unbekannt') ?>
<? endif; ?> <? 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> </li>
<? endforeach ?> <? endforeach ?>
</ul> </ul>
......
...@@ -190,12 +190,12 @@ article.studip.wiki { ...@@ -190,12 +190,12 @@ article.studip.wiki {
padding: 0; padding: 0;
li { li {
margin-bottom: 5px; margin-bottom: 5px;
display: flex;
} }
a { a {
background-position: left top; background-position: left top;
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: var(--avatar-small); background-size: var(--avatar-small);
display: block;
min-height: var(--avatar-small); min-height: var(--avatar-small);
padding-left: calc(var(--avatar-small) + 1ex); padding-left: calc(var(--avatar-small) + 1ex);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment