diff --git a/public_html/media/css/logs.css b/public_html/media/css/logs.css
index 91bd95a9..ecd40ec8 100644
--- a/public_html/media/css/logs.css
+++ b/public_html/media/css/logs.css
@@ -7,3 +7,7 @@
pre {
font-size: 11pt;
}
+
+pre strong {
+ background: #fee;
+}
diff --git a/src/Controllers/CommentController.php b/src/Controllers/CommentController.php
index 705dc284..8f371f86 100644
--- a/src/Controllers/CommentController.php
+++ b/src/Controllers/CommentController.php
@@ -64,7 +64,7 @@ class CommentController
if (InputHelper::get('sender') != 'preview')
{
R::store($comment);
- LogHelper::logEvent('comment-add', '+{user} commented on @{post}', ['post' => $post->id]);
+ LogHelper::logEvent('comment-add', '{user} commented on {post}', ['post' => TextHelper::reprPost($post->id)]);
}
$this->context->transport->textPreview = $comment->getText();
StatusHelper::success();
@@ -82,7 +82,7 @@ class CommentController
$comment = Model_Comment::locate($id);
R::preload($comment, ['commenter' => 'user']);
PrivilegesHelper::confirmWithException(Privilege::DeleteComment, PrivilegesHelper::getIdentitySubPrivilege($comment->commenter));
- LogHelper::logEvent('comment-del', '+{user} removed comment from @{post}', ['post' => $comment->post->id]);
+ LogHelper::logEvent('comment-del', '{user} removed comment from {post}', ['post' => TextHelper::reprPost($comment->post)]);
R::trash($comment);
StatusHelper::success();
}
diff --git a/src/Controllers/LogController.php b/src/Controllers/LogController.php
index 8891f6a4..cf50fc26 100644
--- a/src/Controllers/LogController.php
+++ b/src/Controllers/LogController.php
@@ -46,8 +46,16 @@ class LogController
$lines = file_get_contents($path);
$lines = explode(PHP_EOL, str_replace(["\r", "\n"], PHP_EOL, $lines));
$lines = array_reverse($lines);
+
if (!empty($filter))
$lines = array_filter($lines, function($line) use ($filter) { return stripos($line, $filter) !== false; });
+
+ //stylize important lines
+ foreach ($lines as &$line)
+ if (strpos($line, 'flag') !== false)
+ $line = '**' . $line . '**';
+ unset($line);
+
$lines = join(PHP_EOL, $lines);
$lines = TextHelper::parseMarkdown($lines);
$lines = trim($lines);
diff --git a/src/Controllers/PostController.php b/src/Controllers/PostController.php
index 8e5b6bc7..17277043 100644
--- a/src/Controllers/PostController.php
+++ b/src/Controllers/PostController.php
@@ -132,12 +132,12 @@ class PostController
if (in_array($tag, $tags))
{
$tags = array_diff($tags, [$tag]);
- LogHelper::logEvent('post-tag-del', '+{user} untagged @{post} with #{tag}', ['post' => $post->id, 'tag' => $tag]);
+ LogHelper::logEvent('post-tag-del', '{user} untagged {post} with {tag}', ['post' => TextHelper::reprPost($post), 'tag' => TextHelper::reprTag($tag)]);
}
else
{
$tags += [$tag];
- LogHelper::logEvent('post-tag-add', '+{user} tagged @{post} with #{tag}', ['post' => $post->id, 'tag' => $tag]);
+ LogHelper::logEvent('post-tag-add', '{user} tagged {post} with {tag}', ['post' => TextHelper::reprPost($post), 'tag' => TextHelper::reprTag($tag)]);
}
$dbTags = Model_Tag::insertOrUpdate($tags);
@@ -345,11 +345,10 @@ class PostController
}
R::store($dbPost);
- LogHelper::logEvent('post-new',
- '+{user} added @{post} tagged with '
- . join(', ', array_map(function($dbTag) { return '#' . $dbTag->name; }, $dbTags))
- . ' marked as ' . PostSafety::toString($dbPost->safety),
- ['post' => $dbPost->id]);
+ LogHelper::logEvent('post-new', '{user} added {post} tagged with {tags} marked as {safety}', [
+ 'post' => TextHelper::reprPost($dbPost),
+ 'tags' => join(', ', array_map(['TextHelper', 'reprTag'], $dbTags)),
+ 'safety' => PostSafety::toString($dbPost->safety)]);
StatusHelper::success();
}
@@ -378,7 +377,7 @@ class PostController
$suppliedSafety = Model_Post::validateSafety($suppliedSafety);
$post->safety = $suppliedSafety;
$edited = true;
- LogHelper::logEvent('post-edit', '+{user} changed safety for @{post} to {safety}', ['post' => $post->id, 'safety' => PostSafety::toString($post->safety)]);
+ LogHelper::logEvent('post-edit', '{user} changed safety for {post} to {safety}', ['post' => TextHelper::reprPost($post), 'safety' => PostSafety::toString($post->safety)]);
}
@@ -399,9 +398,9 @@ class PostController
$edited = true;
foreach (array_diff($oldTags, $suppliedTags) as $tag)
- LogHelper::logEvent('post-tag-del', '+{user} untagged @{post} with #{tag}', ['post' => $post->id, 'tag' => $tag]);
+ LogHelper::logEvent('post-tag-del', '{user} untagged {post} with {tag}', ['post' => TextHelper::reprPost($post), 'tag' => TextHelper::reprTag($tag)]);
foreach (array_diff($suppliedTags, $oldTags) as $tag)
- LogHelper::logEvent('post-tag-add', '+{user} tagged @{post} with #{tag}', ['post' => $post->id, 'tag' => $tag]);
+ LogHelper::logEvent('post-tag-add', '{user} tagged {post} with {tag}', ['post' => TextHelper::reprPost($post), 'tag' => TextHelper::reprTag($tag)]);
}
@@ -423,7 +422,7 @@ class PostController
$path = $this->config->main->thumbsPath . DS . $post->name . '.custom';
move_uploaded_file($suppliedFile['tmp_name'], $path);
- LogHelper::logEvent('post-edit', '+{user} added custom thumb for @{post}', ['post' => $post->id]);
+ LogHelper::logEvent('post-edit', '{user} added custom thumb for {post}', ['post' => TextHelper::reprPost($post)]);
}
@@ -435,7 +434,7 @@ class PostController
$suppliedSource = Model_Post::validateSource($suppliedSource);
$post->source = $suppliedSource;
$edited = true;
- LogHelper::logEvent('post-edit', '+{user} changed source for @{post} to {source}', ['post' => $post->id, 'source' => $post->source]);
+ LogHelper::logEvent('post-edit', '{user} changed source for {post} to {source}', ['post' => TextHelper::reprPost($post), 'source' => $post->source]);
}
@@ -459,9 +458,9 @@ class PostController
$post->via('crossref')->sharedPost = $relatedPosts;
foreach (array_diff($oldRelatedIds, $relatedIds) as $post2id)
- LogHelper::logEvent('post-relation-del', '+{user} removed relation between @{post} and #{post2}', ['post' => $post->id, 'post2' => $post2id]);
+ LogHelper::logEvent('post-relation-del', '{user} removed relation between {post} and {post2}', ['post' => TextHelper::reprPost($post), 'post2' => TextHelper::reprPost($post2id)]);
foreach (array_diff($relatedIds, $oldRelatedIds) as $post2id)
- LogHelper::logEvent('post-relation-add', '+{user} added relation between @{post} and #{post2}', ['post' => $post->id, 'post2' => $post2id]);
+ LogHelper::logEvent('post-relation-add', '{user} added relation between {post} and {post2}', ['post' => TextHelper::reprPost($post), 'post2' => TextHelper::reprPost($post2id)]);
}
R::store($post);
@@ -492,7 +491,7 @@ class PostController
$flagged []= $key;
SessionHelper::set('flagged', $flagged);
- LogHelper::logEvent('post-flag', '**+{user} flagged @{post} for moderator attention**', ['post' => $post->id]);
+ LogHelper::logEvent('post-flag', '{user} flagged {post} for moderator attention', ['post' => TextHelper::reprPost($post)]);
StatusHelper::success();
}
}
@@ -513,7 +512,7 @@ class PostController
$post->hidden = true;
R::store($post);
- LogHelper::logEvent('post-hide', '+{user} hidden @{post}', ['post' => $post->id]);
+ LogHelper::logEvent('post-hide', '{user} hidden {post}', ['post' => TextHelper::reprPost($post)]);
StatusHelper::success();
}
}
@@ -534,7 +533,7 @@ class PostController
$post->hidden = false;
R::store($post);
- LogHelper::logEvent('post-unhide', '+{user} unhidden @{post}', ['post' => $post->id]);
+ LogHelper::logEvent('post-unhide', '{user} unhidden {post}', ['post' => TextHelper::reprPost($post)]);
StatusHelper::success();
}
}
@@ -563,7 +562,7 @@ class PostController
R::store($post);
R::trash($post);
- LogHelper::logEvent('post-delete', '+{user} deleted @{post}', ['post' => $id]);
+ LogHelper::logEvent('post-delete', '{user} deleted {post}', ['post' => TextHelper::reprPost($id)]);
StatusHelper::success();
}
}
@@ -666,7 +665,7 @@ class PostController
Model_Property::set(Model_Property::FeaturedPostUserId, $this->context->user->id);
Model_Property::set(Model_Property::FeaturedPostDate, time());
StatusHelper::success();
- LogHelper::logEvent('post-feature', '+{user} featured @{post} on main page', ['post' => $post->id]);
+ LogHelper::logEvent('post-feature', '{user} featured {post} on main page', ['post' => TextHelper::reprPost($post)]);
}
diff --git a/src/Controllers/TagController.php b/src/Controllers/TagController.php
index 70c36cad..9f0f4f86 100644
--- a/src/Controllers/TagController.php
+++ b/src/Controllers/TagController.php
@@ -71,7 +71,7 @@ class TagController
R::trash($sourceTag);
\Chibi\UrlHelper::forward(\Chibi\UrlHelper::route('tag', 'list'));
- LogHelper::logEvent('tag-merge', '+{user} merged #{source} with #{target}', ['source' => $suppliedSourceTag, 'target' => $suppliedTargetTag]);
+ LogHelper::logEvent('tag-merge', '{user} merged {source} with {target}', ['source' => TextHelper::reprTag($suppliedSourceTag), 'target' => TextHelper::reprTag($suppliedTargetTag)]);
StatusHelper::success();
}
}
@@ -103,7 +103,7 @@ class TagController
R::store($sourceTag);
\Chibi\UrlHelper::forward(\Chibi\UrlHelper::route('tag', 'list'));
- LogHelper::logEvent('tag-rename', '+{user} renamed #{source} to #{target}', ['source' => $suppliedSourceTag, 'target' => $suppliedTargetTag]);
+ LogHelper::logEvent('tag-rename', '{user} renamed {source} to {target}', ['source' => TextHelper::reprTag($suppliedSourceTag), 'target' => TextHelper::reprTag($suppliedTargetTag)]);
StatusHelper::success();
}
}
diff --git a/src/Controllers/UserController.php b/src/Controllers/UserController.php
index ec16c3fb..32914b11 100644
--- a/src/Controllers/UserController.php
+++ b/src/Controllers/UserController.php
@@ -50,7 +50,7 @@ class UserController
$encodedSubject = '=?UTF-8?B?' . base64_encode($subject) . '?=';
mail($recipientEmail, $encodedSubject, $body, implode("\r\n", $headers), '-f' . $senderEmail);
- LogHelper::logEvent('mail', 'Sending e-mail with subject "' . $subject . '" to ' . $recipientEmail);
+ LogHelper::logEvent('mail', 'Sending e-mail with subject "{subject}" to {mail}', ['subject' => $subject, 'mail' => $recipientEmail]);
}
private static function sendEmailChangeConfirmation($user)
@@ -156,7 +156,7 @@ class UserController
$flagged []= $key;
SessionHelper::set('flagged', $flagged);
- LogHelper::logEvent('user-flag', '**+{user} flagged +{subject} for moderator attention**', ['subject' => $user->name]);
+ LogHelper::logEvent('user-flag', '{user} flagged {subject} for moderator attention', ['subject' => TextHelper::reprUser($user)]);
StatusHelper::success();
}
}
@@ -177,7 +177,7 @@ class UserController
$user->banned = true;
R::store($user);
- LogHelper::logEvent('ban', '+{user} banned +{subject}', ['subject' => $user->name]);
+ LogHelper::logEvent('ban', '{user} banned {subject}', ['subject' => TextHelper::reprUser($user)]);
StatusHelper::success();
}
}
@@ -198,7 +198,7 @@ class UserController
$user->banned = false;
R::store($user);
- LogHelper::logEvent('unban', '+{user} unbanned +{subject}', ['subject' => $user->name]);
+ LogHelper::logEvent('unban', '{user} unbanned {subject}', ['subject' => TextHelper::reprUser($user)]);
StatusHelper::success();
}
}
@@ -217,7 +217,7 @@ class UserController
{
$user->staff_confirmed = true;
R::store($user);
- LogHelper::logEvent('reg-accept', '+{user} confirmed account for +{subject}', ['subject' => $user->name]);
+ LogHelper::logEvent('reg-accept', '{user} confirmed account for {subject}', ['subject' => TextHelper::reprUser($user)]);
StatusHelper::success();
}
}
@@ -270,7 +270,7 @@ class UserController
R::trash($user);
\Chibi\UrlHelper::forward(\Chibi\UrlHelper::route('index', 'index'));
- LogHelper::logEvent('user-del', '+{user} removed account for +{subject}', ['subject' => $name]);
+ LogHelper::logEvent('user-del', '{user} removed account for {subject}', ['subject' => TextHelper::reprUser($name)]);
StatusHelper::success();
}
}
@@ -353,7 +353,7 @@ class UserController
$suppliedName = Model_User::validateUserName($suppliedName);
$oldName = $user->name;
$user->name = $suppliedName;
- LogHelper::logEvent('user-edit', '+{user} renamed +{old} to +{new}', ['old' => $oldName, 'new' => $suppliedName]);
+ LogHelper::logEvent('user-edit', '{user} renamed {old} to {new}', ['old' => TextHelper::reprUser($oldName), 'new' => TextHelper::reprUser($suppliedName)]);
}
if ($suppliedPassword1 != '')
@@ -363,7 +363,7 @@ class UserController
throw new SimpleException('Specified passwords must be the same');
$suppliedPassword = Model_User::validatePassword($suppliedPassword1);
$user->pass_hash = Model_User::hashPassword($suppliedPassword, $user->pass_salt);
- LogHelper::logEvent('user-edit', '+{user} changed password for +{subject}', ['subject' => $user->name]);
+ LogHelper::logEvent('user-edit', '{user} changed password for {subject}', ['subject' => TextHelper::reprUser($user)]);
}
if ($suppliedEmail != '' and $suppliedEmail != $user->email_confirmed)
@@ -375,13 +375,13 @@ class UserController
$user->email_unconfirmed = $suppliedEmail;
if (!empty($user->email_unconfirmed))
$confirmMail = true;
- LogHelper::logEvent('user-edit', '+{user} changed e-mail to {mail}', ['mail' => $suppliedEmail]);
+ LogHelper::logEvent('user-edit', '{user} changed e-mail to {mail}', ['mail' => $suppliedEmail]);
}
else
{
$user->email_unconfirmed = null;
$user->email_confirmed = $suppliedEmail;
- LogHelper::logEvent('user-edit', '+{user} changed e-mail for +{subject} to {mail}', ['subject' => $user->name, 'mail' => $suppliedEmail]);
+ LogHelper::logEvent('user-edit', '{user} changed e-mail for {subject} to {mail}', ['subject' => TextHelper::reprUser($user), 'mail' => $suppliedEmail]);
}
}
@@ -390,7 +390,7 @@ class UserController
PrivilegesHelper::confirmWithException(Privilege::ChangeUserAccessRank, PrivilegesHelper::getIdentitySubPrivilege($user));
$suppliedAccessRank = Model_User::validateAccessRank($suppliedAccessRank);
$user->access_rank = $suppliedAccessRank;
- LogHelper::logEvent('user-edit', '+{user} changed access rank for +{subject} to {rank}', ['subject' => $user->name, 'rank' => AccessRank::toString($suppliedAccessRank)]);
+ LogHelper::logEvent('user-edit', '{user} changed access rank for {subject} to {rank}', ['subject' => TextHelper::reprUser($user), 'rank' => AccessRank::toString($suppliedAccessRank)]);
}
if ($this->context->user->id == $user->id)
@@ -572,7 +572,7 @@ class UserController
elseif ($this->config->registration->staffActivation)
$message .= ' Your registration must be now confirmed by staff.';
- LogHelper::logEvent('user-reg', '+{subject} just signed up', ['subject' => $dbUser->name]);
+ LogHelper::logEvent('user-reg', '{subject} just signed up', ['subject' => TextHelper::reprUser($dbUser)]);
StatusHelper::success($message);
if (!$this->config->registration->needEmailForRegistering and !$this->config->registration->staffActivation)
@@ -602,7 +602,7 @@ class UserController
R::store($dbToken);
R::store($dbUser);
- LogHelper::logEvent('user-activation', '+{subject} just activated account', ['subject' => $dbUser->name]);
+ LogHelper::logEvent('user-activation', '{subject} just activated account', ['subject' => TextHelper::reprUser($dbUser)]);
$message = 'Activation completed successfully.';
if ($this->config->registration->staffActivation)
$message .= ' However, your account still must be confirmed by staff.';
@@ -639,7 +639,7 @@ class UserController
R::store($dbToken);
R::store($dbUser);
- LogHelper::logEvent('user-pass-reset', '+{subject} just reset password', ['subject' => $dbUser->name]);
+ LogHelper::logEvent('user-pass-reset', '{subject} just reset password', ['subject' => TextHelper::reprUser($dbUser)]);
$message = 'Password reset successful. Your new password is **' . $randomPassword . '**.';
StatusHelper::success($message);
diff --git a/src/Helpers/LogHelper.php b/src/Helpers/LogHelper.php
index a2724c4d..24701314 100644
--- a/src/Helpers/LogHelper.php
+++ b/src/Helpers/LogHelper.php
@@ -46,7 +46,7 @@ class LogHelper
public static function log($text, array $tokens = [])
{
if (isset(self::$context->user))
- $tokens['user'] = self::$context->user->name;
+ $tokens['user'] = TextHelper::reprUser(self::$context->user->name);
$text = TextHelper::replaceTokens($text, $tokens);
diff --git a/src/Helpers/TextHelper.php b/src/Helpers/TextHelper.php
index 5652a61b..f580615f 100644
--- a/src/Helpers/TextHelper.php
+++ b/src/Helpers/TextHelper.php
@@ -182,16 +182,22 @@ class TextHelper
public static function reprPost($post)
{
+ if (!is_object($post))
+ return '@' . $post;
return '@' . $post->id;
}
public static function reprUser($user)
{
+ if (!is_object($user))
+ return '+' . $user;
return '+' . $user->name;
}
public static function reprTag($tag)
{
+ if (!is_object($tag))
+ return '#' . $tag;
return '#' . $tag->name;
}